; 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 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_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_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_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_cancel_addr = internal global ptr null @g_g_toggled_layers = internal global ptr null @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 [23 x i8] c"unexpected character '\00" @.str2 = private unnamed_addr constant [9 x i8] c"' (byte \00" @.str3 = private unnamed_addr constant [2 x i8] c")\00" @.str4 = private unnamed_addr constant [2 x i8] c":\00" @.str5 = private unnamed_addr constant [10 x i8] c": error: \00" @.str6 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" @.str8 = private unnamed_addr constant [1 x i8] c"\00" @.str9 = private unnamed_addr constant [2 x i8] c":\00" @.str10 = private unnamed_addr constant [10 x i8] c": error: \00" @.str11 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12 = private unnamed_addr constant [12 x i8] c"end of file\00" @.str13 = private unnamed_addr constant [12 x i8] c"end of line\00" @.str14 = private unnamed_addr constant [8 x i8] c"number \00" @.str15 = private unnamed_addr constant [9 x i8] c"string \22\00" @.str16 = private unnamed_addr constant [2 x i8] c"\22\00" @.str17 = private unnamed_addr constant [2 x i8] c"'\00" @.str18 = private unnamed_addr constant [2 x i8] c"'\00" @.str19 = private unnamed_addr constant [11 x i8] c"expected '\00" @.str20 = private unnamed_addr constant [8 x i8] c"', got \00" @.str21 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" @.str22 = private unnamed_addr constant [2 x i8] c"[\00" @.str23 = private unnamed_addr constant [2 x i8] c"]\00" @.str24 = private unnamed_addr constant [2 x i8] c"(\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 [2 x i8] c":\00" @.str28 = private unnamed_addr constant [2 x i8] c",\00" @.str29 = private unnamed_addr constant [2 x i8] c")\00" @.str30 = private unnamed_addr constant [2 x i8] c"+\00" @.str31 = private unnamed_addr constant [7 x i8] c"string\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 [2 x i8] c")\00" @.str37 = private unnamed_addr constant [2 x i8] c"[\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 [5 x i8] c"emit\00" @.str43 = private unnamed_addr constant [5 x i8] c"true\00" @.str44 = private unnamed_addr constant [6 x i8] c"false\00" @.str45 = private unnamed_addr constant [5 x i8] c"null\00" @.str46 = private unnamed_addr constant [4 x i8] c"new\00" @.str47 = private unnamed_addr constant [2 x i8] c"{\00" @.str48 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str49 = private unnamed_addr constant [3 x i8] c"fn\00" @.str50 = private unnamed_addr constant [4 x i8] c"and\00" @.str51 = private unnamed_addr constant [3 x i8] c"or\00" @.str52 = private unnamed_addr constant [4 x i8] c"not\00" @.str53 = private unnamed_addr constant [3 x i8] c"in\00" @.str54 = private unnamed_addr constant [3 x i8] c"is\00" @.str55 = private unnamed_addr constant [4 x i8] c"try\00" @.str56 = private unnamed_addr constant [5 x i8] c"else\00" @.str57 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str58 = private unnamed_addr constant [2 x i8] c"(\00" @.str59 = private unnamed_addr constant [2 x i8] c")\00" @.str60 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str61 = private unnamed_addr constant [2 x i8] c".\00" @.str62 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str63 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str64 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str65 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str66 = private unnamed_addr constant [4 x i8] c"Set\00" @.str67 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str68 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str69 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str70 = private unnamed_addr constant [4 x i8] c"Job\00" @.str71 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str72 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str73 = private unnamed_addr constant [6 x i8] c"Query\00" @.str74 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str75 = private unnamed_addr constant [6 x i8] c"Light\00" @.str76 = private unnamed_addr constant [6 x i8] c"Value\00" @.str77 = private unnamed_addr constant [5 x i8] c"Json\00" @.str78 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str79 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str80 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str81 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str82 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str83 = private unnamed_addr constant [5 x i8] c"cell\00" @.str84 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str85 = private unnamed_addr constant [7 x i8] c"define\00" @.str86 = private unnamed_addr constant [6 x i8] c"named\00" @.str87 = private unnamed_addr constant [5 x i8] c"draw\00" @.str88 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str89 = private unnamed_addr constant [6 x i8] c"width\00" @.str90 = private unnamed_addr constant [7 x i8] c"height\00" @.str91 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str92 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str93 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str94 = private unnamed_addr constant [6 x i8] c"apply\00" @.str95 = private unnamed_addr constant [6 x i8] c"Input\00" @.str96 = private unnamed_addr constant [5 x i8] c"bind\00" @.str97 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str98 = private unnamed_addr constant [5 x i8] c"poll\00" @.str99 = private unnamed_addr constant [5 x i8] c"down\00" @.str100 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str101 = private unnamed_addr constant [7 x i8] c"record\00" @.str102 = private unnamed_addr constant [7 x i8] c"replay\00" @.str103 = private unnamed_addr constant [7 x i8] c"action\00" @.str104 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str105 = private unnamed_addr constant [7 x i8] c"active\00" @.str106 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str107 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str108 = private unnamed_addr constant [6 x i8] c"Input\00" @.str109 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str110 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str111 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str112 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str113 = private unnamed_addr constant [6 x i8] c"press\00" @.str114 = private unnamed_addr constant [8 x i8] c"release\00" @.str115 = private unnamed_addr constant [5 x i8] c"axis\00" @.str116 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str117 = private unnamed_addr constant [7 x i8] c"vector\00" @.str118 = private unnamed_addr constant [9 x i8] c"strength\00" @.str119 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str120 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str121 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str122 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str123 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str124 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str125 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str126 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str127 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str128 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str129 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str130 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str131 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str132 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str133 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str134 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str135 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str136 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str137 = private unnamed_addr constant [5 x i8] c"play\00" @.str138 = private unnamed_addr constant [5 x i8] c"clip\00" @.str139 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str140 = private unnamed_addr constant [6 x i8] c"fired\00" @.str141 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str142 = private unnamed_addr constant [3 x i8] c"to\00" @.str143 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str144 = private unnamed_addr constant [5 x i8] c"Http\00" @.str145 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str146 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str147 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str148 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str149 = private unnamed_addr constant [3 x i8] c"to\00" @.str150 = private unnamed_addr constant [6 x i8] c"chain\00" @.str151 = private unnamed_addr constant [6 x i8] c"delay\00" @.str152 = private unnamed_addr constant [6 x i8] c"value\00" @.str153 = private unnamed_addr constant [5 x i8] c"stop\00" @.str154 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str155 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str156 = private unnamed_addr constant [2 x i8] c"[\00" @.str157 = private unnamed_addr constant [3 x i8] c"..\00" @.str158 = private unnamed_addr constant [2 x i8] c"]\00" @.str159 = private unnamed_addr constant [2 x i8] c"]\00" @.str160 = private unnamed_addr constant [2 x i8] c"(\00" @.str161 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str162 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str163 = private unnamed_addr constant [2 x i8] c"-\00" @.str164 = private unnamed_addr constant [2 x i8] c"-\00" @.str165 = private unnamed_addr constant [2 x i8] c"~\00" @.str166 = private unnamed_addr constant [2 x i8] c"~\00" @.str167 = private unnamed_addr constant [4 x i8] c"not\00" @.str168 = private unnamed_addr constant [4 x i8] c"not\00" @.str169 = private unnamed_addr constant [2 x i8] c"*\00" @.str170 = private unnamed_addr constant [2 x i8] c"/\00" @.str171 = private unnamed_addr constant [2 x i8] c"%\00" @.str172 = private unnamed_addr constant [3 x i8] c"<<\00" @.str173 = private unnamed_addr constant [3 x i8] c">>\00" @.str174 = private unnamed_addr constant [2 x i8] c"&\00" @.str175 = private unnamed_addr constant [2 x i8] c"+\00" @.str176 = private unnamed_addr constant [2 x i8] c"-\00" @.str177 = private unnamed_addr constant [2 x i8] c"|\00" @.str178 = private unnamed_addr constant [2 x i8] c"^\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 [3 x i8] c">=\00" @.str183 = private unnamed_addr constant [3 x i8] c"==\00" @.str184 = private unnamed_addr constant [3 x i8] c"!=\00" @.str185 = private unnamed_addr constant [4 x i8] c"and\00" @.str186 = private unnamed_addr constant [4 x i8] c"and\00" @.str187 = private unnamed_addr constant [3 x i8] c"or\00" @.str188 = private unnamed_addr constant [3 x i8] c"or\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 [2 x i8] c":\00" @.str192 = private unnamed_addr constant [2 x i8] c",\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 [2 x i8] c"}\00" @.str197 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str198 = private unnamed_addr constant [2 x i8] c"}\00" @.str199 = private unnamed_addr constant [4 x i8] c"let\00" @.str200 = private unnamed_addr constant [4 x i8] c"var\00" @.str201 = private unnamed_addr constant [4 x i8] c"var\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 [7 x i8] c"return\00" @.str205 = private unnamed_addr constant [2 x i8] c"}\00" @.str206 = private unnamed_addr constant [3 x i8] c"if\00" @.str207 = private unnamed_addr constant [5 x i8] c"else\00" @.str208 = private unnamed_addr constant [3 x i8] c"if\00" @.str209 = private unnamed_addr constant [6 x i8] c"while\00" @.str210 = private unnamed_addr constant [4 x i8] c"for\00" @.str211 = private unnamed_addr constant [2 x i8] c"(\00" @.str212 = private unnamed_addr constant [3 x i8] c"..\00" @.str213 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str214 = private unnamed_addr constant [8 x i8] c"machine\00" @.str215 = private unnamed_addr constant [2 x i8] c"{\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 [5 x i8] c"emit\00" @.str220 = private unnamed_addr constant [7 x i8] c"become\00" @.str221 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str222 = private unnamed_addr constant [7 x i8] c"enable\00" @.str223 = private unnamed_addr constant [8 x i8] c"disable\00" @.str224 = private unnamed_addr constant [7 x i8] c"enable\00" @.str225 = private unnamed_addr constant [6 x i8] c"layer\00" @.str226 = private unnamed_addr constant [6 x i8] c"layer\00" @.str227 = private unnamed_addr constant [7 x i8] c"system\00" @.str228 = private unnamed_addr constant [7 x i8] c"system\00" @.str229 = private unnamed_addr constant [3 x i8] c"on\00" @.str230 = private unnamed_addr constant [7 x i8] c"attach\00" @.str231 = private unnamed_addr constant [3 x i8] c"on\00" @.str232 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str233 = private unnamed_addr constant [2 x i8] c"{\00" @.str234 = private unnamed_addr constant [7 x i8] c"detach\00" @.str235 = private unnamed_addr constant [3 x i8] c"on\00" @.str236 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str237 = private unnamed_addr constant [6 x i8] c"break\00" @.str238 = private unnamed_addr constant [9 x i8] c"continue\00" @.str239 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str240 = private unnamed_addr constant [6 x i8] c"match\00" @.str241 = private unnamed_addr constant [2 x i8] c"{\00" @.str242 = private unnamed_addr constant [2 x i8] c"}\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 [2 x i8] c"{\00" @.str246 = private unnamed_addr constant [2 x i8] c"}\00" @.str247 = private unnamed_addr constant [2 x i8] c"=\00" @.str248 = private unnamed_addr constant [3 x i8] c"+=\00" @.str249 = private unnamed_addr constant [3 x i8] c"-=\00" @.str250 = private unnamed_addr constant [3 x i8] c"*=\00" @.str251 = private unnamed_addr constant [3 x i8] c"/=\00" @.str252 = private unnamed_addr constant [2 x i8] c":\00" @.str253 = private unnamed_addr constant [2 x i8] c"=\00" @.str254 = private unnamed_addr constant [2 x i8] c":\00" @.str255 = private unnamed_addr constant [2 x i8] c"=\00" @.str256 = private unnamed_addr constant [4 x i8] c"new\00" @.str257 = private unnamed_addr constant [6 x i8] c"match\00" @.str258 = private unnamed_addr constant [8 x i8] c"machine\00" @.str259 = private unnamed_addr constant [7 x i8] c"become\00" @.str260 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str261 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str262 = private unnamed_addr constant [6 x i8] c"query\00" @.str263 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str264 = private unnamed_addr constant [6 x i8] c"scene\00" @.str265 = private unnamed_addr constant [6 x i8] c"layer\00" @.str266 = private unnamed_addr constant [8 x i8] c"handler\00" @.str267 = private unnamed_addr constant [9 x i8] c"property\00" @.str268 = private unnamed_addr constant [6 x i8] c"model\00" @.str269 = private unnamed_addr constant [5 x i8] c"enum\00" @.str270 = private unnamed_addr constant [6 x i8] c"event\00" @.str271 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str272 = private unnamed_addr constant [9 x i8] c"function\00" @.str273 = private unnamed_addr constant [4 x i8] c"let\00" @.str274 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str275 = private unnamed_addr constant [4 x i8] c"var\00" @.str276 = private unnamed_addr constant [6 x i8] c"const\00" @.str277 = private unnamed_addr constant [3 x i8] c"if\00" @.str278 = private unnamed_addr constant [5 x i8] c"else\00" @.str279 = private unnamed_addr constant [6 x i8] c"while\00" @.str280 = private unnamed_addr constant [4 x i8] c"for\00" @.str281 = private unnamed_addr constant [7 x i8] c"return\00" @.str282 = private unnamed_addr constant [7 x i8] c"import\00" @.str283 = private unnamed_addr constant [8 x i8] c"program\00" @.str284 = private unnamed_addr constant [6 x i8] c"entry\00" @.str285 = private unnamed_addr constant [3 x i8] c"ui\00" @.str286 = private unnamed_addr constant [6 x i8] c"break\00" @.str287 = private unnamed_addr constant [9 x i8] c"continue\00" @.str288 = private unnamed_addr constant [4 x i8] c"and\00" @.str289 = private unnamed_addr constant [3 x i8] c"or\00" @.str290 = private unnamed_addr constant [4 x i8] c"not\00" @.str291 = private unnamed_addr constant [5 x i8] c"true\00" @.str292 = private unnamed_addr constant [6 x i8] c"false\00" @.str293 = private unnamed_addr constant [5 x i8] c"null\00" @.str294 = private unnamed_addr constant [2 x i8] c"(\00" @.str295 = private unnamed_addr constant [2 x i8] c"'\00" @.str296 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str297 = private unnamed_addr constant [2 x i8] c")\00" @.str298 = private unnamed_addr constant [2 x i8] c":\00" @.str299 = private unnamed_addr constant [2 x i8] c",\00" @.str300 = private unnamed_addr constant [2 x i8] c")\00" @.str301 = private unnamed_addr constant [5 x i8] c"void\00" @.str302 = private unnamed_addr constant [3 x i8] c"->\00" @.str303 = private unnamed_addr constant [2 x i8] c"{\00" @.str304 = private unnamed_addr constant [2 x i8] c"}\00" @.str305 = private unnamed_addr constant [7 x i8] c"export\00" @.str306 = private unnamed_addr constant [9 x i8] c"internal\00" @.str307 = private unnamed_addr constant [9 x i8] c"function\00" @.str308 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str309 = private unnamed_addr constant [2 x i8] c"}\00" @.str310 = private unnamed_addr constant [2 x i8] c"_\00" @.str311 = private unnamed_addr constant [3 x i8] c"OS\00" @.str312 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str313 = private unnamed_addr constant [1 x i8] c"\00" @.str314 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str315 = private unnamed_addr constant [1 x i8] c"\00" @.str316 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str317 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str318 = private unnamed_addr constant [1 x i8] c"\00" @.str319 = private unnamed_addr constant [3 x i8] c"rb\00" @.str320 = private unnamed_addr constant [5 x i8] c".exe\00" @.str321 = private unnamed_addr constant [3 x i8] c"rb\00" @.str322 = private unnamed_addr constant [1 x i8] c"\00" @.str323 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str324 = 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" @.str325 = private unnamed_addr constant [2 x i8] c"@\00" @.str326 = private unnamed_addr constant [7 x i8] c"export\00" @.str327 = private unnamed_addr constant [7 x i8] c"Public\00" @.str328 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00" @.str332 = private unnamed_addr constant [8 x i8] c"OnSpawn\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 [10 x i8] c"OnDespawn\00" @.str336 = private unnamed_addr constant [2 x i8] c"(\00" @.str337 = private unnamed_addr constant [2 x i8] c",\00" @.str338 = private unnamed_addr constant [2 x i8] c":\00" @.str339 = private unnamed_addr constant [2 x i8] c")\00" @.str340 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str341 = private unnamed_addr constant [2 x i8] c"(\00" @.str342 = private unnamed_addr constant [2 x i8] c")\00" @.str343 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str344 = private unnamed_addr constant [2 x i8] c"(\00" @.str345 = private unnamed_addr constant [2 x i8] c")\00" @.str346 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str347 = private unnamed_addr constant [2 x i8] c"(\00" @.str348 = private unnamed_addr constant [2 x i8] c")\00" @.str349 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str350 = private unnamed_addr constant [2 x i8] c"(\00" @.str351 = private unnamed_addr constant [2 x i8] c")\00" @.str352 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str353 = private unnamed_addr constant [6 x i8] c"Start\00" @.str354 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str355 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str356 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str357 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str358 = private unnamed_addr constant [7 x i8] c"Server\00" @.str359 = private unnamed_addr constant [7 x i8] c"server\00" @.str360 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str361 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str362 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str363 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str364 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str365 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str366 = private unnamed_addr constant [7 x i8] c"System\00" @.str367 = private unnamed_addr constant [7 x i8] c"Update\00" @.str368 = private unnamed_addr constant [2 x i8] c"(\00" @.str369 = private unnamed_addr constant [2 x i8] c")\00" @.str370 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str371 = private unnamed_addr constant [2 x i8] c"(\00" @.str372 = private unnamed_addr constant [2 x i8] c",\00" @.str373 = private unnamed_addr constant [2 x i8] c")\00" @.str374 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str375 = private unnamed_addr constant [2 x i8] c"(\00" @.str376 = private unnamed_addr constant [2 x i8] c")\00" @.str377 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str378 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str379 = private unnamed_addr constant [2 x i8] c"(\00" @.str380 = private unnamed_addr constant [2 x i8] c")\00" @.str381 = private unnamed_addr constant [2 x i8] c"(\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 [7 x i8] c"import\00" @.str385 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str386 = private unnamed_addr constant [5 x i8] c"enum\00" @.str387 = private unnamed_addr constant [6 x i8] c"event\00" @.str388 = private unnamed_addr constant [9 x i8] c"property\00" @.str389 = private unnamed_addr constant [6 x i8] c"model\00" @.str390 = private unnamed_addr constant [6 x i8] c"scene\00" @.str391 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str392 = private unnamed_addr constant [8 x i8] c"handler\00" @.str393 = private unnamed_addr constant [7 x i8] c"server\00" @.str394 = private unnamed_addr constant [7 x i8] c"model_\00" @.str395 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str396 = private unnamed_addr constant [7 x i8] c"model_\00" @.str397 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str398 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str399 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str400 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str401 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str402 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str403 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str404 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str405 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str406 = private unnamed_addr constant [6 x i8] c"Start\00" @.str407 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str408 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str409 = private unnamed_addr constant [3 x i8] c"ui\00" @.str410 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str411 = private unnamed_addr constant [4 x i8] c"var\00" @.str412 = private unnamed_addr constant [6 x i8] c"const\00" @.str413 = private unnamed_addr constant [9 x i8] c"function\00" @.str414 = private unnamed_addr constant [7 x i8] c"extern\00" @.str415 = private unnamed_addr constant [6 x i8] c"entry\00" @.str416 = private unnamed_addr constant [5 x i8] c"test\00" @.str417 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str418 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str419 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str420 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str421 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str422 = private unnamed_addr constant [2 x i8] c"/\00" @.str423 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str424 = private unnamed_addr constant [1 x i8] c"\00" @.str425 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str426 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str427 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str428 = private unnamed_addr constant [1 x i8] c"\00" @.str429 = private unnamed_addr constant [9 x i8] c"import: \00" @.str430 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str431 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str432 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str433 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str434 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str435 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str436 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str437 = private unnamed_addr constant [1 x i8] c"\00" @.str438 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str439 = private unnamed_addr constant [1 x i8] c"\00" @.str440 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str441 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str442 = private unnamed_addr constant [1 x i8] c"\00" @.str443 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str444 = private unnamed_addr constant [1 x i8] c"\00" @.str445 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str446 = private unnamed_addr constant [1 x i8] c"\00" @.str447 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str448 = private unnamed_addr constant [1 x i8] c"\00" @.str449 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str450 = private unnamed_addr constant [1 x i8] c"\00" @.str451 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str452 = private unnamed_addr constant [1 x i8] c"\00" @.str453 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str454 = private unnamed_addr constant [1 x i8] c"\00" @.str455 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str456 = private unnamed_addr constant [1 x i8] c"\00" @.str457 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str458 = private unnamed_addr constant [1 x i8] c"\00" @.str459 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str460 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str461 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str462 = private unnamed_addr constant [1 x i8] c"\00" @.str463 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str464 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str465 = private unnamed_addr constant [1 x i8] c"\00" @.str466 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str467 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str468 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str469 = private unnamed_addr constant [1 x i8] c"\00" @.str470 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str471 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str472 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str473 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str474 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str475 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str476 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str477 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str478 = private unnamed_addr constant [1 x i8] c"\00" @.str479 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str480 = private unnamed_addr constant [1 x i8] c"\00" @.str481 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str482 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str483 = private unnamed_addr constant [1 x i8] c"\00" @.str484 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str485 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str486 = private unnamed_addr constant [1 x i8] c"\00" @.str487 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str488 = private unnamed_addr constant [1 x i8] c"\00" @.str489 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str490 = private unnamed_addr constant [1 x i8] c"\00" @.str491 = private unnamed_addr constant [25 x i8] c"runtime/native/udp.ludic\00" @.str492 = private unnamed_addr constant [1 x i8] c"\00" @.str493 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str494 = private unnamed_addr constant [1 x i8] c"\00" @.str495 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str496 = private unnamed_addr constant [1 x i8] c"\00" @.str497 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str498 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str499 = private unnamed_addr constant [1 x i8] c"\00" @.str500 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str501 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str502 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str503 = private unnamed_addr constant [5 x i8] c"Body\00" @.str504 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str505 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str506 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str507 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str508 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str509 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str510 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str511 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str512 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str513 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str514 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str515 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str516 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str517 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str518 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str519 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str520 = private unnamed_addr constant [7 x i8] c"Update\00" @.str521 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str522 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str523 = private unnamed_addr constant [7 x i8] c"Update\00" @.str524 = private unnamed_addr constant [5 x i8] c"Body\00" @.str525 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str526 = private unnamed_addr constant [7 x i8] c"Update\00" @.str527 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str528 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str529 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str530 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str531 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str532 = private unnamed_addr constant [7 x i8] c"Render\00" @.str533 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str534 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str535 = private unnamed_addr constant [7 x i8] c"Render\00" @.str536 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str537 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str538 = private unnamed_addr constant [7 x i8] c"Render\00" @.str539 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str540 = private unnamed_addr constant [7 x i8] c"import\00" @.str541 = private unnamed_addr constant [2 x i8] c"@\00" @.str542 = private unnamed_addr constant [2 x i8] c"(\00" @.str543 = private unnamed_addr constant [2 x i8] c"(\00" @.str544 = private unnamed_addr constant [2 x i8] c")\00" @.str545 = private unnamed_addr constant [8 x i8] c"program\00" @.str546 = private unnamed_addr constant [2 x i8] c"{\00" @.str547 = private unnamed_addr constant [2 x i8] c"}\00" @.str548 = private unnamed_addr constant [2 x i8] c"{\00" @.str549 = private unnamed_addr constant [2 x i8] c"}\00" @.str550 = private unnamed_addr constant [2 x i8] c"@\00" @.str551 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str552 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str553 = private unnamed_addr constant [2 x i8] c":\00" @.str554 = private unnamed_addr constant [2 x i8] c"=\00" @.str555 = private unnamed_addr constant [2 x i8] c",\00" @.str556 = private unnamed_addr constant [2 x i8] c"}\00" @.str557 = private unnamed_addr constant [12 x i8] c"cancellable\00" @.str558 = private unnamed_addr constant [2 x i8] c"{\00" @.str559 = private unnamed_addr constant [2 x i8] c"}\00" @.str560 = private unnamed_addr constant [2 x i8] c":\00" @.str561 = private unnamed_addr constant [2 x i8] c"=\00" @.str562 = private unnamed_addr constant [2 x i8] c",\00" @.str563 = private unnamed_addr constant [2 x i8] c"}\00" @.str564 = private unnamed_addr constant [7 x i8] c"Update\00" @.str565 = private unnamed_addr constant [2 x i8] c"@\00" @.str566 = private unnamed_addr constant [2 x i8] c"(\00" @.str567 = private unnamed_addr constant [2 x i8] c"(\00" @.str568 = private unnamed_addr constant [2 x i8] c")\00" @.str569 = private unnamed_addr constant [6 x i8] c"phase\00" @.str570 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str571 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\00" @.str572 = private unnamed_addr constant [2 x i8] c"[\00" @.str573 = private unnamed_addr constant [2 x i8] c"]\00" @.str574 = private unnamed_addr constant [2 x i8] c"{\00" @.str575 = private unnamed_addr constant [2 x i8] c"}\00" @.str576 = private unnamed_addr constant [2 x i8] c",\00" @.str577 = private unnamed_addr constant [2 x i8] c"]\00" @.str578 = private unnamed_addr constant [6 x i8] c"where\00" @.str579 = private unnamed_addr constant [2 x i8] c"(\00" @.str580 = private unnamed_addr constant [2 x i8] c")\00" @.str581 = private unnamed_addr constant [2 x i8] c",\00" @.str582 = private unnamed_addr constant [2 x i8] c")\00" @.str583 = private unnamed_addr constant [6 x i8] c"query\00" @.str584 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str585 = private unnamed_addr constant [4 x i8] c"and\00" @.str586 = private unnamed_addr constant [2 x i8] c"(\00" @.str587 = private unnamed_addr constant [2 x i8] c")\00" @.str588 = private unnamed_addr constant [2 x i8] c")\00" @.str589 = private unnamed_addr constant [2 x i8] c":\00" @.str590 = private unnamed_addr constant [6 x i8] c"these\00" @.str591 = private unnamed_addr constant [2 x i8] c"[\00" @.str592 = private unnamed_addr constant [2 x i8] c"]\00" @.str593 = private unnamed_addr constant [2 x i8] c"{\00" @.str594 = private unnamed_addr constant [2 x i8] c"}\00" @.str595 = private unnamed_addr constant [2 x i8] c",\00" @.str596 = private unnamed_addr constant [2 x i8] c"]\00" @.str597 = private unnamed_addr constant [3 x i8] c"on\00" @.str598 = private unnamed_addr constant [2 x i8] c",\00" @.str599 = private unnamed_addr constant [2 x i8] c")\00" @.str600 = private unnamed_addr constant [2 x i8] c"{\00" @.str601 = private unnamed_addr constant [2 x i8] c"}\00" @.str602 = private unnamed_addr constant [2 x i8] c"}\00" @.str603 = private unnamed_addr constant [2 x i8] c",\00" @.str604 = private unnamed_addr constant [2 x i8] c":\00" @.str605 = private unnamed_addr constant [2 x i8] c"{\00" @.str606 = private unnamed_addr constant [2 x i8] c"}\00" @.str607 = private unnamed_addr constant [6 x i8] c"start\00" @.str608 = private unnamed_addr constant [7 x i8] c"public\00" @.str609 = private unnamed_addr constant [6 x i8] c"shows\00" @.str610 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str611 = private unnamed_addr constant [6 x i8] c"loads\00" @.str612 = private unnamed_addr constant [6 x i8] c"start\00" @.str613 = private unnamed_addr constant [6 x i8] c"shows\00" @.str614 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str615 = private unnamed_addr constant [5 x i8] c"then\00" @.str616 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str617 = private unnamed_addr constant [6 x i8] c"loads\00" @.str618 = private unnamed_addr constant [5 x i8] c"then\00" @.str619 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str620 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str621 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str622 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str623 = private unnamed_addr constant [6 x i8] c"_exit\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 [3 x i8] c"on\00" @.str627 = private unnamed_addr constant [6 x i8] c"enter\00" @.str628 = private unnamed_addr constant [5 x i8] c"exit\00" @.str629 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str630 = private unnamed_addr constant [6 x i8] c"layer\00" @.str631 = private unnamed_addr constant [7 x i8] c"public\00" @.str632 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str633 = private unnamed_addr constant [6 x i8] c"_show\00" @.str634 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str635 = private unnamed_addr constant [6 x i8] c"_hide\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 [2 x i8] c"@\00" @.str639 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str640 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str641 = private unnamed_addr constant [2 x i8] c")\00" @.str642 = private unnamed_addr constant [8 x i8] c"handler\00" @.str643 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\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 [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str647 = private unnamed_addr constant [2 x i8] c"}\00" @.str648 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str649 = private unnamed_addr constant [7 x i8] c"Update\00" @.str650 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str651 = private unnamed_addr constant [5 x i8] c"pump\00" @.str652 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str653 = private unnamed_addr constant [6 x i8] c"ready\00" @.str654 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str655 = private unnamed_addr constant [7 x i8] c"Render\00" @.str656 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str657 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str658 = private unnamed_addr constant [6 x i8] c"_left\00" @.str659 = private unnamed_addr constant [4 x i8] c"int\00" @.str660 = private unnamed_addr constant [2 x i8] c"=\00" @.str661 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str662 = private unnamed_addr constant [7 x i8] c"Update\00" @.str663 = private unnamed_addr constant [3 x i8] c"-=\00" @.str664 = private unnamed_addr constant [3 x i8] c"<=\00" @.str665 = private unnamed_addr constant [3 x i8] c"id\00" @.str666 = private unnamed_addr constant [5 x i8] c"goto\00" @.str667 = private unnamed_addr constant [3 x i8] c"==\00" @.str668 = private unnamed_addr constant [3 x i8] c"id\00" @.str669 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str670 = private unnamed_addr constant [10 x i8] c"UiClicked\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 [2 x i8] c")\00" @.str677 = private unnamed_addr constant [2 x i8] c",\00" @.str678 = private unnamed_addr constant [2 x i8] c"}\00" @.str679 = private unnamed_addr constant [2 x i8] c"{\00" @.str680 = private unnamed_addr constant [2 x i8] c"}\00" @.str681 = private unnamed_addr constant [2 x i8] c"@\00" @.str682 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str683 = private unnamed_addr constant [2 x i8] c",\00" @.str684 = private unnamed_addr constant [2 x i8] c"}\00" @.str685 = private unnamed_addr constant [2 x i8] c"(\00" @.str686 = private unnamed_addr constant [2 x i8] c")\00" @.str687 = private unnamed_addr constant [2 x i8] c":\00" @.str688 = private unnamed_addr constant [2 x i8] c",\00" @.str689 = private unnamed_addr constant [2 x i8] c")\00" @.str690 = private unnamed_addr constant [5 x i8] c"void\00" @.str691 = private unnamed_addr constant [3 x i8] c"->\00" @.str692 = private unnamed_addr constant [2 x i8] c"=\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 [2 x i8] c"{\00" @.str696 = private unnamed_addr constant [2 x i8] c"}\00" @.str697 = private unnamed_addr constant [2 x i8] c"}\00" @.str698 = private unnamed_addr constant [2 x i8] c"{\00" @.str699 = private unnamed_addr constant [2 x i8] c"}\00" @.str700 = private unnamed_addr constant [3 x i8] c" \00" @.str701 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str702 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str703 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str704 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str705 = private unnamed_addr constant [4 x i8] c", 1\00" @.str706 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str707 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str709 = private unnamed_addr constant [3 x i8] c"%t\00" @.str710 = private unnamed_addr constant [3 x i8] c" \00" @.str711 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str712 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str713 = private unnamed_addr constant [3 x i8] c"%t\00" @.str714 = private unnamed_addr constant [4 x i8] c"int\00" @.str715 = private unnamed_addr constant [5 x i8] c"bool\00" @.str716 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str717 = private unnamed_addr constant [7 x i8] c"entity\00" @.str718 = private unnamed_addr constant [4 x i8] c"i32\00" @.str719 = private unnamed_addr constant [4 x i8] c"i32\00" @.str720 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str721 = private unnamed_addr constant [4 x i8] c"i32\00" @.str722 = private unnamed_addr constant [5 x i8] c"long\00" @.str723 = private unnamed_addr constant [4 x i8] c"i64\00" @.str724 = private unnamed_addr constant [6 x i8] c"float\00" @.str725 = private unnamed_addr constant [6 x i8] c"float\00" @.str726 = private unnamed_addr constant [7 x i8] c"double\00" @.str727 = private unnamed_addr constant [7 x i8] c"double\00" @.str728 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str729 = private unnamed_addr constant [4 x i8] c"i64\00" @.str730 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str731 = private unnamed_addr constant [4 x i8] c"i64\00" @.str732 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str733 = private unnamed_addr constant [5 x i8] c"i128\00" @.str734 = private unnamed_addr constant [5 x i8] c"byte\00" @.str735 = private unnamed_addr constant [3 x i8] c"i8\00" @.str736 = private unnamed_addr constant [6 x i8] c"words\00" @.str737 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str738 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str739 = private unnamed_addr constant [7 x i8] c"floats\00" @.str740 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str741 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str742 = private unnamed_addr constant [5 x i8] c"void\00" @.str743 = private unnamed_addr constant [5 x i8] c"void\00" @.str744 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str745 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str746 = private unnamed_addr constant [4 x i8] c"int\00" @.str747 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str748 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str749 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str750 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str751 = private unnamed_addr constant [10 x i8] c"countdown\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 [3 x i8] c"of\00" @.str755 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str756 = private unnamed_addr constant [5 x i8] c"make\00" @.str757 = private unnamed_addr constant [5 x i8] c"zero\00" @.str758 = private unnamed_addr constant [4 x i8] c"add\00" @.str759 = private unnamed_addr constant [4 x i8] c"sub\00" @.str760 = private unnamed_addr constant [6 x i8] c"scale\00" @.str761 = private unnamed_addr constant [6 x i8] c"along\00" @.str762 = private unnamed_addr constant [5 x i8] c"step\00" @.str763 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str764 = private unnamed_addr constant [4 x i8] c"Map\00" @.str765 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str766 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str767 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str768 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str769 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str770 = private unnamed_addr constant [7 x i8] c"center\00" @.str771 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str772 = private unnamed_addr constant [6 x i8] c"Input\00" @.str773 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str774 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str775 = private unnamed_addr constant [2 x i8] c"_\00" @.str776 = private unnamed_addr constant [3 x i8] c"[]\00" @.str777 = private unnamed_addr constant [7 x i8] c"string\00" @.str778 = private unnamed_addr constant [4 x i8] c"int\00" @.str779 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str780 = private unnamed_addr constant [5 x i8] c"bool\00" @.str781 = private unnamed_addr constant [7 x i8] c"entity\00" @.str782 = private unnamed_addr constant [4 x i8] c"int\00" @.str783 = private unnamed_addr constant [7 x i8] c"reason\00" @.str784 = private unnamed_addr constant [4 x i8] c"int\00" @.str785 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str786 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str787 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str788 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str789 = private unnamed_addr constant [2 x i8] c"-\00" @.str790 = private unnamed_addr constant [2 x i8] c"-\00" @.str791 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str792 = private unnamed_addr constant [5 x i8] c"null\00" @.str793 = private unnamed_addr constant [2 x i8] c"0\00" @.str794 = private unnamed_addr constant [2 x i8] c"-\00" @.str795 = private unnamed_addr constant [5 x i8] c"void\00" @.str796 = private unnamed_addr constant [9 x i8] c" store \00" @.str797 = private unnamed_addr constant [2 x i8] c" \00" @.str798 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str799 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str800 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str801 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str802 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str803 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str804 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str805 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str806 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str807 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str808 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str809 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str810 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str811 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str812 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str813 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str814 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str815 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str816 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str817 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str818 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str819 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str820 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str821 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str822 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str823 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str824 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str825 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str826 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str827 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str828 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str829 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str830 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str831 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str832 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str833 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str834 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str835 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str836 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str837 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str838 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str839 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str840 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str841 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str842 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str843 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str844 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str845 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str846 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str847 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str848 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str849 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str850 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str851 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str852 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str853 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str854 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str855 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str856 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str857 = 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" @.str858 = 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" @.str859 = 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" @.str860 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str861 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str862 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str863 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str864 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str865 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str866 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str867 = private unnamed_addr constant [10 x i8] c"property \00" @.str868 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str869 = private unnamed_addr constant [10 x i8] c"property \00" @.str870 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str871 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str872 = private unnamed_addr constant [4 x i8] c"i32\00" @.str873 = private unnamed_addr constant [3 x i8] c", \00" @.str874 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str875 = private unnamed_addr constant [10 x i8] c"variable \00" @.str876 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str877 = private unnamed_addr constant [10 x i8] c"variable \00" @.str878 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str879 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str880 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str881 = private unnamed_addr constant [2 x i8] c" \00" @.str882 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str883 = private unnamed_addr constant [9 x i8] c"declare \00" @.str884 = private unnamed_addr constant [3 x i8] c" @\00" @.str885 = private unnamed_addr constant [2 x i8] c"(\00" @.str886 = private unnamed_addr constant [3 x i8] c", \00" @.str887 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str888 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str889 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str890 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str891 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str892 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str893 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str894 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str895 = 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" @.str896 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str897 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str898 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str899 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str900 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str901 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str902 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str903 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str904 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str905 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str906 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str907 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str908 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str909 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str910 = 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" @.str911 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str912 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str913 = 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" @.str914 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str915 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str916 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str917 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str918 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str919 = 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" @.str920 = 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" @.str921 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str922 = 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" @.str923 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str924 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str925 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str926 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str927 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str928 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str929 = 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" @.str930 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str931 = 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" @.str932 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str933 = 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" @.str934 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str935 = 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" @.str936 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str937 = 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" @.str938 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str939 = 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" @.str940 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str941 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str942 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str943 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str944 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str945 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str946 = 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" @.str947 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str948 = 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" @.str949 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str950 = 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" @.str951 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str952 = 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" @.str953 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str954 = 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" @.str955 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str956 = 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" @.str957 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str958 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str959 = 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" @.str960 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str961 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str962 = 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" @.str963 = 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" @.str964 = 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" @.str965 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str966 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str967 = private unnamed_addr constant [3 x i8] c" \00" @.str968 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str969 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str970 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str971 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str972 = private unnamed_addr constant [6 x i8] c"words\00" @.str973 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str974 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str975 = private unnamed_addr constant [4 x i8] c"int\00" @.str976 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str977 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str978 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str979 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str980 = private unnamed_addr constant [7 x i8] c"floats\00" @.str981 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str982 = private unnamed_addr constant [6 x i8] c"float\00" @.str983 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str984 = private unnamed_addr constant [7 x i8] c"double\00" @.str985 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str986 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str987 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str988 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str989 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str990 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str991 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str992 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str993 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str994 = private unnamed_addr constant [5 x i8] c"byte\00" @.str995 = private unnamed_addr constant [3 x i8] c" \00" @.str996 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str997 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str998 = private unnamed_addr constant [3 x i8] c" \00" @.str999 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str1000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1001 = private unnamed_addr constant [3 x i8] c" \00" @.str1002 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str1003 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1004 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1006 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1007 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1008 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1009 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1010 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1011 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1012 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1013 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1014 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1015 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1016 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1017 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1018 = private unnamed_addr constant [4 x i8] c"run\00" @.str1019 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1020 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1021 = private unnamed_addr constant [3 x i8] c" \00" @.str1022 = private unnamed_addr constant [4 x i8] c" = \00" @.str1023 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1024 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1025 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1026 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1027 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str1028 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1029 = private unnamed_addr constant [2 x i8] c")\00" @.str1030 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1031 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1032 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str1033 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1034 = private unnamed_addr constant [2 x i8] c")\00" @.str1035 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1036 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1037 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1038 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1039 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1040 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1041 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1042 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1043 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1044 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1045 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1046 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1047 = private unnamed_addr constant [2 x i8] c")\00" @.str1048 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1049 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1050 = private unnamed_addr constant [4 x i8] c"int\00" @.str1051 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1052 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1053 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1054 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1055 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1056 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1057 = private unnamed_addr constant [2 x i8] c")\00" @.str1058 = private unnamed_addr constant [4 x i8] c"int\00" @.str1059 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1060 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1061 = private unnamed_addr constant [2 x i8] c")\00" @.str1062 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1063 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1064 = private unnamed_addr constant [4 x i8] c"int\00" @.str1065 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1066 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1067 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1068 = private unnamed_addr constant [2 x i8] c"0\00" @.str1069 = private unnamed_addr constant [5 x i8] c"void\00" @.str1070 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1071 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1072 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1073 = private unnamed_addr constant [2 x i8] c"0\00" @.str1074 = private unnamed_addr constant [5 x i8] c"void\00" @.str1075 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1076 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1077 = private unnamed_addr constant [4 x i8] c"int\00" @.str1078 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1079 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1080 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1081 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1082 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1083 = private unnamed_addr constant [7 x i8] c"string\00" @.str1084 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1085 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1086 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1087 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1088 = private unnamed_addr constant [2 x i8] c"0\00" @.str1089 = private unnamed_addr constant [5 x i8] c"void\00" @.str1090 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1091 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1092 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1093 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1094 = private unnamed_addr constant [4 x i8] c"run\00" @.str1095 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1096 = private unnamed_addr constant [2 x i8] c")\00" @.str1097 = private unnamed_addr constant [4 x i8] c"int\00" @.str1098 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1099 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1100 = private unnamed_addr constant [2 x i8] c")\00" @.str1101 = private unnamed_addr constant [7 x i8] c"string\00" @.str1102 = private unnamed_addr constant [2 x i8] c"0\00" @.str1103 = private unnamed_addr constant [5 x i8] c"void\00" @.str1104 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str1105 = private unnamed_addr constant [2 x i8] c")\00" @.str1106 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1107 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1108 = private unnamed_addr constant [5 x i8] c"free\00" @.str1109 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1110 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1111 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1112 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1113 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1114 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1115 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1116 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1117 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1118 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1119 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1120 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1121 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1122 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1123 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1124 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1125 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1126 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1127 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1128 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1129 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1130 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1131 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1132 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1133 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1134 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1135 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1136 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1137 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1138 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1139 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1140 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1141 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1142 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1143 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1144 = private unnamed_addr constant [5 x i8] c"free\00" @.str1145 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1146 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1147 = private unnamed_addr constant [2 x i8] c"0\00" @.str1148 = private unnamed_addr constant [5 x i8] c"void\00" @.str1149 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1150 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1151 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1152 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1153 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1154 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1155 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1156 = private unnamed_addr constant [2 x i8] c"0\00" @.str1157 = private unnamed_addr constant [5 x i8] c"void\00" @.str1158 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1159 = private unnamed_addr constant [3 x i8] c" \00" @.str1160 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1162 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1163 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1164 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1165 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1166 = private unnamed_addr constant [4 x i8] c"int\00" @.str1167 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1168 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1169 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1170 = private unnamed_addr constant [4 x i8] c"int\00" @.str1171 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1172 = private unnamed_addr constant [2 x i8] c"1\00" @.str1173 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1174 = private unnamed_addr constant [2 x i8] c"0\00" @.str1175 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1176 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1177 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1178 = private unnamed_addr constant [7 x i8] c"string\00" @.str1179 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1180 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1181 = private unnamed_addr constant [4 x i8] c"int\00" @.str1182 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1183 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1184 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1185 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1186 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1187 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1188 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1189 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1190 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1191 = private unnamed_addr constant [2 x i8] c"0\00" @.str1192 = private unnamed_addr constant [5 x i8] c"void\00" @.str1193 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1194 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1195 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1196 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1197 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1198 = private unnamed_addr constant [2 x i8] c"0\00" @.str1199 = private unnamed_addr constant [5 x i8] c"void\00" @.str1200 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1201 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1202 = private unnamed_addr constant [2 x i8] c"0\00" @.str1203 = private unnamed_addr constant [5 x i8] c"void\00" @.str1204 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1205 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1206 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1207 = private unnamed_addr constant [2 x i8] c"0\00" @.str1208 = private unnamed_addr constant [5 x i8] c"void\00" @.str1209 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1210 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1211 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1212 = private unnamed_addr constant [2 x i8] c"0\00" @.str1213 = private unnamed_addr constant [5 x i8] c"void\00" @.str1214 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1215 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str1216 = private unnamed_addr constant [2 x i8] c")\00" @.str1217 = private unnamed_addr constant [4 x i8] c"int\00" @.str1218 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1219 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1220 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1221 = private unnamed_addr constant [2 x i8] c"0\00" @.str1222 = private unnamed_addr constant [5 x i8] c"void\00" @.str1223 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1224 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1225 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1226 = private unnamed_addr constant [2 x i8] c"0\00" @.str1227 = private unnamed_addr constant [5 x i8] c"void\00" @.str1228 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1229 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str1230 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1231 = private unnamed_addr constant [2 x i8] c"0\00" @.str1232 = private unnamed_addr constant [5 x i8] c"void\00" @.str1233 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1234 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1235 = private unnamed_addr constant [2 x i8] c")\00" @.str1236 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1237 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1238 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str1239 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1240 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1241 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1242 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1243 = private unnamed_addr constant [2 x i8] c"0\00" @.str1244 = private unnamed_addr constant [5 x i8] c"void\00" @.str1245 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1246 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1247 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1248 = private unnamed_addr constant [2 x i8] c"0\00" @.str1249 = private unnamed_addr constant [5 x i8] c"void\00" @.str1250 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1251 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1252 = private unnamed_addr constant [2 x i8] c")\00" @.str1253 = private unnamed_addr constant [4 x i8] c"int\00" @.str1254 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1255 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1256 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1257 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1258 = private unnamed_addr constant [2 x i8] c"0\00" @.str1259 = private unnamed_addr constant [5 x i8] c"void\00" @.str1260 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1261 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str1262 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1263 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1264 = private unnamed_addr constant [2 x i8] c"0\00" @.str1265 = private unnamed_addr constant [5 x i8] c"void\00" @.str1266 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1267 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str1268 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1269 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1270 = private unnamed_addr constant [2 x i8] c"0\00" @.str1271 = private unnamed_addr constant [5 x i8] c"void\00" @.str1272 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1273 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1274 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1275 = private unnamed_addr constant [2 x i8] c")\00" @.str1276 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1277 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1278 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1279 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1280 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1281 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1282 = private unnamed_addr constant [2 x i8] c"0\00" @.str1283 = private unnamed_addr constant [5 x i8] c"void\00" @.str1284 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1285 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1286 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1287 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1288 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1289 = private unnamed_addr constant [2 x i8] c"0\00" @.str1290 = private unnamed_addr constant [5 x i8] c"void\00" @.str1291 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1292 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1293 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1294 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1295 = private unnamed_addr constant [2 x i8] c"0\00" @.str1296 = private unnamed_addr constant [5 x i8] c"void\00" @.str1297 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1298 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1299 = private unnamed_addr constant [2 x i8] c")\00" @.str1300 = private unnamed_addr constant [4 x i8] c"int\00" @.str1301 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1302 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1303 = private unnamed_addr constant [2 x i8] c")\00" @.str1304 = private unnamed_addr constant [4 x i8] c"int\00" @.str1305 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1306 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1307 = private unnamed_addr constant [2 x i8] c")\00" @.str1308 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1309 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1310 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1311 = private unnamed_addr constant [2 x i8] c")\00" @.str1312 = private unnamed_addr constant [4 x i8] c"int\00" @.str1313 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1314 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1315 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1316 = private unnamed_addr constant [2 x i8] c")\00" @.str1317 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1318 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1319 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1320 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1321 = private unnamed_addr constant [2 x i8] c"0\00" @.str1322 = private unnamed_addr constant [5 x i8] c"void\00" @.str1323 = private unnamed_addr constant [2 x i8] c"0\00" @.str1324 = private unnamed_addr constant [5 x i8] c"void\00" @.str1325 = private unnamed_addr constant [6 x i8] c"float\00" @.str1326 = private unnamed_addr constant [7 x i8] c"double\00" @.str1327 = private unnamed_addr constant [1 x i8] c"\00" @.str1328 = private unnamed_addr constant [1 x i8] c"\00" @.str1329 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str1330 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str1331 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str1332 = private unnamed_addr constant [7 x i8] c"double\00" @.str1333 = private unnamed_addr constant [7 x i8] c"double\00" @.str1334 = private unnamed_addr constant [7 x i8] c"double\00" @.str1335 = private unnamed_addr constant [6 x i8] c"float\00" @.str1336 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1337 = private unnamed_addr constant [2 x i8] c" \00" @.str1338 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1339 = private unnamed_addr constant [2 x i8] c"-\00" @.str1340 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1341 = private unnamed_addr constant [2 x i8] c"*\00" @.str1342 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1343 = private unnamed_addr constant [2 x i8] c"/\00" @.str1344 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1345 = private unnamed_addr constant [2 x i8] c"%\00" @.str1346 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1347 = private unnamed_addr constant [2 x i8] c" \00" @.str1348 = private unnamed_addr constant [2 x i8] c" \00" @.str1349 = private unnamed_addr constant [3 x i8] c", \00" @.str1350 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str1351 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1352 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str1353 = private unnamed_addr constant [5 x i8] c"null\00" @.str1354 = private unnamed_addr constant [6 x i8] c"float\00" @.str1355 = private unnamed_addr constant [7 x i8] c"double\00" @.str1356 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1357 = private unnamed_addr constant [2 x i8] c"0\00" @.str1358 = private unnamed_addr constant [3 x i8] c".0\00" @.str1359 = private unnamed_addr constant [7 x i8] c"double\00" @.str1360 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1361 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1362 = private unnamed_addr constant [6 x i8] c"float\00" @.str1363 = private unnamed_addr constant [7 x i8] c"double\00" @.str1364 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1365 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1366 = private unnamed_addr constant [7 x i8] c"double\00" @.str1367 = private unnamed_addr constant [6 x i8] c"float\00" @.str1368 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str1369 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1370 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str1371 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str1372 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str1373 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1374 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str1375 = private unnamed_addr constant [5 x i8] c" to \00" @.str1376 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1377 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1378 = private unnamed_addr constant [5 x i8] c" to \00" @.str1379 = private unnamed_addr constant [5 x i8] c": a \00" @.str1380 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str1381 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str1382 = private unnamed_addr constant [1 x i8] c"\00" @.str1383 = private unnamed_addr constant [2 x i8] c":\00" @.str1384 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str1385 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str1386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1387 = private unnamed_addr constant [2 x i8] c"<\00" @.str1388 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1389 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1390 = private unnamed_addr constant [4 x i8] c"ole\00" @.str1391 = private unnamed_addr constant [2 x i8] c">\00" @.str1392 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1393 = private unnamed_addr constant [3 x i8] c">=\00" @.str1394 = private unnamed_addr constant [4 x i8] c"oge\00" @.str1395 = private unnamed_addr constant [3 x i8] c"==\00" @.str1396 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str1397 = private unnamed_addr constant [4 x i8] c"une\00" @.str1398 = private unnamed_addr constant [6 x i8] c"float\00" @.str1399 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str1400 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str1401 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1402 = private unnamed_addr constant [2 x i8] c" \00" @.str1403 = private unnamed_addr constant [2 x i8] c" \00" @.str1404 = private unnamed_addr constant [3 x i8] c", \00" @.str1405 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1406 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1407 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1408 = private unnamed_addr constant [1 x i8] c"\00" @.str1409 = private unnamed_addr constant [2 x i8] c"+\00" @.str1410 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1411 = private unnamed_addr constant [2 x i8] c"-\00" @.str1412 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1413 = private unnamed_addr constant [2 x i8] c"*\00" @.str1414 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1415 = private unnamed_addr constant [2 x i8] c"/\00" @.str1416 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1417 = private unnamed_addr constant [2 x i8] c"%\00" @.str1418 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1419 = private unnamed_addr constant [1 x i8] c"\00" @.str1420 = private unnamed_addr constant [10 x i8] c"operator \00" @.str1421 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str1422 = private unnamed_addr constant [2 x i8] c" \00" @.str1423 = private unnamed_addr constant [2 x i8] c" \00" @.str1424 = private unnamed_addr constant [3 x i8] c", \00" @.str1425 = private unnamed_addr constant [7 x i8] c"double\00" @.str1426 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1427 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1428 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1429 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1430 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1431 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1432 = private unnamed_addr constant [5 x i8] c" to \00" @.str1433 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1434 = private unnamed_addr constant [2 x i8] c" \00" @.str1435 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1436 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str1437 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1438 = private unnamed_addr constant [2 x i8] c" \00" @.str1439 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1440 = private unnamed_addr constant [4 x i8] c"int\00" @.str1441 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1442 = private unnamed_addr constant [2 x i8] c" \00" @.str1443 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1444 = private unnamed_addr constant [5 x i8] c"long\00" @.str1445 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1446 = private unnamed_addr constant [2 x i8] c" \00" @.str1447 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1448 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1449 = private unnamed_addr constant [2 x i8] c" \00" @.str1450 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1451 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1452 = private unnamed_addr constant [6 x i8] c"float\00" @.str1453 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str1454 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str1455 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1456 = private unnamed_addr constant [4 x i8] c"int\00" @.str1457 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str1458 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1459 = private unnamed_addr constant [6 x i8] c"float\00" @.str1460 = private unnamed_addr constant [7 x i8] c"double\00" @.str1461 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str1462 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str1463 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1464 = private unnamed_addr constant [5 x i8] c"long\00" @.str1465 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str1466 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1467 = private unnamed_addr constant [7 x i8] c"double\00" @.str1468 = private unnamed_addr constant [2 x i8] c"0\00" @.str1469 = private unnamed_addr constant [6 x i8] c"float\00" @.str1470 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1471 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1472 = private unnamed_addr constant [2 x i8] c"1\00" @.str1473 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str1474 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1475 = private unnamed_addr constant [2 x i8] c")\00" @.str1476 = private unnamed_addr constant [7 x i8] c"string\00" @.str1477 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str1478 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str1479 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str1480 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str1481 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str1482 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str1483 = private unnamed_addr constant [58 x i8] c"entry:\0A %buf = call ptr @malloc(i64 40)\0A br label %try\0A\00" @.str1484 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str1485 = 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" @.str1486 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str1487 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str1488 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str1489 = 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" @.str1490 = 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" @.str1491 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str1492 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str1493 = 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" @.str1494 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str1495 = 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" @.str1496 = 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" @.str1497 = 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" @.str1498 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str1499 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str1500 = private unnamed_addr constant [2 x i8] c"4\00" @.str1501 = private unnamed_addr constant [7 x i8] c"floats\00" @.str1502 = private unnamed_addr constant [7 x i8] c"double\00" @.str1503 = private unnamed_addr constant [2 x i8] c"8\00" @.str1504 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1505 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1506 = private unnamed_addr constant [3 x i8] c", \00" @.str1507 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1508 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1509 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str1510 = private unnamed_addr constant [2 x i8] c")\00" @.str1511 = private unnamed_addr constant [6 x i8] c"float\00" @.str1512 = private unnamed_addr constant [2 x i8] c"f\00" @.str1513 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1514 = private unnamed_addr constant [3 x i8] c" @\00" @.str1515 = private unnamed_addr constant [2 x i8] c"(\00" @.str1516 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1517 = private unnamed_addr constant [6 x i8] c"call \00" @.str1518 = private unnamed_addr constant [3 x i8] c" @\00" @.str1519 = private unnamed_addr constant [2 x i8] c"(\00" @.str1520 = private unnamed_addr constant [2 x i8] c" \00" @.str1521 = private unnamed_addr constant [2 x i8] c")\00" @.str1522 = private unnamed_addr constant [6 x i8] c"float\00" @.str1523 = private unnamed_addr constant [2 x i8] c"f\00" @.str1524 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1525 = private unnamed_addr constant [3 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 [3 x i8] c")\0A\00" @.str1529 = private unnamed_addr constant [6 x i8] c"call \00" @.str1530 = private unnamed_addr constant [3 x i8] c" @\00" @.str1531 = private unnamed_addr constant [2 x i8] c"(\00" @.str1532 = private unnamed_addr constant [2 x i8] c" \00" @.str1533 = private unnamed_addr constant [3 x i8] c", \00" @.str1534 = private unnamed_addr constant [2 x i8] c" \00" @.str1535 = private unnamed_addr constant [2 x i8] c")\00" @.str1536 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1537 = private unnamed_addr constant [6 x i8] c"float\00" @.str1538 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1539 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1540 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1541 = private unnamed_addr constant [2 x i8] c".\00" @.str1542 = private unnamed_addr constant [2 x i8] c"(\00" @.str1543 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1544 = private unnamed_addr constant [6 x i8] c"call \00" @.str1545 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1546 = private unnamed_addr constant [2 x i8] c".\00" @.str1547 = private unnamed_addr constant [2 x i8] c"(\00" @.str1548 = private unnamed_addr constant [2 x i8] c" \00" @.str1549 = private unnamed_addr constant [2 x i8] c")\00" @.str1550 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1551 = private unnamed_addr constant [6 x i8] c"float\00" @.str1552 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1553 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1554 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1555 = private unnamed_addr constant [2 x i8] c".\00" @.str1556 = private unnamed_addr constant [2 x i8] c"(\00" @.str1557 = private unnamed_addr constant [3 x i8] c", \00" @.str1558 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1559 = private unnamed_addr constant [6 x i8] c"call \00" @.str1560 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1561 = private unnamed_addr constant [2 x i8] c".\00" @.str1562 = private unnamed_addr constant [2 x i8] c"(\00" @.str1563 = private unnamed_addr constant [2 x i8] c" \00" @.str1564 = private unnamed_addr constant [3 x i8] c", \00" @.str1565 = private unnamed_addr constant [2 x i8] c" \00" @.str1566 = private unnamed_addr constant [2 x i8] c")\00" @.str1567 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1568 = private unnamed_addr constant [4 x i8] c"max\00" @.str1569 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1570 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1571 = private unnamed_addr constant [2 x i8] c" \00" @.str1572 = private unnamed_addr constant [2 x i8] c" \00" @.str1573 = private unnamed_addr constant [3 x i8] c", \00" @.str1574 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1575 = private unnamed_addr constant [3 x i8] c", \00" @.str1576 = private unnamed_addr constant [2 x i8] c" \00" @.str1577 = private unnamed_addr constant [3 x i8] c", \00" @.str1578 = private unnamed_addr constant [2 x i8] c" \00" @.str1579 = private unnamed_addr constant [1 x i8] c"\00" @.str1580 = private unnamed_addr constant [1 x i8] c"\00" @.str1581 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1582 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1583 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1584 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1585 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1586 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1587 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1588 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1589 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1590 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1591 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1592 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1593 = private unnamed_addr constant [4 x i8] c"log\00" @.str1594 = private unnamed_addr constant [4 x i8] c"log\00" @.str1595 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1596 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1597 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1598 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1599 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1600 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1601 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1602 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1603 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1604 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1605 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1606 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1607 = private unnamed_addr constant [6 x i8] c"round\00" @.str1608 = private unnamed_addr constant [6 x i8] c"round\00" @.str1609 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1610 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1611 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1612 = private unnamed_addr constant [10 x i8] c"fcmp ogt \00" @.str1613 = private unnamed_addr constant [2 x i8] c" \00" @.str1614 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1615 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1616 = private unnamed_addr constant [2 x i8] c" \00" @.str1617 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1618 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1619 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1620 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1621 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1622 = private unnamed_addr constant [4 x i8] c"int\00" @.str1623 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1624 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1625 = private unnamed_addr constant [2 x i8] c" \00" @.str1626 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1627 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str1628 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1629 = private unnamed_addr constant [2 x i8] c" \00" @.str1630 = private unnamed_addr constant [3 x i8] c", \00" @.str1631 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1632 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1633 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str1634 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1635 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1636 = private unnamed_addr constant [2 x i8] c" \00" @.str1637 = private unnamed_addr constant [3 x i8] c", \00" @.str1638 = private unnamed_addr constant [4 x i8] c"min\00" @.str1639 = private unnamed_addr constant [4 x i8] c"max\00" @.str1640 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1641 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1642 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1643 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1644 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1645 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1646 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1647 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1648 = private unnamed_addr constant [6 x i8] c"frem \00" @.str1649 = private unnamed_addr constant [2 x i8] c" \00" @.str1650 = private unnamed_addr constant [3 x i8] c", \00" @.str1651 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1652 = private unnamed_addr constant [2 x i8] c" \00" @.str1653 = private unnamed_addr constant [3 x i8] c", \00" @.str1654 = private unnamed_addr constant [6 x i8] c"frem \00" @.str1655 = private unnamed_addr constant [2 x i8] c" \00" @.str1656 = private unnamed_addr constant [3 x i8] c", \00" @.str1657 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1658 = private unnamed_addr constant [4 x i8] c"max\00" @.str1659 = private unnamed_addr constant [4 x i8] c"min\00" @.str1660 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1661 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1662 = private unnamed_addr constant [2 x i8] c" \00" @.str1663 = private unnamed_addr constant [3 x i8] c", \00" @.str1664 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1665 = private unnamed_addr constant [2 x i8] c" \00" @.str1666 = private unnamed_addr constant [3 x i8] c", \00" @.str1667 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1668 = private unnamed_addr constant [2 x i8] c" \00" @.str1669 = private unnamed_addr constant [3 x i8] c", \00" @.str1670 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1671 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1672 = private unnamed_addr constant [2 x i8] c" \00" @.str1673 = private unnamed_addr constant [3 x i8] c", \00" @.str1674 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1675 = private unnamed_addr constant [2 x i8] c" \00" @.str1676 = private unnamed_addr constant [3 x i8] c", \00" @.str1677 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1678 = private unnamed_addr constant [2 x i8] c" \00" @.str1679 = private unnamed_addr constant [3 x i8] c", \00" @.str1680 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1681 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1682 = private unnamed_addr constant [2 x i8] c" \00" @.str1683 = private unnamed_addr constant [3 x i8] c", \00" @.str1684 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1685 = private unnamed_addr constant [2 x i8] c" \00" @.str1686 = private unnamed_addr constant [3 x i8] c", \00" @.str1687 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1688 = private unnamed_addr constant [2 x i8] c" \00" @.str1689 = private unnamed_addr constant [3 x i8] c", \00" @.str1690 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1691 = private unnamed_addr constant [2 x i8] c" \00" @.str1692 = private unnamed_addr constant [3 x i8] c", \00" @.str1693 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1694 = private unnamed_addr constant [2 x i8] c" \00" @.str1695 = private unnamed_addr constant [3 x i8] c", \00" @.str1696 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1697 = private unnamed_addr constant [2 x i8] c" \00" @.str1698 = private unnamed_addr constant [3 x i8] c", \00" @.str1699 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1700 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1701 = private unnamed_addr constant [2 x i8] c" \00" @.str1702 = private unnamed_addr constant [3 x i8] c", \00" @.str1703 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1704 = private unnamed_addr constant [2 x i8] c" \00" @.str1705 = private unnamed_addr constant [3 x i8] c", \00" @.str1706 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1707 = private unnamed_addr constant [2 x i8] c" \00" @.str1708 = private unnamed_addr constant [3 x i8] c", \00" @.str1709 = private unnamed_addr constant [4 x i8] c"max\00" @.str1710 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1711 = private unnamed_addr constant [4 x i8] c"min\00" @.str1712 = private unnamed_addr constant [4 x i8] c"1.0\00" @.str1713 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1714 = private unnamed_addr constant [2 x i8] c" \00" @.str1715 = private unnamed_addr constant [3 x i8] c", \00" @.str1716 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1717 = private unnamed_addr constant [2 x i8] c" \00" @.str1718 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str1719 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1720 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str1721 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1722 = private unnamed_addr constant [2 x i8] c" \00" @.str1723 = private unnamed_addr constant [3 x i8] c", \00" @.str1724 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1725 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1726 = private unnamed_addr constant [2 x i8] c" \00" @.str1727 = private unnamed_addr constant [3 x i8] c", \00" @.str1728 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1729 = private unnamed_addr constant [10 x i8] c"fcmp ole \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 [10 x i8] c"fcmp olt \00" @.str1733 = private unnamed_addr constant [2 x i8] c" \00" @.str1734 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1735 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1736 = private unnamed_addr constant [2 x i8] c" \00" @.str1737 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1738 = private unnamed_addr constant [3 x i8] c", \00" @.str1739 = private unnamed_addr constant [2 x i8] c" \00" @.str1740 = private unnamed_addr constant [3 x i8] c", \00" @.str1741 = private unnamed_addr constant [2 x i8] c" \00" @.str1742 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1743 = private unnamed_addr constant [2 x i8] c" \00" @.str1744 = private unnamed_addr constant [3 x i8] c", \00" @.str1745 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1746 = private unnamed_addr constant [3 x i8] c", \00" @.str1747 = private unnamed_addr constant [2 x i8] c" \00" @.str1748 = private unnamed_addr constant [3 x i8] c", \00" @.str1749 = private unnamed_addr constant [2 x i8] c" \00" @.str1750 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1751 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1752 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1753 = private unnamed_addr constant [2 x i8] c" \00" @.str1754 = private unnamed_addr constant [3 x i8] c", \00" @.str1755 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1756 = private unnamed_addr constant [2 x i8] c" \00" @.str1757 = private unnamed_addr constant [3 x i8] c", \00" @.str1758 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1759 = private unnamed_addr constant [2 x i8] c" \00" @.str1760 = private unnamed_addr constant [3 x i8] c", \00" @.str1761 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1762 = private unnamed_addr constant [2 x i8] c" \00" @.str1763 = private unnamed_addr constant [3 x i8] c", \00" @.str1764 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1765 = private unnamed_addr constant [2 x i8] c" \00" @.str1766 = private unnamed_addr constant [3 x i8] c", \00" @.str1767 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1768 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1769 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1770 = private unnamed_addr constant [9 x i8] c" has no \00" @.str1771 = private unnamed_addr constant [6 x i8] c" form\00" @.str1772 = private unnamed_addr constant [4 x i8] c"min\00" @.str1773 = private unnamed_addr constant [4 x i8] c"max\00" @.str1774 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1775 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1776 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1777 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1778 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1779 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1780 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1781 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1782 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1783 = private unnamed_addr constant [4 x i8] c"min\00" @.str1784 = private unnamed_addr constant [4 x i8] c"max\00" @.str1785 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1786 = private unnamed_addr constant [4 x i8] c"max\00" @.str1787 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1788 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1789 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1790 = private unnamed_addr constant [3 x i8] c", \00" @.str1791 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1792 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1793 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1794 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1795 = private unnamed_addr constant [3 x i8] c", \00" @.str1796 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1797 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1798 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1799 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1800 = private unnamed_addr constant [3 x i8] c", \00" @.str1801 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1802 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1803 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1804 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1805 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1806 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1807 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1808 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str1809 = private unnamed_addr constant [3 x i8] c", \00" @.str1810 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str1811 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1812 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1813 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1814 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1815 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1816 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1817 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1818 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1819 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1820 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str1821 = private unnamed_addr constant [3 x i8] c", \00" @.str1822 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1823 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1824 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1825 = private unnamed_addr constant [3 x i8] c", \00" @.str1826 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1827 = private unnamed_addr constant [3 x i8] c", \00" @.str1828 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1829 = private unnamed_addr constant [3 x i8] c", \00" @.str1830 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1831 = private unnamed_addr constant [3 x i8] c", \00" @.str1832 = private unnamed_addr constant [4 x i8] c"min\00" @.str1833 = private unnamed_addr constant [4 x i8] c"max\00" @.str1834 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1835 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1836 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1837 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1838 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1839 = private unnamed_addr constant [6 x i8] c"round\00" @.str1840 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1841 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1842 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1843 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1844 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1845 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1846 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1847 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1848 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1849 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1850 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1851 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1852 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1853 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1854 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1855 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1856 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1857 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1858 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1859 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1860 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1861 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1862 = private unnamed_addr constant [4 x i8] c"log\00" @.str1863 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1864 = private unnamed_addr constant [1 x i8] c"\00" @.str1865 = private unnamed_addr constant [4 x i8] c"min\00" @.str1866 = private unnamed_addr constant [4 x i8] c"max\00" @.str1867 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1868 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1869 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1870 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1871 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1872 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1873 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1874 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1875 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1876 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1877 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1878 = private unnamed_addr constant [4 x i8] c"int\00" @.str1879 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1880 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1881 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1882 = private unnamed_addr constant [4 x i8] c"int\00" @.str1883 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1884 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1885 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str1886 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1887 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1888 = private unnamed_addr constant [4 x i8] c"int\00" @.str1889 = private unnamed_addr constant [6 x i8] c"round\00" @.str1890 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1891 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1892 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1893 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1894 = private unnamed_addr constant [4 x i8] c"int\00" @.str1895 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1896 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1897 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1898 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1899 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1900 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1901 = private unnamed_addr constant [2 x i8] c")\00" @.str1902 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1903 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1904 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1905 = private unnamed_addr constant [2 x i8] c")\00" @.str1906 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1907 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1908 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1909 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1910 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1911 = private unnamed_addr constant [2 x i8] c")\00" @.str1912 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1913 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1914 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1915 = private unnamed_addr constant [2 x i8] c")\00" @.str1916 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1917 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1918 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1919 = private unnamed_addr constant [2 x i8] c")\00" @.str1920 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1921 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1922 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1923 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1924 = private unnamed_addr constant [2 x i8] c")\00" @.str1925 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1926 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1927 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1928 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1929 = private unnamed_addr constant [2 x i8] c")\00" @.str1930 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1931 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1932 = private unnamed_addr constant [2 x i8] c")\00" @.str1933 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1934 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1935 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1936 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1937 = private unnamed_addr constant [2 x i8] c")\00" @.str1938 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1939 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1940 = private unnamed_addr constant [2 x i8] c")\00" @.str1941 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1942 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1943 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1944 = private unnamed_addr constant [3 x i8] c", \00" @.str1945 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1946 = private unnamed_addr constant [2 x i8] c")\00" @.str1947 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1948 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1949 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1950 = private unnamed_addr constant [3 x i8] c", \00" @.str1951 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1952 = private unnamed_addr constant [3 x i8] c", \00" @.str1953 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1954 = private unnamed_addr constant [3 x i8] c", \00" @.str1955 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1956 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1957 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1958 = private unnamed_addr constant [3 x i8] c", \00" @.str1959 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1960 = private unnamed_addr constant [3 x i8] c", \00" @.str1961 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1962 = private unnamed_addr constant [3 x i8] c", \00" @.str1963 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1964 = private unnamed_addr constant [2 x i8] c")\00" @.str1965 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1966 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1967 = private unnamed_addr constant [6 x i8] c"94548\00" @.str1968 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1969 = private unnamed_addr constant [2 x i8] c")\00" @.str1970 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1971 = private unnamed_addr constant [4 x i8] c"log\00" @.str1972 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1973 = private unnamed_addr constant [2 x i8] c")\00" @.str1974 = private unnamed_addr constant [6 x i8] c"45426\00" @.str1975 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1976 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1977 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1978 = private unnamed_addr constant [2 x i8] c")\00" @.str1979 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1980 = private unnamed_addr constant [2 x i8] c")\00" @.str1981 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1982 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1983 = private unnamed_addr constant [5 x i8] c"1144\00" @.str1984 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1985 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1986 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str1987 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1988 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1989 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1990 = private unnamed_addr constant [3 x i8] c", \00" @.str1991 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1992 = private unnamed_addr constant [3 x i8] c", \00" @.str1993 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1994 = private unnamed_addr constant [3 x i8] c", \00" @.str1995 = private unnamed_addr constant [4 x i8] c"int\00" @.str1996 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1997 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1998 = private unnamed_addr constant [3 x i8] c", \00" @.str1999 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2000 = private unnamed_addr constant [3 x i8] c", \00" @.str2001 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2002 = private unnamed_addr constant [3 x i8] c", \00" @.str2003 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2004 = private unnamed_addr constant [3 x i8] c", \00" @.str2005 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2006 = private unnamed_addr constant [3 x i8] c", \00" @.str2007 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2008 = private unnamed_addr constant [3 x i8] c", \00" @.str2009 = private unnamed_addr constant [4 x i8] c"int\00" @.str2010 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str2011 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2012 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2013 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2014 = private unnamed_addr constant [3 x i8] c", \00" @.str2015 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2016 = private unnamed_addr constant [3 x i8] c", \00" @.str2017 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2018 = private unnamed_addr constant [3 x i8] c", \00" @.str2019 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2020 = private unnamed_addr constant [3 x i8] c", \00" @.str2021 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2022 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2023 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2024 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2025 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2026 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2027 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2028 = private unnamed_addr constant [3 x i8] c", \00" @.str2029 = private unnamed_addr constant [4 x i8] c"int\00" @.str2030 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str2031 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2032 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str2033 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2034 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2035 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2036 = private unnamed_addr constant [3 x i8] c", \00" @.str2037 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2038 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str2039 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2040 = private unnamed_addr constant [3 x i8] c", \00" @.str2041 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2042 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2043 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2044 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2045 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2046 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2047 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2048 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2049 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2050 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2051 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2052 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str2053 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2054 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str2055 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2056 = private unnamed_addr constant [3 x i8] c", \00" @.str2057 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2058 = private unnamed_addr constant [3 x i8] c", \00" @.str2059 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2060 = private unnamed_addr constant [3 x i8] c", \00" @.str2061 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2062 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2063 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2064 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2065 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str2066 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2067 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2068 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2069 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str2070 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2071 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str2072 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2073 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2074 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2075 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2076 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str2077 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2078 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2079 = 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" @.str2080 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str2081 = 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" @.str2082 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str2083 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str2084 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str2085 = 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" @.str2086 = 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" @.str2087 = 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" @.str2088 = 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" @.str2089 = 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" @.str2090 = 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" @.str2091 = 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" @.str2092 = 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" @.str2093 = 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" @.str2094 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str2095 = 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" @.str2096 = 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" @.str2097 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str2098 = 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" @.str2099 = 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" @.str2100 = 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" @.str2101 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str2102 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2103 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str2104 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str2105 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str2106 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str2107 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str2108 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str2109 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str2110 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str2111 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str2112 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str2113 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str2114 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str2115 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str2116 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str2117 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str2118 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str2119 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2120 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str2121 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str2122 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str2123 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2124 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str2125 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str2126 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str2127 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str2128 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str2129 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str2130 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str2131 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str2132 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str2133 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str2134 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str2135 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str2136 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str2137 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str2138 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str2139 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str2140 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str2141 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str2142 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str2143 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str2144 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str2145 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str2146 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str2147 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str2148 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str2149 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str2150 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str2151 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str2152 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str2153 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str2154 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str2155 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str2156 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2157 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str2158 = 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" @.str2159 = 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" @.str2160 = 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" @.str2161 = 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" @.str2162 = 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" @.str2163 = 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" @.str2164 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str2165 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str2166 = 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" @.str2167 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str2168 = 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" @.str2169 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str2170 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str2171 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str2172 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str2173 = 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" @.str2174 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str2175 = 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" @.str2176 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str2177 = 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" @.str2178 = 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" @.str2179 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str2180 = 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" @.str2181 = 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" @.str2182 = 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" @.str2183 = 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" @.str2184 = 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" @.str2185 = 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" @.str2186 = 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" @.str2187 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str2188 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2189 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2190 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str2191 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2192 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2193 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2194 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str2195 = private unnamed_addr constant [3 x i8] c", \00" @.str2196 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2197 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2198 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2199 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2200 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2201 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2202 = private unnamed_addr constant [5 x i8] c"make\00" @.str2203 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2204 = private unnamed_addr constant [2 x i8] c"x\00" @.str2205 = private unnamed_addr constant [2 x i8] c"y\00" @.str2206 = private unnamed_addr constant [4 x i8] c"add\00" @.str2207 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2208 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2209 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2210 = private unnamed_addr constant [7 x i8] c"length\00" @.str2211 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2212 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2213 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2214 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2215 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2216 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2217 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2218 = private unnamed_addr constant [2 x i8] c"0\00" @.str2219 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2220 = private unnamed_addr constant [5 x i8] c"make\00" @.str2221 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2222 = private unnamed_addr constant [2 x i8] c"x\00" @.str2223 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2224 = private unnamed_addr constant [2 x i8] c"y\00" @.str2225 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2226 = private unnamed_addr constant [4 x i8] c"add\00" @.str2227 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2228 = private unnamed_addr constant [3 x i8] c", \00" @.str2229 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2230 = private unnamed_addr constant [3 x i8] c", \00" @.str2231 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2232 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2233 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2234 = private unnamed_addr constant [3 x i8] c", \00" @.str2235 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2236 = private unnamed_addr constant [3 x i8] c", \00" @.str2237 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2238 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2239 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2240 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2241 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2242 = private unnamed_addr constant [3 x i8] c", \00" @.str2243 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2244 = private unnamed_addr constant [7 x i8] c"length\00" @.str2245 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2246 = private unnamed_addr constant [3 x i8] c", \00" @.str2247 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2248 = private unnamed_addr constant [2 x i8] c")\00" @.str2249 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2250 = private unnamed_addr constant [9 x i8] c"distance\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 [9 x i8] c"sub 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 [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2258 = private unnamed_addr constant [2 x i8] c")\00" @.str2259 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2260 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2261 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2262 = private unnamed_addr constant [3 x i8] c", \00" @.str2263 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2264 = private unnamed_addr constant [2 x i8] c")\00" @.str2265 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2266 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2267 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2268 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2269 = private unnamed_addr constant [6 x i8] c"65536\00" @.str2270 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2271 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2272 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2273 = private unnamed_addr constant [2 x i8] c")\00" @.str2274 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2275 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2276 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2277 = private unnamed_addr constant [2 x i8] c")\00" @.str2278 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2279 = private unnamed_addr constant [3 x i8] c", \00" @.str2280 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2281 = private unnamed_addr constant [3 x i8] c", \00" @.str2282 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2283 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2284 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2285 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2286 = private unnamed_addr constant [2 x i8] c")\00" @.str2287 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2288 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2289 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2290 = private unnamed_addr constant [2 x i8] c")\00" @.str2291 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2292 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2293 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2294 = private unnamed_addr constant [2 x i8] c")\00" @.str2295 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2296 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2297 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2298 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2299 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2300 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2301 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2302 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2303 = private unnamed_addr constant [5 x i8] c"make\00" @.str2304 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2305 = private unnamed_addr constant [2 x i8] c"x\00" @.str2306 = private unnamed_addr constant [2 x i8] c"y\00" @.str2307 = private unnamed_addr constant [4 x i8] c"add\00" @.str2308 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2309 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2310 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2311 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2312 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2313 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str2314 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2315 = private unnamed_addr constant [7 x i8] c"within\00" @.str2316 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2317 = private unnamed_addr constant [6 x i8] c"along\00" @.str2318 = private unnamed_addr constant [5 x i8] c"step\00" @.str2319 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2320 = private unnamed_addr constant [2 x i8] c"0\00" @.str2321 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2322 = private unnamed_addr constant [5 x i8] c"make\00" @.str2323 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2324 = private unnamed_addr constant [2 x i8] c"x\00" @.str2325 = private unnamed_addr constant [4 x i8] c"int\00" @.str2326 = private unnamed_addr constant [2 x i8] c"y\00" @.str2327 = private unnamed_addr constant [4 x i8] c"int\00" @.str2328 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2329 = private unnamed_addr constant [7 x i8] c"within\00" @.str2330 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2331 = private unnamed_addr constant [3 x i8] c", \00" @.str2332 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2333 = private unnamed_addr constant [3 x i8] c", \00" @.str2334 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2335 = private unnamed_addr constant [3 x i8] c", \00" @.str2336 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2337 = private unnamed_addr constant [3 x i8] c", \00" @.str2338 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2339 = private unnamed_addr constant [3 x i8] c", \00" @.str2340 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2341 = private unnamed_addr constant [4 x i8] c"int\00" @.str2342 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2343 = private unnamed_addr constant [3 x i8] c", \00" @.str2344 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2345 = private unnamed_addr constant [3 x i8] c", \00" @.str2346 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2347 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2348 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2349 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2350 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str2351 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str2352 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str2353 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2354 = private unnamed_addr constant [2 x i8] c")\00" @.str2355 = private unnamed_addr constant [4 x i8] c"int\00" @.str2356 = private unnamed_addr constant [6 x i8] c"along\00" @.str2357 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str2358 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str2359 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str2360 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2361 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2362 = private unnamed_addr constant [2 x i8] c")\00" @.str2363 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2364 = private unnamed_addr constant [5 x i8] c"step\00" @.str2365 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str2366 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str2367 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" @.str2368 = private unnamed_addr constant [2 x i8] c")\00" @.str2369 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2370 = private unnamed_addr constant [4 x i8] c"add\00" @.str2371 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2372 = private unnamed_addr constant [3 x i8] c", \00" @.str2373 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2374 = private unnamed_addr constant [3 x i8] c", \00" @.str2375 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2376 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2377 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2378 = private unnamed_addr constant [3 x i8] c", \00" @.str2379 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2380 = private unnamed_addr constant [3 x i8] c", \00" @.str2381 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2382 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2383 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2384 = private unnamed_addr constant [3 x i8] c", \00" @.str2385 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2386 = private unnamed_addr constant [3 x i8] c", \00" @.str2387 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2388 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2389 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2390 = private unnamed_addr constant [3 x i8] c", \00" @.str2391 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2392 = private unnamed_addr constant [3 x i8] c", \00" @.str2393 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2394 = private unnamed_addr constant [3 x i8] c", \00" @.str2395 = private unnamed_addr constant [4 x i8] c"int\00" @.str2396 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2397 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str2398 = private unnamed_addr constant [3 x i8] c", \00" @.str2399 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2400 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2401 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2402 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2403 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2404 = private unnamed_addr constant [3 x i8] c", \00" @.str2405 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2406 = private unnamed_addr constant [3 x i8] c", \00" @.str2407 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2408 = private unnamed_addr constant [3 x i8] c", \00" @.str2409 = private unnamed_addr constant [4 x i8] c"int\00" @.str2410 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2411 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2412 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2413 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2414 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2415 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2416 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2417 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2418 = private unnamed_addr constant [5 x i8] c", 96\00" @.str2419 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2420 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2421 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2422 = private unnamed_addr constant [5 x i8] c", 64\00" @.str2423 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2424 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2425 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2426 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2427 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2428 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2429 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2430 = private unnamed_addr constant [3 x i8] c", \00" @.str2431 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2432 = private unnamed_addr constant [3 x i8] c", \00" @.str2433 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2434 = private unnamed_addr constant [3 x i8] c", \00" @.str2435 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2436 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2437 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str2438 = private unnamed_addr constant [3 x i8] c", \00" @.str2439 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2440 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2441 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str2442 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str2443 = private unnamed_addr constant [3 x i8] c", \00" @.str2444 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2445 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2446 = private unnamed_addr constant [5 x i8] c"make\00" @.str2447 = private unnamed_addr constant [2 x i8] c"x\00" @.str2448 = private unnamed_addr constant [2 x i8] c"y\00" @.str2449 = private unnamed_addr constant [2 x i8] c"w\00" @.str2450 = private unnamed_addr constant [2 x i8] c"h\00" @.str2451 = private unnamed_addr constant [6 x i8] c"right\00" @.str2452 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2453 = private unnamed_addr constant [7 x i8] c"center\00" @.str2454 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2455 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str2456 = private unnamed_addr constant [5 x i8] c"make\00" @.str2457 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str2458 = private unnamed_addr constant [2 x i8] c"x\00" @.str2459 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2460 = private unnamed_addr constant [2 x i8] c"y\00" @.str2461 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2462 = private unnamed_addr constant [2 x i8] c"w\00" @.str2463 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2464 = private unnamed_addr constant [2 x i8] c"h\00" @.str2465 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2466 = private unnamed_addr constant [6 x i8] c"right\00" @.str2467 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2468 = private unnamed_addr constant [3 x i8] c", \00" @.str2469 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2470 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2471 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2472 = private unnamed_addr constant [3 x i8] c", \00" @.str2473 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2474 = private unnamed_addr constant [7 x i8] c"center\00" @.str2475 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2476 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2477 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2478 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2479 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2480 = private unnamed_addr constant [3 x i8] c", \00" @.str2481 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2482 = private unnamed_addr constant [3 x i8] c", \00" @.str2483 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2484 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2485 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2486 = private unnamed_addr constant [3 x i8] c", \00" @.str2487 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2488 = private unnamed_addr constant [3 x i8] c", \00" @.str2489 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2490 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2491 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2492 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2493 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2494 = private unnamed_addr constant [3 x i8] c", \00" @.str2495 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2496 = private unnamed_addr constant [3 x i8] c", \00" @.str2497 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2498 = private unnamed_addr constant [3 x i8] c", \00" @.str2499 = private unnamed_addr constant [5 x i8] c"bool\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 [9 x i8] c"add i32 \00" @.str2505 = private unnamed_addr constant [3 x i8] c", \00" @.str2506 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2507 = private unnamed_addr constant [3 x i8] c", \00" @.str2508 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2509 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2510 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2511 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2512 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2513 = private unnamed_addr constant [3 x i8] c", \00" @.str2514 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2515 = private unnamed_addr constant [3 x i8] c", \00" @.str2516 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2517 = private unnamed_addr constant [3 x i8] c", \00" @.str2518 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2519 = private unnamed_addr constant [7 x i8] c"length\00" @.str2520 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2521 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2522 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2523 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2524 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2525 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2526 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2527 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2528 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2529 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2530 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2531 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2532 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2533 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2534 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2535 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2536 = private unnamed_addr constant [6 x i8] c"split\00" @.str2537 = private unnamed_addr constant [5 x i8] c"join\00" @.str2538 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2539 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2540 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2541 = private unnamed_addr constant [2 x i8] c")\00" @.str2542 = private unnamed_addr constant [7 x i8] c"string\00" @.str2543 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2544 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2545 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2546 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2547 = private unnamed_addr constant [2 x i8] c")\00" @.str2548 = private unnamed_addr constant [7 x i8] c"string\00" @.str2549 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2550 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2551 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2552 = private unnamed_addr constant [2 x i8] c")\00" @.str2553 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2554 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2555 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2556 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2557 = private unnamed_addr constant [2 x i8] c")\00" @.str2558 = private unnamed_addr constant [7 x i8] c"string\00" @.str2559 = private unnamed_addr constant [7 x i8] c"length\00" @.str2560 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2561 = private unnamed_addr constant [2 x i8] c")\00" @.str2562 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2563 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2564 = private unnamed_addr constant [4 x i8] c"int\00" @.str2565 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2566 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2567 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2568 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2569 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2570 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2571 = private unnamed_addr constant [4 x i8] c"int\00" @.str2572 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2573 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2574 = private unnamed_addr constant [2 x i8] c")\00" @.str2575 = private unnamed_addr constant [4 x i8] c"int\00" @.str2576 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2577 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2578 = private unnamed_addr constant [2 x i8] c")\00" @.str2579 = private unnamed_addr constant [7 x i8] c"string\00" @.str2580 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2581 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2582 = private unnamed_addr constant [2 x i8] c")\00" @.str2583 = private unnamed_addr constant [7 x i8] c"string\00" @.str2584 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2585 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2586 = private unnamed_addr constant [2 x i8] c")\00" @.str2587 = private unnamed_addr constant [7 x i8] c"string\00" @.str2588 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2589 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2590 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2591 = private unnamed_addr constant [2 x i8] c")\00" @.str2592 = private unnamed_addr constant [7 x i8] c"string\00" @.str2593 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2594 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2595 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2596 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2597 = private unnamed_addr constant [7 x i8] c"string\00" @.str2598 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2599 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2600 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2601 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2602 = private unnamed_addr constant [7 x i8] c"string\00" @.str2603 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2604 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2605 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2606 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2607 = private unnamed_addr constant [2 x i8] c")\00" @.str2608 = private unnamed_addr constant [7 x i8] c"string\00" @.str2609 = private unnamed_addr constant [6 x i8] c"split\00" @.str2610 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2611 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2612 = private unnamed_addr constant [2 x i8] c")\00" @.str2613 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2614 = private unnamed_addr constant [5 x i8] c"join\00" @.str2615 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2616 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2617 = private unnamed_addr constant [2 x i8] c")\00" @.str2618 = private unnamed_addr constant [7 x i8] c"string\00" @.str2619 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2620 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2621 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str2622 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2623 = private unnamed_addr constant [2 x i8] c")\00" @.str2624 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2625 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2626 = private unnamed_addr constant [7 x i8] c", null\00" @.str2627 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2628 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2629 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2630 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2631 = private unnamed_addr constant [7 x i8] c", null\00" @.str2632 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2633 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2634 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2635 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2636 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2637 = private unnamed_addr constant [3 x i8] c", \00" @.str2638 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2639 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2640 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2641 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str2642 = private unnamed_addr constant [4 x i8] c"int\00" @.str2643 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2644 = private unnamed_addr constant [2 x i8] c")\00" @.str2645 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2646 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2647 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2648 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2649 = private unnamed_addr constant [2 x i8] c")\00" @.str2650 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2651 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2652 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2653 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2654 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2655 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2656 = private unnamed_addr constant [2 x i8] c")\00" @.str2657 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2658 = private unnamed_addr constant [3 x i8] c", \00" @.str2659 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2660 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2661 = private unnamed_addr constant [2 x i8] c"0\00" @.str2662 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str2663 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2664 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str2665 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str2666 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str2667 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2668 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2669 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2670 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2671 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2672 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2673 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2674 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2675 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2676 = private unnamed_addr constant [2 x i8] c")\00" @.str2677 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2678 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2679 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2680 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2681 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2682 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str2683 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2684 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2685 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str2686 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2687 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str2688 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2689 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2690 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2691 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2692 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2693 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2694 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2695 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2696 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2697 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2698 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2699 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2700 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2701 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2702 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str2703 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str2704 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2705 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str2706 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2707 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2708 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2709 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2710 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2711 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2712 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2713 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2714 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2715 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2716 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2717 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str2718 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2719 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2720 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2721 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2722 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2723 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2724 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2725 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2726 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2727 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2728 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2729 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2730 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2731 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2732 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str2733 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str2734 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2735 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str2736 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2737 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2738 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2739 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2740 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2741 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2742 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2743 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2744 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2745 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2746 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2747 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str2748 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2749 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2750 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str2751 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str2752 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str2753 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str2754 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2755 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str2756 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str2757 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str2758 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str2759 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str2760 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str2761 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str2762 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str2763 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str2764 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str2765 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str2766 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str2767 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str2768 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2769 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str2770 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str2771 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str2772 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str2773 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str2774 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str2775 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str2776 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str2777 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str2778 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str2779 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str2780 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str2781 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str2782 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str2783 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str2784 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str2785 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str2786 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str2787 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str2788 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2789 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str2790 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str2791 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str2792 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2793 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2794 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2795 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str2796 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str2797 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str2798 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str2799 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str2800 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str2801 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str2802 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str2803 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str2804 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2805 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str2806 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2807 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str2808 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str2809 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str2810 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2811 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str2812 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str2813 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2814 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2815 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2816 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2817 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2818 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2819 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2820 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2821 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2822 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str2823 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str2824 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str2825 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2826 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2827 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2828 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2829 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str2830 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2831 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2832 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2833 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str2834 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2835 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2836 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str2837 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str2838 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str2839 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str2840 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str2841 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2842 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str2843 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str2844 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str2845 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str2846 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2847 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str2848 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str2849 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str2850 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2851 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str2852 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str2853 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str2854 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str2855 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str2856 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2857 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str2858 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str2859 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str2860 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2861 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str2862 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str2863 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2864 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2865 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2866 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str2867 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2868 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2869 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2870 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2871 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2872 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2873 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str2874 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str2875 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2876 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str2877 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str2878 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str2879 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2880 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2881 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2882 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2883 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str2884 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2885 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str2886 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2887 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str2888 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str2889 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str2890 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str2891 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str2892 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str2893 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2894 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str2895 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2896 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str2897 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str2898 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str2899 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2900 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str2901 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2902 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2903 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2904 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2905 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2906 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str2907 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2908 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str2909 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2910 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2911 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2912 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2913 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str2914 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2915 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2916 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str2917 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2918 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str2919 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str2920 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str2921 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str2922 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2923 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2924 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2925 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2926 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2927 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2928 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str2929 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2930 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str2931 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2932 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str2933 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str2934 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2935 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2936 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2937 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str2938 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str2939 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str2940 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str2941 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str2942 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str2943 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str2944 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str2945 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2946 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str2947 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str2948 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str2949 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str2950 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str2951 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str2952 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2953 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2954 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str2955 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2956 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str2957 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str2958 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str2959 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str2960 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str2961 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2962 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str2963 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str2964 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2965 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2966 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2967 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str2968 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2969 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str2970 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str2971 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str2972 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str2973 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str2974 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str2975 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str2976 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str2977 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str2978 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2979 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2980 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2981 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str2982 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str2983 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str2984 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str2985 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str2986 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str2987 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str2988 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str2989 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2990 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2991 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2992 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str2993 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str2994 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2995 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str2996 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str2997 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str2998 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str2999 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str3000 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str3001 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str3002 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str3003 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str3004 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str3005 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str3006 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str3007 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str3008 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str3009 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str3010 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str3011 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str3012 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str3013 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str3014 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str3015 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str3016 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str3017 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str3018 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str3019 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str3020 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str3021 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str3022 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3023 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3024 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str3025 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3026 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str3027 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str3028 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str3029 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str3030 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str3031 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3032 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str3033 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str3034 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str3035 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str3036 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str3037 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str3038 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str3039 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str3040 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str3041 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str3042 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str3043 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3044 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str3045 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str3046 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str3047 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str3048 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str3049 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str3050 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str3051 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str3052 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str3053 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str3054 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str3055 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str3056 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str3057 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str3058 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3059 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3060 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3061 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str3062 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3063 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str3064 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str3065 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str3066 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str3067 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str3068 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str3069 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str3070 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str3071 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str3072 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str3073 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str3074 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3075 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str3076 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str3077 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3078 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str3079 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str3080 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str3081 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str3082 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str3083 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str3084 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str3085 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3086 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str3087 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str3088 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str3089 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str3090 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3091 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3092 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3093 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3094 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str3095 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3096 = private unnamed_addr constant [3 x i8] c"of\00" @.str3097 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3098 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3099 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3100 = private unnamed_addr constant [8 x i8] c"combine\00" @.str3101 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3102 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3103 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3104 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3105 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3106 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3107 = private unnamed_addr constant [3 x i8] c", \00" @.str3108 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3109 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str3110 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3111 = private unnamed_addr constant [5 x i8] c", 13\00" @.str3112 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3113 = private unnamed_addr constant [3 x i8] c", \00" @.str3114 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3115 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str3116 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3117 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3118 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3119 = private unnamed_addr constant [3 x i8] c", \00" @.str3120 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3121 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3122 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3123 = private unnamed_addr constant [3 x i8] c", \00" @.str3124 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3125 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str3126 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3127 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3128 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3129 = private unnamed_addr constant [3 x i8] c", \00" @.str3130 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3131 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str3132 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3133 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3134 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3135 = private unnamed_addr constant [3 x i8] c", \00" @.str3136 = private unnamed_addr constant [3 x i8] c"of\00" @.str3137 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3138 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str3139 = private unnamed_addr constant [2 x i8] c")\00" @.str3140 = private unnamed_addr constant [4 x i8] c"int\00" @.str3141 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3142 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3143 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str3144 = private unnamed_addr constant [2 x i8] c")\00" @.str3145 = private unnamed_addr constant [5 x i8] c"long\00" @.str3146 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3147 = private unnamed_addr constant [5 x i8] c"long\00" @.str3148 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3149 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str3150 = private unnamed_addr constant [2 x i8] c")\00" @.str3151 = private unnamed_addr constant [4 x i8] c"int\00" @.str3152 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3153 = private unnamed_addr constant [4 x i8] c"int\00" @.str3154 = private unnamed_addr constant [2 x i8] c"0\00" @.str3155 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3156 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str3157 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str3158 = private unnamed_addr constant [4 x i8] c", 6\00" @.str3159 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3160 = private unnamed_addr constant [4 x i8] c", 2\00" @.str3161 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3162 = private unnamed_addr constant [3 x i8] c", \00" @.str3163 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3164 = private unnamed_addr constant [3 x i8] c", \00" @.str3165 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3166 = private unnamed_addr constant [3 x i8] c", \00" @.str3167 = private unnamed_addr constant [4 x i8] c"int\00" @.str3168 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str3169 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3170 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str3171 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str3172 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3173 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3174 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3175 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3176 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3177 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3178 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3179 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3180 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3181 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3182 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str3183 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str3184 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str3185 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str3186 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str3187 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3188 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3189 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3190 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3191 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str3192 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str3193 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3194 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str3195 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3196 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str3197 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str3198 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3199 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3200 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3201 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3202 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3203 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3204 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3205 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3206 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3207 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3208 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str3209 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str3210 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str3211 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str3212 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str3213 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3214 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3215 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3216 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3217 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str3218 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str3219 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3220 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str3221 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3222 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str3223 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str3224 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3225 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3226 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str3227 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3228 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3229 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3230 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3231 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str3232 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str3233 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3234 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3235 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str3236 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str3237 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str3238 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str3239 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str3240 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3241 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str3242 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str3243 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str3244 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str3245 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str3246 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str3247 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str3248 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str3249 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str3250 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str3251 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str3252 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str3253 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str3254 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str3255 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3256 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str3257 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3258 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3259 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3260 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3261 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str3262 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str3263 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str3264 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3265 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3266 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3267 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str3268 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3269 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3270 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3271 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3272 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3273 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3274 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3275 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str3276 = private unnamed_addr constant [2 x i8] c")\00" @.str3277 = private unnamed_addr constant [7 x i8] c"string\00" @.str3278 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3279 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3280 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3281 = private unnamed_addr constant [2 x i8] c")\00" @.str3282 = private unnamed_addr constant [7 x i8] c"string\00" @.str3283 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3284 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str3285 = private unnamed_addr constant [2 x i8] c")\00" @.str3286 = private unnamed_addr constant [7 x i8] c"string\00" @.str3287 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3288 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3289 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3290 = private unnamed_addr constant [2 x i8] c")\00" @.str3291 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3292 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3293 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3294 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str3295 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str3296 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str3297 = private unnamed_addr constant [2 x i8] c")\00" @.str3298 = private unnamed_addr constant [7 x i8] c"string\00" @.str3299 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3300 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str3301 = private unnamed_addr constant [4 x i8] c"int\00" @.str3302 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3303 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str3304 = private unnamed_addr constant [2 x i8] c")\00" @.str3305 = private unnamed_addr constant [7 x i8] c"string\00" @.str3306 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3307 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3308 = private unnamed_addr constant [2 x i8] c")\00" @.str3309 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3310 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3311 = private unnamed_addr constant [2 x i8] c")\00" @.str3312 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3313 = 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" @.str3314 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str3315 = 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" @.str3316 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str3317 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3318 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str3319 = 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" @.str3320 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str3321 = 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" @.str3322 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str3323 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str3324 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str3325 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str3326 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str3327 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str3328 = 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" @.str3329 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str3330 = 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" @.str3331 = 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" @.str3332 = 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" @.str3333 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str3334 = 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" @.str3335 = 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" @.str3336 = 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" @.str3337 = 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" @.str3338 = 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" @.str3339 = 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" @.str3340 = 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" @.str3341 = 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" @.str3342 = 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" @.str3343 = 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" @.str3344 = 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" @.str3345 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str3346 = 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" @.str3347 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str3348 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str3349 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str3350 = 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" @.str3351 = 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" @.str3352 = 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" @.str3353 = 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" @.str3354 = 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" @.str3355 = 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" @.str3356 = 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" @.str3357 = 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" @.str3358 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str3359 = 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" @.str3360 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str3361 = 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" @.str3362 = 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" @.str3363 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str3364 = 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" @.str3365 = 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" @.str3366 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str3367 = 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" @.str3368 = 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" @.str3369 = 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" @.str3370 = 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" @.str3371 = 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" @.str3372 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str3373 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str3374 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str3375 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str3376 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str3377 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str3378 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str3379 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str3380 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str3381 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str3382 = 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" @.str3383 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str3384 = 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" @.str3385 = 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" @.str3386 = 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" @.str3387 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str3388 = 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" @.str3389 = 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" @.str3390 = 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" @.str3391 = 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" @.str3392 = 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" @.str3393 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str3394 = 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" @.str3395 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str3396 = 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" @.str3397 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str3398 = 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" @.str3399 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str3400 = 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" @.str3401 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str3402 = 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" @.str3403 = 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" @.str3404 = 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" @.str3405 = 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" @.str3406 = 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" @.str3407 = 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" @.str3408 = 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" @.str3409 = 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" @.str3410 = 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" @.str3411 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str3412 = 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" @.str3413 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str3414 = 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" @.str3415 = 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" @.str3416 = 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" @.str3417 = 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" @.str3418 = 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" @.str3419 = 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" @.str3420 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str3421 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str3422 = 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" @.str3423 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str3424 = 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" @.str3425 = 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" @.str3426 = 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" @.str3427 = 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" @.str3428 = 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" @.str3429 = 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" @.str3430 = 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" @.str3431 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str3432 = 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" @.str3433 = 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" @.str3434 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str3435 = 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" @.str3436 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str3437 = 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" @.str3438 = 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" @.str3439 = 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" @.str3440 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str3441 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str3442 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3443 = 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" @.str3444 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str3445 = 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" @.str3446 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str3447 = 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" @.str3448 = 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" @.str3449 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str3450 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str3451 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str3452 = 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" @.str3453 = 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" @.str3454 = 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" @.str3455 = 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" @.str3456 = 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" @.str3457 = 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" @.str3458 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str3459 = 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" @.str3460 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str3461 = 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" @.str3462 = 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" @.str3463 = 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" @.str3464 = 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" @.str3465 = 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" @.str3466 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str3467 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str3468 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str3469 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str3470 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str3471 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str3472 = 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" @.str3473 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str3474 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str3475 = 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" @.str3476 = 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" @.str3477 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str3478 = 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" @.str3479 = 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" @.str3480 = 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" @.str3481 = 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" @.str3482 = 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" @.str3483 = 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" @.str3484 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str3485 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3486 = 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" @.str3487 = 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" @.str3488 = 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" @.str3489 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str3490 = 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" @.str3491 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str3492 = 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" @.str3493 = 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" @.str3494 = 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" @.str3495 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str3496 = 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" @.str3497 = 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" @.str3498 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str3499 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str3500 = 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" @.str3501 = 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" @.str3502 = 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" @.str3503 = 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" @.str3504 = 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" @.str3505 = 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" @.str3506 = 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" @.str3507 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3508 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3509 = 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" @.str3510 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3511 = 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" @.str3512 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3513 = private unnamed_addr constant [4 x i8] c"new\00" @.str3514 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3515 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3516 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3517 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3518 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3519 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3520 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3521 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3522 = private unnamed_addr constant [4 x i8] c"new\00" @.str3523 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3524 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3525 = private unnamed_addr constant [7 x i8] c"string\00" @.str3526 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3527 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3528 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3529 = private unnamed_addr constant [7 x i8] c"string\00" @.str3530 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3531 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3532 = private unnamed_addr constant [7 x i8] c"string\00" @.str3533 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3534 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3535 = private unnamed_addr constant [2 x i8] c")\00" @.str3536 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3537 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3538 = private unnamed_addr constant [7 x i8] c"string\00" @.str3539 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3540 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3541 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3542 = private unnamed_addr constant [2 x i8] c")\00" @.str3543 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3544 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3545 = private unnamed_addr constant [2 x i8] c")\00" @.str3546 = private unnamed_addr constant [7 x i8] c"string\00" @.str3547 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3548 = 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" @.str3549 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3550 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3551 = 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" @.str3552 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3553 = 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" @.str3554 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3555 = 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" @.str3556 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3557 = 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" @.str3558 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3559 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3560 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3561 = 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" @.str3562 = 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" @.str3563 = 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" @.str3564 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3565 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3566 = 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" @.str3567 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3568 = 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" @.str3569 = 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" @.str3570 = 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" @.str3571 = 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" @.str3572 = 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" @.str3573 = 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" @.str3574 = 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" @.str3575 = 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" @.str3576 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3577 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3578 = 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" @.str3579 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3580 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3581 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3582 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3583 = 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" @.str3584 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3585 = 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" @.str3586 = 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" @.str3587 = 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" @.str3588 = 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" @.str3589 = 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" @.str3590 = 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" @.str3591 = 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" @.str3592 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3593 = 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" @.str3594 = 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" @.str3595 = 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" @.str3596 = 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" @.str3597 = 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" @.str3598 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3599 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3600 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3601 = 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" @.str3602 = 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" @.str3603 = 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" @.str3604 = 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" @.str3605 = 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" @.str3606 = 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" @.str3607 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3608 = 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" @.str3609 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3610 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str3611 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str3612 = 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" @.str3613 = 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" @.str3614 = 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" @.str3615 = 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" @.str3616 = 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" @.str3617 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str3618 = 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" @.str3619 = 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" @.str3620 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str3621 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3622 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3623 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3624 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3625 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3626 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str3627 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3628 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3629 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str3630 = private unnamed_addr constant [4 x i8] c", 1\00" @.str3631 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3632 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str3633 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3634 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3635 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str3636 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3637 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3638 = private unnamed_addr constant [2 x i8] c")\00" @.str3639 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3640 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3641 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str3642 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3643 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3644 = private unnamed_addr constant [2 x i8] c")\00" @.str3645 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3646 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3647 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str3648 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3649 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3650 = private unnamed_addr constant [2 x i8] c")\00" @.str3651 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3652 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3653 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str3654 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3655 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3656 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3657 = private unnamed_addr constant [2 x i8] c")\00" @.str3658 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3659 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3660 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str3661 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3662 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3663 = private unnamed_addr constant [2 x i8] c")\00" @.str3664 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3665 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str3666 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3667 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3668 = private unnamed_addr constant [2 x i8] c")\00" @.str3669 = private unnamed_addr constant [4 x i8] c"int\00" @.str3670 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str3671 = 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" @.str3672 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str3673 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str3674 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3675 = 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" @.str3676 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str3677 = 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" @.str3678 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str3679 = 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" @.str3680 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str3681 = 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" @.str3682 = 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" @.str3683 = 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" @.str3684 = 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" @.str3685 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str3686 = 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" @.str3687 = 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" @.str3688 = 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" @.str3689 = 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" @.str3690 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3691 = 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" @.str3692 = 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" @.str3693 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3694 = 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" @.str3695 = 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" @.str3696 = 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" @.str3697 = 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" @.str3698 = 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" @.str3699 = 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" @.str3700 = 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" @.str3701 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3702 = 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" @.str3703 = 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" @.str3704 = 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" @.str3705 = 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" @.str3706 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3707 = 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" @.str3708 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str3709 = 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" @.str3710 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3711 = 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" @.str3712 = 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" @.str3713 = 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" @.str3714 = 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" @.str3715 = 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" @.str3716 = 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" @.str3717 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3718 = 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" @.str3719 = 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" @.str3720 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3721 = 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" @.str3722 = 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" @.str3723 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3724 = 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" @.str3725 = 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" @.str3726 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str3727 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str3728 = 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" @.str3729 = 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" @.str3730 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str3731 = 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" @.str3732 = 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" @.str3733 = 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" @.str3734 = 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" @.str3735 = 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" @.str3736 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str3737 = 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" @.str3738 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str3739 = 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" @.str3740 = 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" @.str3741 = 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" @.str3742 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str3743 = 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" @.str3744 = 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" @.str3745 = 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" @.str3746 = 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" @.str3747 = 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" @.str3748 = 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" @.str3749 = 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" @.str3750 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str3751 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str3752 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str3753 = 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" @.str3754 = 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" @.str3755 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str3756 = 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" @.str3757 = 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" @.str3758 = 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" @.str3759 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str3760 = 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" @.str3761 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str3762 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str3763 = 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" @.str3764 = 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" @.str3765 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str3766 = 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" @.str3767 = 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" @.str3768 = 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" @.str3769 = 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" @.str3770 = 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" @.str3771 = 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" @.str3772 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3773 = 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" @.str3774 = 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" @.str3775 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3776 = 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" @.str3777 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str3778 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3779 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3780 = private unnamed_addr constant [5 x i8] c"info\00" @.str3781 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3782 = private unnamed_addr constant [6 x i8] c"error\00" @.str3783 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3784 = private unnamed_addr constant [6 x i8] c"level\00" @.str3785 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str3786 = private unnamed_addr constant [4 x i8] c"i64\00" @.str3787 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str3788 = private unnamed_addr constant [2 x i8] c")\00" @.str3789 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str3790 = private unnamed_addr constant [2 x i8] c")\00" @.str3791 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3792 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str3793 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str3794 = private unnamed_addr constant [2 x i8] c"0\00" @.str3795 = private unnamed_addr constant [5 x i8] c"void\00" @.str3796 = private unnamed_addr constant [6 x i8] c"level\00" @.str3797 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str3798 = private unnamed_addr constant [4 x i8] c"int\00" @.str3799 = private unnamed_addr constant [2 x i8] c"2\00" @.str3800 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str3801 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3802 = private unnamed_addr constant [2 x i8] c"0\00" @.str3803 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str3804 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3805 = private unnamed_addr constant [2 x i8] c"1\00" @.str3806 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str3807 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3808 = private unnamed_addr constant [2 x i8] c"3\00" @.str3809 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str3810 = private unnamed_addr constant [6 x i8] c"error\00" @.str3811 = private unnamed_addr constant [2 x i8] c"4\00" @.str3812 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str3813 = private unnamed_addr constant [7 x i8] c"string\00" @.str3814 = private unnamed_addr constant [2 x i8] c"+\00" @.str3815 = private unnamed_addr constant [7 x i8] c"string\00" @.str3816 = private unnamed_addr constant [2 x i8] c"+\00" @.str3817 = private unnamed_addr constant [2 x i8] c" \00" @.str3818 = private unnamed_addr constant [7 x i8] c"string\00" @.str3819 = private unnamed_addr constant [2 x i8] c"+\00" @.str3820 = private unnamed_addr constant [7 x i8] c"string\00" @.str3821 = private unnamed_addr constant [2 x i8] c"+\00" @.str3822 = private unnamed_addr constant [2 x i8] c"=\00" @.str3823 = private unnamed_addr constant [7 x i8] c"string\00" @.str3824 = private unnamed_addr constant [2 x i8] c"+\00" @.str3825 = private unnamed_addr constant [7 x i8] c"string\00" @.str3826 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str3827 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3828 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3829 = private unnamed_addr constant [2 x i8] c"0\00" @.str3830 = private unnamed_addr constant [5 x i8] c"void\00" @.str3831 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str3832 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str3833 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str3834 = 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" @.str3835 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str3836 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3837 = 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" @.str3838 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str3839 = private unnamed_addr constant [5 x i8] c"args\00" @.str3840 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3841 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3842 = private unnamed_addr constant [4 x i8] c"env\00" @.str3843 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3844 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3845 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3846 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3847 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3848 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3849 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3850 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3851 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3852 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3853 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3854 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3855 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3856 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str3857 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3858 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str3859 = private unnamed_addr constant [4 x i8] c"int\00" @.str3860 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3861 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str3862 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str3863 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3864 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3865 = private unnamed_addr constant [7 x i8] c"string\00" @.str3866 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3867 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str3868 = private unnamed_addr constant [4 x i8] c"int\00" @.str3869 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3870 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str3871 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3872 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str3873 = private unnamed_addr constant [2 x i8] c"0\00" @.str3874 = private unnamed_addr constant [5 x i8] c"void\00" @.str3875 = private unnamed_addr constant [4 x i8] c"env\00" @.str3876 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3877 = private unnamed_addr constant [2 x i8] c")\00" @.str3878 = private unnamed_addr constant [7 x i8] c"string\00" @.str3879 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3880 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3881 = private unnamed_addr constant [2 x i8] c")\00" @.str3882 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str3883 = private unnamed_addr constant [7 x i8] c", null\00" @.str3884 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3885 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3886 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3887 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3888 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3889 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3890 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3891 = private unnamed_addr constant [2 x i8] c")\00" @.str3892 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str3893 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str3894 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3895 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3896 = private unnamed_addr constant [2 x i8] c"0\00" @.str3897 = private unnamed_addr constant [5 x i8] c"void\00" @.str3898 = private unnamed_addr constant [5 x i8] c"args\00" @.str3899 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str3900 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3901 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3902 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str3903 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3904 = private unnamed_addr constant [2 x i8] c")\00" @.str3905 = private unnamed_addr constant [7 x i8] c"string\00" @.str3906 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3907 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str3908 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3909 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3910 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3911 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3912 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3913 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3914 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3915 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3916 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str3917 = private unnamed_addr constant [2 x i8] c")\00" @.str3918 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3919 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3920 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3921 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3922 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3923 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3924 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str3925 = private unnamed_addr constant [7 x i8] c"string\00" @.str3926 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3927 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str3928 = private unnamed_addr constant [7 x i8] c"string\00" @.str3929 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3930 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str3931 = private unnamed_addr constant [2 x i8] c")\00" @.str3932 = private unnamed_addr constant [7 x i8] c"string\00" @.str3933 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3934 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str3935 = private unnamed_addr constant [2 x i8] c")\00" @.str3936 = private unnamed_addr constant [7 x i8] c"string\00" @.str3937 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3938 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str3939 = private unnamed_addr constant [2 x i8] c")\00" @.str3940 = private unnamed_addr constant [7 x i8] c"string\00" @.str3941 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str3942 = private unnamed_addr constant [7 x i8] c"string\00" @.str3943 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str3944 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str3945 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str3946 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str3947 = private unnamed_addr constant [2 x i8] c".\00" @.str3948 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str3949 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str3950 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3951 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3952 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str3953 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str3954 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str3955 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str3956 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str3957 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str3958 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str3959 = private unnamed_addr constant [2 x i8] c"/\00" @.str3960 = private unnamed_addr constant [6 x i8] c"macos\00" @.str3961 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str3962 = private unnamed_addr constant [6 x i8] c"linux\00" @.str3963 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str3964 = 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" @.str3965 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str3966 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str3967 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str3968 = 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" @.str3969 = 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" @.str3970 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str3971 = 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" @.str3972 = 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" @.str3973 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str3974 = 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" @.str3975 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3976 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3977 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3978 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str3979 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str3980 = 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" @.str3981 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str3982 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3983 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3984 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str3985 = 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" @.str3986 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str3987 = 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" @.str3988 = 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" @.str3989 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str3990 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str3991 = 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" @.str3992 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str3993 = 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" @.str3994 = 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" @.str3995 = 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" @.str3996 = 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" @.str3997 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3998 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3999 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4000 = 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" @.str4001 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4002 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4003 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4004 = 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" @.str4005 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4006 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4007 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4008 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4009 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4010 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4011 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4012 = 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" @.str4013 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4014 = 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" @.str4015 = 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" @.str4016 = 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" @.str4017 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4018 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str4019 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4020 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str4021 = 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" @.str4022 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str4023 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4024 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str4025 = 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" @.str4026 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str4027 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4028 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str4029 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str4030 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4031 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str4032 = private unnamed_addr constant [4 x i8] c"len\00" @.str4033 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4034 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4035 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4036 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4037 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4038 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4039 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4040 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str4041 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4042 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str4043 = private unnamed_addr constant [2 x i8] c")\00" @.str4044 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str4045 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4046 = private unnamed_addr constant [4 x i8] c"int\00" @.str4047 = private unnamed_addr constant [4 x i8] c"len\00" @.str4048 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str4049 = private unnamed_addr constant [2 x i8] c")\00" @.str4050 = private unnamed_addr constant [4 x i8] c"int\00" @.str4051 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4052 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str4053 = private unnamed_addr constant [2 x i8] c")\00" @.str4054 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4055 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4056 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str4057 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4058 = private unnamed_addr constant [2 x i8] c")\00" @.str4059 = private unnamed_addr constant [4 x i8] c"int\00" @.str4060 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4061 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str4062 = private unnamed_addr constant [2 x i8] c")\00" @.str4063 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4064 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4065 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4066 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str4067 = private unnamed_addr constant [7 x i8] c"string\00" @.str4068 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4069 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4070 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str4071 = private unnamed_addr constant [7 x i8] c"string\00" @.str4072 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4073 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str4074 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4075 = private unnamed_addr constant [2 x i8] c")\00" @.str4076 = private unnamed_addr constant [7 x i8] c"string\00" @.str4077 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str4078 = private unnamed_addr constant [2 x i8] c")\00" @.str4079 = private unnamed_addr constant [4 x i8] c"int\00" @.str4080 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str4081 = 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" @.str4082 = 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" @.str4083 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4084 = 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" @.str4085 = 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" @.str4086 = 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" @.str4087 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4088 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str4089 = 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" @.str4090 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str4091 = 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" @.str4092 = 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" @.str4093 = 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" @.str4094 = 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" @.str4095 = 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" @.str4096 = 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" @.str4097 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str4098 = 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" @.str4099 = 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" @.str4100 = 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" @.str4101 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str4102 = 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" @.str4103 = 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" @.str4104 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str4105 = 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" @.str4106 = 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" @.str4107 = 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" @.str4108 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str4109 = 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" @.str4110 = 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" @.str4111 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str4112 = 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" @.str4113 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str4114 = 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" @.str4115 = 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" @.str4116 = 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" @.str4117 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str4118 = 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" @.str4119 = 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" @.str4120 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str4121 = 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" @.str4122 = 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" @.str4123 = 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" @.str4124 = 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" @.str4125 = 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" @.str4126 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4127 = 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" @.str4128 = 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" @.str4129 = 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" @.str4130 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str4131 = 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" @.str4132 = 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" @.str4133 = 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" @.str4134 = 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" @.str4135 = 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" @.str4136 = 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" @.str4137 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str4138 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str4139 = 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" @.str4140 = 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" @.str4141 = 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" @.str4142 = 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" @.str4143 = 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" @.str4144 = 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" @.str4145 = 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" @.str4146 = 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" @.str4147 = 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" @.str4148 = 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" @.str4149 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str4150 = 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" @.str4151 = 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" @.str4152 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str4153 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str4154 = 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" @.str4155 = 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" @.str4156 = 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" @.str4157 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str4158 = 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" @.str4159 = 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" @.str4160 = 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" @.str4161 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str4162 = 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" @.str4163 = 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" @.str4164 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str4165 = 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" @.str4166 = 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" @.str4167 = 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" @.str4168 = 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" @.str4169 = 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" @.str4170 = 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" @.str4171 = 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" @.str4172 = 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" @.str4173 = 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" @.str4174 = 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" @.str4175 = 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" @.str4176 = 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" @.str4177 = 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" @.str4178 = 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" @.str4179 = 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" @.str4180 = 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" @.str4181 = 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" @.str4182 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str4183 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str4184 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str4185 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str4186 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str4187 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str4188 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str4189 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str4190 = 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" @.str4191 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str4192 = 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" @.str4193 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str4194 = 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" @.str4195 = 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" @.str4196 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str4197 = 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" @.str4198 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str4199 = 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" @.str4200 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str4201 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str4202 = 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" @.str4203 = 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" @.str4204 = 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" @.str4205 = 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" @.str4206 = 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" @.str4207 = 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" @.str4208 = 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" @.str4209 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4210 = 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" @.str4211 = 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" @.str4212 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str4213 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str4214 = 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" @.str4215 = 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" @.str4216 = 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" @.str4217 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4218 = 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" @.str4219 = 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" @.str4220 = 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" @.str4221 = 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" @.str4222 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str4223 = 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" @.str4224 = 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" @.str4225 = 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" @.str4226 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str4227 = 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" @.str4228 = 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" @.str4229 = 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" @.str4230 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str4231 = 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" @.str4232 = 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" @.str4233 = 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" @.str4234 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4235 = 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" @.str4236 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str4237 = 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" @.str4238 = 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" @.str4239 = 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" @.str4240 = 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" @.str4241 = 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" @.str4242 = 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" @.str4243 = 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" @.str4244 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4245 = 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" @.str4246 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4247 = 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" @.str4248 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4249 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4250 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4251 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4252 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4253 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4254 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4255 = private unnamed_addr constant [5 x i8] c"size\00" @.str4256 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4257 = private unnamed_addr constant [5 x i8] c"copy\00" @.str4258 = private unnamed_addr constant [5 x i8] c"list\00" @.str4259 = private unnamed_addr constant [5 x i8] c"join\00" @.str4260 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4261 = private unnamed_addr constant [5 x i8] c"base\00" @.str4262 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4263 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4264 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4265 = private unnamed_addr constant [3 x i8] c"of\00" @.str4266 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4267 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4268 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str4269 = private unnamed_addr constant [2 x i8] c")\00" @.str4270 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4271 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4272 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str4273 = private unnamed_addr constant [2 x i8] c")\00" @.str4274 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4275 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4276 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str4277 = private unnamed_addr constant [2 x i8] c")\00" @.str4278 = private unnamed_addr constant [7 x i8] c"string\00" @.str4279 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4280 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str4281 = private unnamed_addr constant [2 x i8] c")\00" @.str4282 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4283 = private unnamed_addr constant [5 x i8] c"size\00" @.str4284 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str4285 = private unnamed_addr constant [2 x i8] c")\00" @.str4286 = private unnamed_addr constant [4 x i8] c"int\00" @.str4287 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4288 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str4289 = private unnamed_addr constant [2 x i8] c")\00" @.str4290 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4291 = private unnamed_addr constant [5 x i8] c"list\00" @.str4292 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str4293 = private unnamed_addr constant [2 x i8] c")\00" @.str4294 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4295 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4296 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str4297 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4298 = private unnamed_addr constant [2 x i8] c")\00" @.str4299 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4300 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4301 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str4302 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4303 = private unnamed_addr constant [2 x i8] c")\00" @.str4304 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4305 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str4306 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4307 = private unnamed_addr constant [2 x i8] c")\00" @.str4308 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4309 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4310 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str4311 = private unnamed_addr constant [2 x i8] c")\00" @.str4312 = private unnamed_addr constant [7 x i8] c"string\00" @.str4313 = private unnamed_addr constant [5 x i8] c"base\00" @.str4314 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str4315 = private unnamed_addr constant [2 x i8] c")\00" @.str4316 = private unnamed_addr constant [7 x i8] c"string\00" @.str4317 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4318 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str4319 = private unnamed_addr constant [2 x i8] c")\00" @.str4320 = private unnamed_addr constant [7 x i8] c"string\00" @.str4321 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4322 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str4323 = private unnamed_addr constant [2 x i8] c")\00" @.str4324 = private unnamed_addr constant [7 x i8] c"string\00" @.str4325 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4326 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str4327 = private unnamed_addr constant [2 x i8] c")\00" @.str4328 = private unnamed_addr constant [7 x i8] c"string\00" @.str4329 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str4330 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4331 = private unnamed_addr constant [2 x i8] c")\00" @.str4332 = private unnamed_addr constant [7 x i8] c"string\00" @.str4333 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4334 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str4335 = private unnamed_addr constant [2 x i8] c")\00" @.str4336 = private unnamed_addr constant [7 x i8] c"string\00" @.str4337 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str4338 = private unnamed_addr constant [2 x i8] c")\00" @.str4339 = private unnamed_addr constant [7 x i8] c"string\00" @.str4340 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str4341 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str4342 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str4343 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str4344 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str4345 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str4346 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str4347 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str4348 = 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" @.str4349 = 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" @.str4350 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str4351 = 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" @.str4352 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str4353 = 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" @.str4354 = 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" @.str4355 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4356 = 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" @.str4357 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str4358 = 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" @.str4359 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str4360 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str4361 = 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" @.str4362 = 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" @.str4363 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str4364 = 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" @.str4365 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str4366 = 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" @.str4367 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str4368 = 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" @.str4369 = 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" @.str4370 = 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" @.str4371 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str4372 = 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" @.str4373 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str4374 = 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" @.str4375 = 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" @.str4376 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str4377 = 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" @.str4378 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str4379 = 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" @.str4380 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str4381 = 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" @.str4382 = 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" @.str4383 = 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" @.str4384 = 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" @.str4385 = 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" @.str4386 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str4387 = 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" @.str4388 = 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" @.str4389 = 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" @.str4390 = 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" @.str4391 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str4392 = 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" @.str4393 = 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" @.str4394 = 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" @.str4395 = 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" @.str4396 = 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" @.str4397 = 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" @.str4398 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str4399 = 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" @.str4400 = 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" @.str4401 = 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" @.str4402 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str4403 = 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" @.str4404 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str4405 = 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" @.str4406 = 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" @.str4407 = 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" @.str4408 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str4409 = 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" @.str4410 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str4411 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str4412 = 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" @.str4413 = 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" @.str4414 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str4415 = 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" @.str4416 = 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" @.str4417 = 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" @.str4418 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str4419 = 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" @.str4420 = 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" @.str4421 = 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" @.str4422 = 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" @.str4423 = 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" @.str4424 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str4425 = 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" @.str4426 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str4427 = 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" @.str4428 = 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" @.str4429 = 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" @.str4430 = 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" @.str4431 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str4432 = 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" @.str4433 = 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" @.str4434 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str4435 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str4436 = 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" @.str4437 = 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" @.str4438 = 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" @.str4439 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str4440 = 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" @.str4441 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str4442 = 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" @.str4443 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str4444 = 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" @.str4445 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str4446 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4447 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str4448 = 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" @.str4449 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str4450 = 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" @.str4451 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str4452 = 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" @.str4453 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str4454 = 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" @.str4455 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str4456 = 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" @.str4457 = 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" @.str4458 = 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" @.str4459 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str4460 = 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" @.str4461 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str4462 = 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" @.str4463 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4464 = 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" @.str4465 = 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" @.str4466 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str4467 = 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" @.str4468 = 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" @.str4469 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str4470 = 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" @.str4471 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4472 = 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" @.str4473 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str4474 = 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" @.str4475 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str4476 = 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" @.str4477 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4478 = 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" @.str4479 = 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" @.str4480 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str4481 = 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" @.str4482 = 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" @.str4483 = 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" @.str4484 = 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" @.str4485 = 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" @.str4486 = 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" @.str4487 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str4488 = 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" @.str4489 = 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" @.str4490 = 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" @.str4491 = 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" @.str4492 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str4493 = 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" @.str4494 = 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" @.str4495 = 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" @.str4496 = 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" @.str4497 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str4498 = 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" @.str4499 = 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" @.str4500 = 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" @.str4501 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str4502 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str4503 = 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" @.str4504 = 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" @.str4505 = 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" @.str4506 = 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" @.str4507 = 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" @.str4508 = 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" @.str4509 = 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" @.str4510 = 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" @.str4511 = private unnamed_addr constant [4 x i8] c"png\00" @.str4512 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str4513 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str4514 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4515 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str4516 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4517 = private unnamed_addr constant [4 x i8] c"gif\00" @.str4518 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str4519 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str4520 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str4521 = private unnamed_addr constant [5 x i8] c"webp\00" @.str4522 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str4523 = private unnamed_addr constant [4 x i8] c"svg\00" @.str4524 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str4525 = private unnamed_addr constant [4 x i8] c"txt\00" @.str4526 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str4527 = private unnamed_addr constant [3 x i8] c"md\00" @.str4528 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str4529 = private unnamed_addr constant [4 x i8] c"csv\00" @.str4530 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str4531 = private unnamed_addr constant [5 x i8] c"html\00" @.str4532 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4533 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4534 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4535 = private unnamed_addr constant [4 x i8] c"css\00" @.str4536 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4537 = private unnamed_addr constant [3 x i8] c"js\00" @.str4538 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4539 = private unnamed_addr constant [5 x i8] c"json\00" @.str4540 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4541 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4542 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4543 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4544 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4545 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4546 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4547 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4548 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4549 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4550 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4551 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4552 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4553 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4554 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4555 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4556 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4557 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str4558 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str4559 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str4560 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str4561 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str4562 = private unnamed_addr constant [3 x i8] c", \00" @.str4563 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str4564 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4565 = private unnamed_addr constant [3 x i8] c" }\00" @.str4566 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4567 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str4568 = 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" @.str4569 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str4570 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str4571 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str4572 = 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" @.str4573 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str4574 = 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" @.str4575 = 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" @.str4576 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str4577 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str4578 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str4579 = 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" @.str4580 = 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" @.str4581 = 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" @.str4582 = 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" @.str4583 = 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" @.str4584 = 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" @.str4585 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str4586 = 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" @.str4587 = 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" @.str4588 = 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" @.str4589 = 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" @.str4590 = 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" @.str4591 = 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" @.str4592 = 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" @.str4593 = 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" @.str4594 = 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" @.str4595 = 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" @.str4596 = 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" @.str4597 = 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" @.str4598 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4599 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str4600 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str4601 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str4602 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str4603 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4604 = 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" @.str4605 = 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" @.str4606 = 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" @.str4607 = 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" @.str4608 = 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" @.str4609 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str4610 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str4611 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str4612 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str4613 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str4614 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str4615 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str4616 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4617 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str4618 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str4619 = 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" @.str4620 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str4621 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str4622 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str4623 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str4624 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str4625 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str4626 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str4627 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str4628 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str4629 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str4630 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str4631 = 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" @.str4632 = 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" @.str4633 = 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" @.str4634 = 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" @.str4635 = 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" @.str4636 = 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" @.str4637 = 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" @.str4638 = 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" @.str4639 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str4640 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4641 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str4642 = 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" @.str4643 = 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" @.str4644 = 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" @.str4645 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str4646 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str4647 = 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" @.str4648 = 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" @.str4649 = 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" @.str4650 = 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" @.str4651 = 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" @.str4652 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str4653 = 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" @.str4654 = 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" @.str4655 = 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" @.str4656 = 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" @.str4657 = 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" @.str4658 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4659 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str4660 = 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" @.str4661 = 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" @.str4662 = 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" @.str4663 = 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" @.str4664 = 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" @.str4665 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str4666 = 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" @.str4667 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4668 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str4669 = 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" @.str4670 = 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" @.str4671 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str4672 = 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" @.str4673 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str4674 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str4675 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4676 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str4677 = 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" @.str4678 = 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" @.str4679 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str4680 = 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" @.str4681 = 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" @.str4682 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str4683 = 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" @.str4684 = 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" @.str4685 = 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" @.str4686 = 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" @.str4687 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str4688 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str4689 = 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" @.str4690 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str4691 = 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" @.str4692 = 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" @.str4693 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str4694 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str4695 = 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" @.str4696 = 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" @.str4697 = 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" @.str4698 = 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" @.str4699 = 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" @.str4700 = 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" @.str4701 = 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" @.str4702 = 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" @.str4703 = 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" @.str4704 = 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" @.str4705 = 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" @.str4706 = 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" @.str4707 = 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" @.str4708 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str4709 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4710 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str4711 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str4712 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str4713 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str4714 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str4715 = 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" @.str4716 = 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" @.str4717 = 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" @.str4718 = 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" @.str4719 = 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" @.str4720 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4721 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str4722 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str4723 = 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" @.str4724 = 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" @.str4725 = 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" @.str4726 = 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" @.str4727 = 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" @.str4728 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str4729 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str4730 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str4731 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4732 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str4733 = 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" @.str4734 = 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" @.str4735 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str4736 = 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" @.str4737 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str4738 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4739 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str4740 = 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" @.str4741 = 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" @.str4742 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str4743 = 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" @.str4744 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str4745 = 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" @.str4746 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str4747 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4748 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str4749 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str4750 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str4751 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str4752 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str4753 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str4754 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str4755 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str4756 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str4757 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str4758 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str4759 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str4760 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str4761 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str4762 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str4763 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str4764 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str4765 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str4766 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str4767 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str4768 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str4769 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str4770 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str4771 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str4772 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str4773 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str4774 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str4775 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str4776 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str4777 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str4778 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str4779 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str4780 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4781 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str4782 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4783 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str4784 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str4785 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str4786 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str4787 = 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" @.str4788 = 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" @.str4789 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str4790 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str4791 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str4792 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str4793 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str4794 = 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" @.str4795 = 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" @.str4796 = 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" @.str4797 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str4798 = 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" @.str4799 = 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" @.str4800 = 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" @.str4801 = 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" @.str4802 = 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" @.str4803 = 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" @.str4804 = 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" @.str4805 = 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" @.str4806 = 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" @.str4807 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str4808 = 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" @.str4809 = 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" @.str4810 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str4811 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4812 = 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" @.str4813 = 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" @.str4814 = 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" @.str4815 = 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" @.str4816 = 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" @.str4817 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str4818 = 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" @.str4819 = 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" @.str4820 = 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" @.str4821 = 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" @.str4822 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" @.str4823 = 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" @.str4824 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str4825 = 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" @.str4826 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str4827 = 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" @.str4828 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str4829 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str4830 = 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" @.str4831 = 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" @.str4832 = 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" @.str4833 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str4834 = 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" @.str4835 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str4836 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str4837 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str4838 = 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" @.str4839 = 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" @.str4840 = 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" @.str4841 = 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" @.str4842 = 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" @.str4843 = 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" @.str4844 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str4845 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str4846 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str4847 = 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" @.str4848 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str4849 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str4850 = 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" @.str4851 = 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" @.str4852 = 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" @.str4853 = 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" @.str4854 = 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" @.str4855 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str4856 = 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" @.str4857 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str4858 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str4859 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str4860 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str4861 = private unnamed_addr constant [1 x i8] c"\00" @.str4862 = private unnamed_addr constant [8 x i8] c"windows\00" @.str4863 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str4864 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4865 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4866 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4867 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str4868 = 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" @.str4869 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str4870 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str4871 = 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" @.str4872 = 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" @.str4873 = 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" @.str4874 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4875 = 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" @.str4876 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4877 = 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" @.str4878 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4879 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str4880 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4881 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str4882 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str4883 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str4884 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4885 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str4886 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4887 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4888 = 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" @.str4889 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4890 = 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" @.str4891 = 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" @.str4892 = 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" @.str4893 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4894 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4895 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4896 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4897 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4898 = private unnamed_addr constant [4 x i8] c"len\00" @.str4899 = private unnamed_addr constant [5 x i8] c"push\00" @.str4900 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4901 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4902 = private unnamed_addr constant [6 x i8] c"first\00" @.str4903 = private unnamed_addr constant [5 x i8] c"last\00" @.str4904 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4905 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4906 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4907 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4908 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str4909 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4910 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4911 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4912 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4913 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4914 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4915 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4916 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4917 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4918 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4919 = private unnamed_addr constant [3 x i8] c", \00" @.str4920 = private unnamed_addr constant [3 x i8] c"ig\00" @.str4921 = private unnamed_addr constant [4 x i8] c"igd\00" @.str4922 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4923 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4924 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4925 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4926 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4927 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4928 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4929 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4930 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4931 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4932 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str4933 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4934 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4935 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4936 = private unnamed_addr constant [3 x i8] c", \00" @.str4937 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4938 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str4939 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str4940 = private unnamed_addr constant [2 x i8] c")\00" @.str4941 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str4942 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4944 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4945 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4946 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4947 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4950 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4951 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4952 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4953 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4954 = private unnamed_addr constant [2 x i8] c" \00" @.str4955 = private unnamed_addr constant [3 x i8] c", \00" @.str4956 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str4957 = private unnamed_addr constant [2 x i8] c"(\00" @.str4958 = private unnamed_addr constant [2 x i8] c" \00" @.str4959 = private unnamed_addr constant [3 x i8] c", \00" @.str4960 = private unnamed_addr constant [2 x i8] c" \00" @.str4961 = private unnamed_addr constant [2 x i8] c")\00" @.str4962 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4963 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4964 = private unnamed_addr constant [6 x i8] c"call \00" @.str4965 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4966 = private unnamed_addr constant [2 x i8] c"(\00" @.str4967 = private unnamed_addr constant [2 x i8] c" \00" @.str4968 = private unnamed_addr constant [2 x i8] c")\00" @.str4969 = private unnamed_addr constant [6 x i8] c"call \00" @.str4970 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4971 = private unnamed_addr constant [2 x i8] c"(\00" @.str4972 = private unnamed_addr constant [2 x i8] c" \00" @.str4973 = private unnamed_addr constant [2 x i8] c")\00" @.str4974 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4975 = private unnamed_addr constant [2 x i8] c" \00" @.str4976 = private unnamed_addr constant [3 x i8] c", \00" @.str4977 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4978 = private unnamed_addr constant [2 x i8] c" \00" @.str4979 = private unnamed_addr constant [3 x i8] c", \00" @.str4980 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4981 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4982 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4983 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4984 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4985 = private unnamed_addr constant [3 x i8] c", \00" @.str4986 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str4987 = private unnamed_addr constant [2 x i8] c")\00" @.str4988 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4989 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4990 = private unnamed_addr constant [2 x i8] c"1\00" @.str4991 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str4992 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str4993 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str4994 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4995 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4996 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4997 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4998 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4999 = private unnamed_addr constant [3 x i8] c", \00" @.str5000 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5001 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5002 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5003 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5004 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5005 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5006 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5007 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5008 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5009 = private unnamed_addr constant [2 x i8] c"0\00" @.str5010 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str5011 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str5012 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str5013 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5014 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5015 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5016 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5017 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5018 = private unnamed_addr constant [3 x i8] c", \00" @.str5019 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5020 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5021 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5022 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5023 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5024 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5025 = private unnamed_addr constant [3 x i8] c", \00" @.str5026 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5027 = private unnamed_addr constant [3 x i8] c", \00" @.str5028 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5029 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5030 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5031 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5032 = private unnamed_addr constant [3 x i8] c", \00" @.str5033 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5034 = private unnamed_addr constant [3 x i8] c", \00" @.str5035 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5036 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5037 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5038 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5039 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5040 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5041 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5042 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5043 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5044 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str5045 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str5046 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str5047 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5048 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5049 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5050 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5051 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5052 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5053 = private unnamed_addr constant [3 x i8] c", \00" @.str5054 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5055 = private unnamed_addr constant [3 x i8] c", \00" @.str5056 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5057 = private unnamed_addr constant [3 x i8] c", \00" @.str5058 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5059 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5060 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5061 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5062 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5063 = private unnamed_addr constant [6 x i8] c"load \00" @.str5064 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5065 = private unnamed_addr constant [6 x i8] c"load \00" @.str5066 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5067 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5068 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str5069 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str5070 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str5071 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5072 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5073 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5074 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5075 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5076 = private unnamed_addr constant [9 x i8] c" store \00" @.str5077 = private unnamed_addr constant [2 x i8] c" \00" @.str5078 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5079 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5080 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5081 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5082 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5083 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5084 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5085 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5086 = private unnamed_addr constant [9 x i8] c" store \00" @.str5087 = private unnamed_addr constant [2 x i8] c" \00" @.str5088 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5089 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5090 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5091 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5092 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5093 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5095 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5096 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5097 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5098 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5099 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5100 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5101 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5102 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str5103 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str5104 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str5105 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5107 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5108 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5109 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5110 = private unnamed_addr constant [3 x i8] c", \00" @.str5111 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5112 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5113 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5114 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5115 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5116 = private unnamed_addr constant [6 x i8] c"load \00" @.str5117 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5118 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5119 = private unnamed_addr constant [9 x i8] c" store \00" @.str5120 = private unnamed_addr constant [2 x i8] c" \00" @.str5121 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5123 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5124 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5125 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5126 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5127 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5128 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5129 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5130 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5131 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5132 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str5133 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str5134 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str5135 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5137 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5138 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5139 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5140 = private unnamed_addr constant [3 x i8] c", \00" @.str5141 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5142 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5143 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5144 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5145 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5146 = private unnamed_addr constant [6 x i8] c"load \00" @.str5147 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5148 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5149 = private unnamed_addr constant [9 x i8] c" store \00" @.str5150 = private unnamed_addr constant [2 x i8] c" \00" @.str5151 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5152 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5153 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5154 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5155 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5156 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5157 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5158 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5159 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5160 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5161 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5162 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5163 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5164 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str5165 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str5166 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str5167 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5168 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5169 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5170 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5171 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5172 = private unnamed_addr constant [3 x i8] c", \00" @.str5173 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5174 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5175 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5176 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5177 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5178 = private unnamed_addr constant [6 x i8] c"load \00" @.str5179 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5180 = private unnamed_addr constant [9 x i8] c" store \00" @.str5181 = private unnamed_addr constant [2 x i8] c" \00" @.str5182 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5183 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5184 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5185 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5186 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5187 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5188 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5189 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5190 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5191 = private unnamed_addr constant [3 x i8] c", \00" @.str5192 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5193 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5194 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5195 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5196 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5197 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5198 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5199 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5200 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str5201 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5202 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5203 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str5204 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5205 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str5206 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5207 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str5208 = private unnamed_addr constant [2 x i8] c"'\00" @.str5209 = private unnamed_addr constant [4 x i8] c"len\00" @.str5210 = private unnamed_addr constant [5 x i8] c"push\00" @.str5211 = private unnamed_addr constant [7 x i8] c"sample\00" @.str5212 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str5213 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str5214 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str5215 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5216 = private unnamed_addr constant [2 x i8] c")\00" @.str5217 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5218 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5219 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str5220 = private unnamed_addr constant [6 x i8] c"clear\00" @.str5221 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str5222 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5223 = private unnamed_addr constant [2 x i8] c"0\00" @.str5224 = private unnamed_addr constant [5 x i8] c"void\00" @.str5225 = private unnamed_addr constant [6 x i8] c"first\00" @.str5226 = private unnamed_addr constant [2 x i8] c"0\00" @.str5227 = private unnamed_addr constant [6 x i8] c"load \00" @.str5228 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5229 = private unnamed_addr constant [5 x i8] c"last\00" @.str5230 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5231 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5232 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5233 = private unnamed_addr constant [6 x i8] c"load \00" @.str5234 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5235 = private unnamed_addr constant [4 x i8] c"pop\00" @.str5236 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5237 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5238 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5239 = private unnamed_addr constant [6 x i8] c"load \00" @.str5240 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5241 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5242 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5243 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5244 = private unnamed_addr constant [5 x i8] c"swap\00" @.str5245 = private unnamed_addr constant [6 x i8] c"load \00" @.str5246 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5247 = private unnamed_addr constant [6 x i8] c"load \00" @.str5248 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5249 = private unnamed_addr constant [9 x i8] c" store \00" @.str5250 = private unnamed_addr constant [2 x i8] c" \00" @.str5251 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5252 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5253 = private unnamed_addr constant [9 x i8] c" store \00" @.str5254 = private unnamed_addr constant [2 x i8] c" \00" @.str5255 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5256 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5257 = private unnamed_addr constant [2 x i8] c"0\00" @.str5258 = private unnamed_addr constant [5 x i8] c"void\00" @.str5259 = private unnamed_addr constant [9 x i8] c"contains\00" @.str5260 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5261 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5262 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5264 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5265 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5266 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5267 = private unnamed_addr constant [2 x i8] c"0\00" @.str5268 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str5269 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str5270 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str5271 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str5272 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str5273 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5274 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5275 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5276 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5277 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5278 = private unnamed_addr constant [3 x i8] c", \00" @.str5279 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5280 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5281 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5282 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5283 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5284 = private unnamed_addr constant [6 x i8] c"load \00" @.str5285 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5286 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5287 = private unnamed_addr constant [2 x i8] c" \00" @.str5288 = private unnamed_addr constant [3 x i8] c", \00" @.str5289 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5290 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5291 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5292 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5293 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5294 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5295 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5296 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5297 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5298 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5299 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5300 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5301 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5302 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5303 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5304 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5305 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5306 = private unnamed_addr constant [4 x i8] c"int\00" @.str5307 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5308 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5309 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5310 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5311 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5312 = private unnamed_addr constant [7 x i8] c"insert\00" @.str5313 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5314 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5315 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5316 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str5317 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str5318 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str5319 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5321 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5322 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5323 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5324 = private unnamed_addr constant [3 x i8] c", \00" @.str5325 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5326 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5327 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5328 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5329 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5330 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5331 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5332 = private unnamed_addr constant [6 x i8] c"load \00" @.str5333 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5334 = private unnamed_addr constant [9 x i8] c" store \00" @.str5335 = private unnamed_addr constant [2 x i8] c" \00" @.str5336 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5337 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5338 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5339 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5340 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5341 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5342 = private unnamed_addr constant [9 x i8] c" store \00" @.str5343 = private unnamed_addr constant [2 x i8] c" \00" @.str5344 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5345 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5346 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5347 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5348 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5349 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5350 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5351 = private unnamed_addr constant [2 x i8] c"0\00" @.str5352 = private unnamed_addr constant [5 x i8] c"void\00" @.str5353 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str5354 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5355 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5356 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5357 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5358 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5359 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str5360 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str5361 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str5362 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5363 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5364 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5365 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5366 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5367 = private unnamed_addr constant [3 x i8] c", \00" @.str5368 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5369 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5370 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5371 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5372 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5373 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5374 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5375 = private unnamed_addr constant [6 x i8] c"load \00" @.str5376 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5377 = private unnamed_addr constant [9 x i8] c" store \00" @.str5378 = private unnamed_addr constant [2 x i8] c" \00" @.str5379 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5380 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5381 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5382 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5383 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5384 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5385 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5386 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5387 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5388 = private unnamed_addr constant [2 x i8] c"0\00" @.str5389 = private unnamed_addr constant [5 x i8] c"void\00" @.str5390 = private unnamed_addr constant [7 x i8] c"remove\00" @.str5391 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5392 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5393 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5394 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5395 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5396 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5397 = private unnamed_addr constant [2 x i8] c"0\00" @.str5398 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str5399 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str5400 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str5401 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str5402 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str5403 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5404 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5405 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5406 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5407 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5408 = private unnamed_addr constant [3 x i8] c", \00" @.str5409 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5410 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5411 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5412 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5413 = private unnamed_addr constant [3 x i8] c", \00" @.str5414 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5415 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5416 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5417 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5418 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5419 = private unnamed_addr constant [6 x i8] c"load \00" @.str5420 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5421 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5422 = private unnamed_addr constant [2 x i8] c" \00" @.str5423 = private unnamed_addr constant [3 x i8] c", \00" @.str5424 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5425 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5426 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5427 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5428 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5429 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5430 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5431 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5432 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5433 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5434 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5435 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5436 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5437 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5438 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5439 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5440 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5441 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5442 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str5443 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str5444 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5445 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5446 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5447 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5448 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5449 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5450 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5451 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5452 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5453 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str5454 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str5455 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str5456 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5457 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5458 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5459 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5460 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5461 = private unnamed_addr constant [3 x i8] c", \00" @.str5462 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5463 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5464 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"add i32 \00" @.str5468 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5469 = private unnamed_addr constant [6 x i8] c"load \00" @.str5470 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5471 = private unnamed_addr constant [9 x i8] c" store \00" @.str5472 = private unnamed_addr constant [2 x i8] c" \00" @.str5473 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5474 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5475 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5476 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5477 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5478 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5479 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5480 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5481 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5482 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5483 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5484 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5485 = private unnamed_addr constant [2 x i8] c"0\00" @.str5486 = private unnamed_addr constant [5 x i8] c"void\00" @.str5487 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5488 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5489 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5490 = private unnamed_addr constant [5 x i8] c", 32\00" @.str5491 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str5492 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str5493 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str5494 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5495 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5496 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5497 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5498 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5499 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5500 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5501 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5502 = private unnamed_addr constant [2 x i8] c"1\00" @.str5503 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str5504 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str5505 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str5506 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5508 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5509 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5510 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5511 = private unnamed_addr constant [3 x i8] c", \00" @.str5512 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5513 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5514 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5515 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5516 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5517 = private unnamed_addr constant [6 x i8] c"load \00" @.str5518 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5519 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5520 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5521 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5522 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5523 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str5524 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str5525 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str5526 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5527 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5528 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5529 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5530 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5531 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5532 = private unnamed_addr constant [6 x i8] c"load \00" @.str5533 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5534 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5535 = private unnamed_addr constant [2 x i8] c" \00" @.str5536 = private unnamed_addr constant [3 x i8] c", \00" @.str5537 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5538 = private unnamed_addr constant [3 x i8] c", \00" @.str5539 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5540 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5541 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5542 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5543 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5544 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5545 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5546 = private unnamed_addr constant [9 x i8] c" store \00" @.str5547 = private unnamed_addr constant [2 x i8] c" \00" @.str5548 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5549 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5550 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5551 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5552 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5553 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5554 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5555 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5556 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5557 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5558 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5559 = private unnamed_addr constant [9 x i8] c" store \00" @.str5560 = private unnamed_addr constant [2 x i8] c" \00" @.str5561 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5562 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5563 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5564 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5565 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5566 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5567 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5568 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5569 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5570 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5571 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5572 = private unnamed_addr constant [1 x i8] c"\00" @.str5573 = private unnamed_addr constant [1 x i8] c"\00" @.str5574 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5575 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5576 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5577 = private unnamed_addr constant [2 x i8] c"0\00" @.str5578 = private unnamed_addr constant [5 x i8] c"void\00" @.str5579 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str5580 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str5581 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str5582 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5583 = private unnamed_addr constant [2 x i8] c"0\00" @.str5584 = private unnamed_addr constant [5 x i8] c"void\00" @.str5585 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str5586 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5587 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5588 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5589 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str5590 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str5591 = private unnamed_addr constant [5 x i8] c"void\00" @.str5592 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5593 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5594 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str5595 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5596 = private unnamed_addr constant [2 x i8] c"0\00" @.str5597 = private unnamed_addr constant [5 x i8] c"void\00" @.str5598 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5599 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5600 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5601 = private unnamed_addr constant [2 x i8] c"0\00" @.str5602 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5603 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5604 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5605 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5606 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str5607 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str5608 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str5609 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5610 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5611 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5612 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5613 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5614 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5615 = private unnamed_addr constant [3 x i8] c", \00" @.str5616 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5617 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5618 = private unnamed_addr constant [10 x i8] c", 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 [6 x i8] c"load \00" @.str5622 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5623 = private unnamed_addr constant [6 x i8] c"load \00" @.str5624 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5625 = private unnamed_addr constant [9 x i8] c" store \00" @.str5626 = private unnamed_addr constant [2 x i8] c" \00" @.str5627 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5628 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5629 = private unnamed_addr constant [9 x i8] c" store \00" @.str5630 = private unnamed_addr constant [2 x i8] c" \00" @.str5631 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5632 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5633 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5634 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5635 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5636 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5637 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5638 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5639 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5640 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5641 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5642 = private unnamed_addr constant [2 x i8] c"0\00" @.str5643 = private unnamed_addr constant [5 x i8] c"void\00" @.str5644 = private unnamed_addr constant [3 x i8] c"in\00" @.str5645 = private unnamed_addr constant [4 x i8] c"out\00" @.str5646 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5647 = private unnamed_addr constant [5 x i8] c"back\00" @.str5648 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str5649 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5650 = private unnamed_addr constant [7 x i8] c"495616\00" @.str5651 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5652 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str5653 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5654 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5655 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5656 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str5657 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5658 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str5659 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5660 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str5661 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5662 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str5663 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5664 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str5665 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5666 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5667 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5668 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5669 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str5670 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5671 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5672 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5673 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5674 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str5675 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5676 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5677 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5678 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5679 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5680 = private unnamed_addr constant [4 x i8] c", 3\00" @.str5681 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5682 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5683 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5684 = private unnamed_addr constant [3 x i8] c", \00" @.str5685 = private unnamed_addr constant [7 x i8] c"177051\00" @.str5686 = private unnamed_addr constant [7 x i8] c"111515\00" @.str5687 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5688 = private unnamed_addr constant [3 x i8] c", \00" @.str5689 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5690 = private unnamed_addr constant [5 x i8] c", 10\00" @.str5691 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str5692 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str5693 = private unnamed_addr constant [2 x i8] c")\00" @.str5694 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5695 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5696 = private unnamed_addr constant [7 x i8] c"137258\00" @.str5697 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str5698 = private unnamed_addr constant [2 x i8] c")\00" @.str5699 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5700 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5701 = private unnamed_addr constant [3 x i8] c"in\00" @.str5702 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5703 = private unnamed_addr constant [4 x i8] c"out\00" @.str5704 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5705 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5706 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5707 = private unnamed_addr constant [5 x i8] c"back\00" @.str5708 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5709 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5710 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5711 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5712 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5713 = private unnamed_addr constant [5 x i8] c"once\00" @.str5714 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5715 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5716 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5717 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5718 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str5719 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5720 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5721 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5722 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5723 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5724 = private unnamed_addr constant [3 x i8] c", \00" @.str5725 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5726 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5727 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5728 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5729 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5730 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5731 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5732 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5733 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5734 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5735 = private unnamed_addr constant [3 x i8] c", \00" @.str5736 = private unnamed_addr constant [4 x i8] c"int\00" @.str5737 = private unnamed_addr constant [5 x i8] c"once\00" @.str5738 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5739 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5740 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5741 = private unnamed_addr constant [3 x i8] c", \00" @.str5742 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5743 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5744 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5745 = private unnamed_addr constant [4 x i8] c"int\00" @.str5746 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5747 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5748 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5749 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5750 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5751 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5752 = private unnamed_addr constant [3 x i8] c", \00" @.str5753 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5754 = private unnamed_addr constant [3 x i8] c", \00" @.str5755 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5756 = private unnamed_addr constant [3 x i8] c", \00" @.str5757 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5758 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5759 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5760 = private unnamed_addr constant [4 x i8] c"int\00" @.str5761 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5762 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5763 = private unnamed_addr constant [3 x i8] c", \00" @.str5764 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5765 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5766 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5767 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5768 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5769 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5770 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5771 = private unnamed_addr constant [3 x i8] c", \00" @.str5772 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5773 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5774 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5775 = private unnamed_addr constant [3 x i8] c", \00" @.str5776 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5777 = private unnamed_addr constant [3 x i8] c", \00" @.str5778 = private unnamed_addr constant [4 x i8] c"int\00" @.str5779 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5780 = private unnamed_addr constant [3 x i8] c", \00" @.str5781 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5782 = private unnamed_addr constant [3 x i8] c", \00" @.str5783 = private unnamed_addr constant [4 x i8] c"int\00" @.str5784 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5785 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5786 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5787 = private unnamed_addr constant [5 x i8] c"done\00" @.str5788 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5789 = private unnamed_addr constant [7 x i8] c"number\00" @.str5790 = private unnamed_addr constant [6 x i8] c"round\00" @.str5791 = private unnamed_addr constant [6 x i8] c"point\00" @.str5792 = private unnamed_addr constant [5 x i8] c"tint\00" @.str5793 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5794 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5795 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5796 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5797 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5798 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5799 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5800 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5801 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5802 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5803 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5804 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5805 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5806 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5807 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str5808 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5809 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5810 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5811 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str5812 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5813 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5814 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5815 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5816 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5817 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5818 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str5819 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5820 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5821 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5822 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str5823 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5824 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str5825 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5826 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5827 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5828 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5829 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5830 = private unnamed_addr constant [5 x i8] c"done\00" @.str5831 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str5832 = private unnamed_addr constant [2 x i8] c")\00" @.str5833 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5834 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5835 = private unnamed_addr constant [3 x i8] c", \00" @.str5836 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5837 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5838 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5839 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5840 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str5841 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5842 = private unnamed_addr constant [7 x i8] c"number\00" @.str5843 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5844 = private unnamed_addr constant [6 x i8] c"round\00" @.str5845 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5846 = private unnamed_addr constant [3 x i8] c", \00" @.str5847 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5848 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5849 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5850 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5851 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5852 = private unnamed_addr constant [3 x i8] c", \00" @.str5853 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5854 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str5855 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5856 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5857 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5858 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5859 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5860 = private unnamed_addr constant [3 x i8] c", \00" @.str5861 = private unnamed_addr constant [4 x i8] c"int\00" @.str5862 = private unnamed_addr constant [6 x i8] c"point\00" @.str5863 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str5864 = private unnamed_addr constant [3 x i8] c"16\00" @.str5865 = private unnamed_addr constant [3 x i8] c"16\00" @.str5866 = private unnamed_addr constant [2 x i8] c"8\00" @.str5867 = private unnamed_addr constant [2 x i8] c"8\00" @.str5868 = private unnamed_addr constant [2 x i8] c"0\00" @.str5869 = private unnamed_addr constant [2 x i8] c"0\00" @.str5870 = private unnamed_addr constant [4 x i8] c"int\00" @.str5871 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5872 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5873 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5874 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str5875 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5876 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5877 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5878 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5879 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5880 = private unnamed_addr constant [3 x i8] c", \00" @.str5881 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5882 = private unnamed_addr constant [3 x i8] c", \00" @.str5883 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5884 = private unnamed_addr constant [3 x i8] c", \00" @.str5885 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5886 = private unnamed_addr constant [3 x i8] c", \00" @.str5887 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5888 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5889 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5890 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5891 = private unnamed_addr constant [3 x i8] c", \00" @.str5892 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5893 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5894 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5895 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5896 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5897 = private unnamed_addr constant [3 x i8] c", \00" @.str5898 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5899 = private unnamed_addr constant [3 x i8] c", \00" @.str5900 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5901 = private unnamed_addr constant [3 x i8] c", \00" @.str5902 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5903 = private unnamed_addr constant [3 x i8] c", \00" @.str5904 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5905 = private unnamed_addr constant [3 x i8] c", \00" @.str5906 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5907 = private unnamed_addr constant [3 x i8] c", \00" @.str5908 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5909 = private unnamed_addr constant [3 x i8] c", \00" @.str5910 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5911 = private unnamed_addr constant [3 x i8] c", \00" @.str5912 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5913 = private unnamed_addr constant [3 x i8] c", \00" @.str5914 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5915 = private unnamed_addr constant [3 x i8] c", \00" @.str5916 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5917 = private unnamed_addr constant [3 x i8] c", \00" @.str5918 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5919 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5920 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5921 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5922 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5923 = private unnamed_addr constant [3 x i8] c", \00" @.str5924 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5925 = private unnamed_addr constant [3 x i8] c", \00" @.str5926 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5927 = private unnamed_addr constant [3 x i8] c", \00" @.str5928 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5929 = private unnamed_addr constant [3 x i8] c", \00" @.str5930 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5931 = private unnamed_addr constant [3 x i8] c", \00" @.str5932 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5933 = private unnamed_addr constant [3 x i8] c", \00" @.str5934 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5935 = private unnamed_addr constant [3 x i8] c", \00" @.str5936 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5937 = private unnamed_addr constant [3 x i8] c", \00" @.str5938 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5939 = private unnamed_addr constant [3 x i8] c", \00" @.str5940 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5941 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5942 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5943 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5944 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5945 = private unnamed_addr constant [3 x i8] c", \00" @.str5946 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5947 = private unnamed_addr constant [3 x i8] c", \00" @.str5948 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5949 = private unnamed_addr constant [3 x i8] c", \00" @.str5950 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5951 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5952 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5953 = private unnamed_addr constant [3 x i8] c", \00" @.str5954 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5955 = private unnamed_addr constant [3 x i8] c", \00" @.str5956 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5957 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5958 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5959 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5960 = private unnamed_addr constant [3 x i8] c", \00" @.str5961 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5962 = private unnamed_addr constant [3 x i8] c", \00" @.str5963 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5964 = private unnamed_addr constant [3 x i8] c", \00" @.str5965 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5966 = private unnamed_addr constant [3 x i8] c", \00" @.str5967 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5968 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5969 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5970 = private unnamed_addr constant [3 x i8] c", \00" @.str5971 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5972 = private unnamed_addr constant [3 x i8] c", \00" @.str5973 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5974 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5975 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5976 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5977 = private unnamed_addr constant [6 x i8] c"words\00" @.str5978 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5979 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5980 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5981 = private unnamed_addr constant [5 x i8] c"poke\00" @.str5982 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5983 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5984 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5985 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5986 = private unnamed_addr constant [2 x i8] c")\00" @.str5987 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str5988 = private unnamed_addr constant [6 x i8] c"words\00" @.str5989 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5990 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5991 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5992 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5993 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5994 = private unnamed_addr constant [2 x i8] c")\00" @.str5995 = private unnamed_addr constant [6 x i8] c"words\00" @.str5996 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5997 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5998 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5999 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str6000 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6001 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6002 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6003 = private unnamed_addr constant [2 x i8] c"0\00" @.str6004 = private unnamed_addr constant [5 x i8] c"void\00" @.str6005 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6006 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6007 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6008 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str6009 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6010 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6011 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6012 = private unnamed_addr constant [2 x i8] c"0\00" @.str6013 = private unnamed_addr constant [5 x i8] c"void\00" @.str6014 = private unnamed_addr constant [5 x i8] c"peek\00" @.str6015 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6016 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6017 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6018 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6019 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6020 = private unnamed_addr constant [4 x i8] c"int\00" @.str6021 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6022 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6023 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str6024 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str6025 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str6026 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6027 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6028 = private unnamed_addr constant [2 x i8] c"0\00" @.str6029 = private unnamed_addr constant [5 x i8] c"void\00" @.str6030 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6031 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6032 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6033 = private unnamed_addr constant [4 x i8] c"now\00" @.str6034 = private unnamed_addr constant [6 x i8] c"since\00" @.str6035 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6036 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6037 = private unnamed_addr constant [4 x i8] c"int\00" @.str6038 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6039 = private unnamed_addr constant [5 x i8] c"1092\00" @.str6040 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6041 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6042 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6043 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6044 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str6045 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6046 = private unnamed_addr constant [6 x i8] c"since\00" @.str6047 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6048 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6049 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6050 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6051 = private unnamed_addr constant [3 x i8] c", \00" @.str6052 = private unnamed_addr constant [4 x i8] c"int\00" @.str6053 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6054 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6055 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6056 = private unnamed_addr constant [4 x i8] c"int\00" @.str6057 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6058 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6059 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6060 = private unnamed_addr constant [5 x i8] c"days\00" @.str6061 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6062 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6063 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6064 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str6065 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6066 = private unnamed_addr constant [4 x i8] c"int\00" @.str6067 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6068 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6069 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6070 = private unnamed_addr constant [4 x i8] c"int\00" @.str6071 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6072 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6073 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6074 = private unnamed_addr constant [4 x i8] c"int\00" @.str6075 = private unnamed_addr constant [5 x i8] c"days\00" @.str6076 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6077 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6078 = private unnamed_addr constant [4 x i8] c"int\00" @.str6079 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6080 = private unnamed_addr constant [4 x i8] c"int\00" @.str6081 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6082 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6083 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6084 = private unnamed_addr constant [4 x i8] c"int\00" @.str6085 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6086 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6087 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6088 = private unnamed_addr constant [4 x i8] c"int\00" @.str6089 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6090 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6091 = private unnamed_addr constant [4 x i8] c"int\00" @.str6092 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6093 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6094 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6095 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6096 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6097 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6098 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6099 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6100 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6101 = private unnamed_addr constant [4 x i8] c"new\00" @.str6102 = private unnamed_addr constant [5 x i8] c"year\00" @.str6103 = private unnamed_addr constant [6 x i8] c"month\00" @.str6104 = private unnamed_addr constant [4 x i8] c"day\00" @.str6105 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6106 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6107 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6108 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6109 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6110 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str6111 = private unnamed_addr constant [4 x i8] c"new\00" @.str6112 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6113 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6114 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6115 = private unnamed_addr constant [2 x i8] c")\00" @.str6116 = private unnamed_addr constant [4 x i8] c"int\00" @.str6117 = private unnamed_addr constant [5 x i8] c"year\00" @.str6118 = private unnamed_addr constant [4 x i8] c"int\00" @.str6119 = private unnamed_addr constant [6 x i8] c"month\00" @.str6120 = private unnamed_addr constant [4 x i8] c"int\00" @.str6121 = private unnamed_addr constant [4 x i8] c"day\00" @.str6122 = private unnamed_addr constant [4 x i8] c"int\00" @.str6123 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6124 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6125 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6126 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6127 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6128 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6129 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6130 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6131 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6132 = private unnamed_addr constant [4 x i8] c"int\00" @.str6133 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6134 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6135 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6136 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6137 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6138 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6139 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6140 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6141 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6142 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6143 = private unnamed_addr constant [6 x i8] c", 400\00" @.str6144 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6145 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6146 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6147 = private unnamed_addr constant [3 x i8] c", \00" @.str6148 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str6149 = private unnamed_addr constant [3 x i8] c", \00" @.str6150 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6151 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6152 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6153 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6154 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6155 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6156 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6157 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6158 = private unnamed_addr constant [5 x i8] c", 12\00" @.str6159 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6160 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6161 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6162 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6163 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6164 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6165 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6166 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6167 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str6168 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6169 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6170 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6171 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6172 = private unnamed_addr constant [3 x i8] c", \00" @.str6173 = private unnamed_addr constant [4 x i8] c"int\00" @.str6174 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6175 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6176 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6177 = private unnamed_addr constant [4 x i8] c"int\00" @.str6178 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6179 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6180 = private unnamed_addr constant [3 x i8] c", \00" @.str6181 = private unnamed_addr constant [4 x i8] c"int\00" @.str6182 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6183 = private unnamed_addr constant [3 x i8] c", \00" @.str6184 = private unnamed_addr constant [4 x i8] c"int\00" @.str6185 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6186 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6187 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6188 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6189 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6190 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6191 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6192 = private unnamed_addr constant [3 x i8] c", \00" @.str6193 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6194 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6195 = private unnamed_addr constant [5 x i8] c"from\00" @.str6196 = private unnamed_addr constant [5 x i8] c"date\00" @.str6197 = private unnamed_addr constant [4 x i8] c"add\00" @.str6198 = private unnamed_addr constant [5 x i8] c"year\00" @.str6199 = private unnamed_addr constant [6 x i8] c"month\00" @.str6200 = private unnamed_addr constant [4 x i8] c"day\00" @.str6201 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6202 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6203 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6204 = private unnamed_addr constant [7 x i8] c"second\00" @.str6205 = private unnamed_addr constant [7 x i8] c"format\00" @.str6206 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6207 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6208 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6209 = private unnamed_addr constant [2 x i8] c")\00" @.str6210 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str6211 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6212 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6213 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6214 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6215 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6216 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6217 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6218 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6219 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6220 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6221 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6222 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6223 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6224 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6225 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6226 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6227 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6228 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6229 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6230 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6231 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6232 = private unnamed_addr constant [1 x i8] c"\00" @.str6233 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6234 = private unnamed_addr constant [3 x i8] c"YY\00" @.str6235 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6236 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6237 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6238 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6239 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6240 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str6241 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6242 = private unnamed_addr constant [2 x i8] c")\00" @.str6243 = private unnamed_addr constant [7 x i8] c"string\00" @.str6244 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str6245 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6246 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6247 = private unnamed_addr constant [2 x i8] c"0\00" @.str6248 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6249 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6250 = private unnamed_addr constant [5 x i8] c"1970\00" @.str6251 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6252 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6253 = private unnamed_addr constant [2 x i8] c"1\00" @.str6254 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6255 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6256 = private unnamed_addr constant [2 x i8] c"1\00" @.str6257 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6258 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6259 = private unnamed_addr constant [2 x i8] c"0\00" @.str6260 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6261 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6262 = private unnamed_addr constant [2 x i8] c"0\00" @.str6263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6264 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6265 = private unnamed_addr constant [2 x i8] c"0\00" @.str6266 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6267 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6268 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6269 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6270 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6271 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6272 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str6273 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6274 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6275 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6276 = private unnamed_addr constant [2 x i8] c")\00" @.str6277 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6278 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6279 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6280 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6281 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6282 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6283 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6284 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6285 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6286 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6287 = private unnamed_addr constant [2 x i8] c")\00" @.str6288 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6289 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6290 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6291 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6292 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6293 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6294 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6295 = private unnamed_addr constant [3 x i8] c", \00" @.str6296 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6297 = private unnamed_addr constant [3 x i8] c", \00" @.str6298 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6299 = private unnamed_addr constant [3 x i8] c", \00" @.str6300 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6301 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6302 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6303 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6304 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str6305 = private unnamed_addr constant [4 x i8] c"int\00" @.str6306 = private unnamed_addr constant [7 x i8] c"format\00" @.str6307 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6308 = private unnamed_addr constant [5 x i8] c"from\00" @.str6309 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6310 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6311 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6312 = private unnamed_addr constant [2 x i8] c")\00" @.str6313 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6314 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6315 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6316 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6317 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6318 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6319 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6320 = private unnamed_addr constant [3 x i8] c", \00" @.str6321 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6322 = private unnamed_addr constant [3 x i8] c", \00" @.str6323 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6324 = private unnamed_addr constant [3 x i8] c", \00" @.str6325 = private unnamed_addr constant [4 x i8] c"int\00" @.str6326 = private unnamed_addr constant [5 x i8] c"date\00" @.str6327 = private unnamed_addr constant [4 x i8] c"int\00" @.str6328 = private unnamed_addr constant [4 x i8] c"add\00" @.str6329 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6330 = private unnamed_addr constant [3 x i8] c", \00" @.str6331 = private unnamed_addr constant [4 x i8] c"int\00" @.str6332 = private unnamed_addr constant [5 x i8] c"year\00" @.str6333 = private unnamed_addr constant [4 x i8] c"int\00" @.str6334 = private unnamed_addr constant [6 x i8] c"month\00" @.str6335 = private unnamed_addr constant [4 x i8] c"int\00" @.str6336 = private unnamed_addr constant [4 x i8] c"day\00" @.str6337 = private unnamed_addr constant [4 x i8] c"int\00" @.str6338 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6339 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6340 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6341 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6342 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6343 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6344 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6345 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6346 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6347 = private unnamed_addr constant [4 x i8] c"int\00" @.str6348 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6349 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6350 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6351 = private unnamed_addr constant [4 x i8] c"int\00" @.str6352 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6353 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6354 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6355 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6356 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6357 = private unnamed_addr constant [4 x i8] c"int\00" @.str6358 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6359 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6360 = private unnamed_addr constant [4 x i8] c"int\00" @.str6361 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str6362 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str6363 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str6364 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str6365 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str6366 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str6367 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str6368 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str6369 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6370 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str6371 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str6372 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str6373 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str6374 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str6375 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str6376 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str6377 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str6378 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str6379 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6380 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6381 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6382 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str6383 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str6384 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str6385 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str6386 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str6387 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str6388 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str6389 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6390 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str6391 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str6392 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str6393 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str6394 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str6395 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str6396 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str6397 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str6398 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str6399 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str6400 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str6401 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str6402 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str6403 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str6404 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str6405 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6406 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str6407 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6408 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6409 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6410 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str6411 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str6412 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str6413 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str6414 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str6415 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str6416 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str6417 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str6418 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str6419 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str6420 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str6421 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str6422 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str6423 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str6424 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str6425 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str6426 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str6427 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str6428 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str6429 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str6430 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str6431 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6432 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6433 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str6434 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str6435 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str6436 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str6437 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str6438 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str6439 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str6440 = 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" @.str6441 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6442 = 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" @.str6443 = 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" @.str6444 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str6445 = 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" @.str6446 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str6447 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str6448 = 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" @.str6449 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6450 = 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" @.str6451 = 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" @.str6452 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str6453 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str6454 = 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" @.str6455 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str6456 = 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" @.str6457 = 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" @.str6458 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str6459 = private unnamed_addr constant [4 x i8] c"now\00" @.str6460 = private unnamed_addr constant [4 x i8] c"set\00" @.str6461 = private unnamed_addr constant [8 x i8] c"advance\00" @.str6462 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6463 = private unnamed_addr constant [4 x i8] c"now\00" @.str6464 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6465 = private unnamed_addr constant [4 x i8] c"int\00" @.str6466 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6467 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str6468 = private unnamed_addr constant [2 x i8] c"0\00" @.str6469 = private unnamed_addr constant [5 x i8] c"void\00" @.str6470 = private unnamed_addr constant [4 x i8] c"set\00" @.str6471 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6472 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6473 = private unnamed_addr constant [2 x i8] c"0\00" @.str6474 = private unnamed_addr constant [5 x i8] c"void\00" @.str6475 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6476 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6477 = private unnamed_addr constant [3 x i8] c", \00" @.str6478 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6479 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6480 = private unnamed_addr constant [2 x i8] c"0\00" @.str6481 = private unnamed_addr constant [5 x i8] c"void\00" @.str6482 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6483 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6484 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6485 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6486 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str6487 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6488 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str6489 = private unnamed_addr constant [3 x i8] c", \00" @.str6490 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6491 = private unnamed_addr constant [6 x i8] c", 255\00" @.str6492 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6493 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6494 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6495 = private unnamed_addr constant [4 x i8] c", 8\00" @.str6496 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6497 = private unnamed_addr constant [3 x i8] c", \00" @.str6498 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6499 = private unnamed_addr constant [3 x i8] c", \00" @.str6500 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6501 = private unnamed_addr constant [3 x i8] c", \00" @.str6502 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6503 = private unnamed_addr constant [3 x i8] c", \00" @.str6504 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6505 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6506 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6507 = private unnamed_addr constant [3 x i8] c", \00" @.str6508 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6509 = private unnamed_addr constant [4 x i8] c"int\00" @.str6510 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6511 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6512 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6513 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6514 = private unnamed_addr constant [3 x i8] c", \00" @.str6515 = private unnamed_addr constant [4 x i8] c"int\00" @.str6516 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6517 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6518 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str6519 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6520 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6521 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6522 = private unnamed_addr constant [3 x i8] c", \00" @.str6523 = private unnamed_addr constant [4 x i8] c"int\00" @.str6524 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6525 = private unnamed_addr constant [3 x i8] c"16\00" @.str6526 = private unnamed_addr constant [3 x i8] c"16\00" @.str6527 = private unnamed_addr constant [2 x i8] c"8\00" @.str6528 = private unnamed_addr constant [2 x i8] c"8\00" @.str6529 = private unnamed_addr constant [2 x i8] c"0\00" @.str6530 = private unnamed_addr constant [2 x i8] c"0\00" @.str6531 = private unnamed_addr constant [4 x i8] c"int\00" @.str6532 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6533 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str6534 = private unnamed_addr constant [3 x i8] c"16\00" @.str6535 = private unnamed_addr constant [2 x i8] c"8\00" @.str6536 = private unnamed_addr constant [2 x i8] c"0\00" @.str6537 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6538 = private unnamed_addr constant [3 x i8] c", \00" @.str6539 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6540 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6541 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6542 = private unnamed_addr constant [3 x i8] c", \00" @.str6543 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6544 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6545 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6546 = private unnamed_addr constant [3 x i8] c", \00" @.str6547 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6548 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6549 = private unnamed_addr constant [4 x i8] c"int\00" @.str6550 = private unnamed_addr constant [3 x i8] c"16\00" @.str6551 = private unnamed_addr constant [2 x i8] c"8\00" @.str6552 = private unnamed_addr constant [2 x i8] c"0\00" @.str6553 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6554 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6555 = private unnamed_addr constant [3 x i8] c", \00" @.str6556 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6557 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6558 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6559 = private unnamed_addr constant [3 x i8] c", \00" @.str6560 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6561 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6562 = private unnamed_addr constant [3 x i8] c", \00" @.str6563 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6564 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6565 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6566 = private unnamed_addr constant [3 x i8] c", \00" @.str6567 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6568 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6569 = private unnamed_addr constant [3 x i8] c", \00" @.str6570 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6571 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6572 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6573 = private unnamed_addr constant [3 x i8] c", \00" @.str6574 = private unnamed_addr constant [4 x i8] c"int\00" @.str6575 = private unnamed_addr constant [6 x i8] c"White\00" @.str6576 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str6577 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str6578 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str6579 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str6580 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str6581 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str6582 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str6583 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str6584 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str6585 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str6586 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str6587 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str6588 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str6589 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str6590 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str6591 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str6592 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str6593 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str6594 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str6595 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str6596 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str6597 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str6598 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str6599 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str6600 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str6601 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str6602 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str6603 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str6604 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str6605 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str6606 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str6607 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str6608 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str6609 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str6610 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str6611 = private unnamed_addr constant [6 x i8] c"Black\00" @.str6612 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str6613 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str6614 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str6615 = private unnamed_addr constant [4 x i8] c"Red\00" @.str6616 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str6617 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str6618 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str6619 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str6620 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str6621 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str6622 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str6623 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str6624 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str6625 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str6626 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str6627 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str6628 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str6629 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str6630 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str6631 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str6632 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str6633 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str6634 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str6635 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str6636 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str6637 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str6638 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str6639 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str6640 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str6641 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str6642 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str6643 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str6644 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str6645 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str6646 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str6647 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str6648 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str6649 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str6650 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str6651 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str6652 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str6653 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str6654 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str6655 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str6656 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str6657 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str6658 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str6659 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str6660 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str6661 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str6662 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str6663 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str6664 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str6665 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str6666 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str6667 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str6668 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str6669 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str6670 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str6671 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str6672 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str6673 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str6674 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str6675 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str6676 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str6677 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str6678 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str6679 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str6680 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str6681 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str6682 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str6683 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str6684 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str6685 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str6686 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str6687 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str6688 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str6689 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str6690 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str6691 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str6692 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str6693 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str6694 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str6695 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str6696 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str6697 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str6698 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str6699 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str6700 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str6701 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str6702 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str6703 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str6704 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str6705 = private unnamed_addr constant [6 x i8] c"Green\00" @.str6706 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str6707 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str6708 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str6709 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str6710 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str6711 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str6712 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str6713 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str6714 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str6715 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str6716 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str6717 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str6718 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str6719 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str6720 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str6721 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str6722 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str6723 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str6724 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str6725 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str6726 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str6727 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str6728 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str6729 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str6730 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str6731 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str6732 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str6733 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str6734 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str6735 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str6736 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str6737 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str6738 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str6739 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str6740 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str6741 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str6742 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str6743 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str6744 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str6745 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str6746 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str6747 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str6748 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str6749 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str6750 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str6751 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str6752 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str6753 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str6754 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str6755 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str6756 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str6757 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str6758 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str6759 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str6760 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str6761 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str6762 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str6763 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str6764 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str6765 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str6766 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str6767 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str6768 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str6769 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str6770 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str6771 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str6772 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str6773 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str6774 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str6775 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str6776 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str6777 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str6778 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str6779 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str6780 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str6781 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str6782 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str6783 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str6784 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str6785 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str6786 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str6787 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str6788 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str6789 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str6790 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str6791 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str6792 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str6793 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str6794 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str6795 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str6796 = private unnamed_addr constant [6 x i8] c"Space\00" @.str6797 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str6798 = private unnamed_addr constant [7 x i8] c"Return\00" @.str6799 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str6800 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str6801 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str6802 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str6803 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str6804 = private unnamed_addr constant [3 x i8] c"Up\00" @.str6805 = private unnamed_addr constant [5 x i8] c"Down\00" @.str6806 = private unnamed_addr constant [5 x i8] c"Left\00" @.str6807 = private unnamed_addr constant [6 x i8] c"Right\00" @.str6808 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str6809 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str6810 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str6811 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str6812 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str6813 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str6814 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str6815 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str6816 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str6817 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str6818 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str6819 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str6820 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str6821 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6822 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str6823 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6824 = private unnamed_addr constant [2 x i8] c")\00" @.str6825 = private unnamed_addr constant [3 x i8] c" \00" @.str6826 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6827 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6828 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6829 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6830 = private unnamed_addr constant [9 x i8] c" store \00" @.str6831 = private unnamed_addr constant [2 x i8] c" \00" @.str6832 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6834 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str6835 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6836 = private unnamed_addr constant [2 x i8] c")\00" @.str6837 = private unnamed_addr constant [3 x i8] c" \00" @.str6838 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6839 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str6840 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str6841 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6842 = private unnamed_addr constant [3 x i8] c" \00" @.str6843 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6844 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str6845 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6846 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6847 = private unnamed_addr constant [3 x i8] c" \00" @.str6848 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6849 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str6850 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6851 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6852 = private unnamed_addr constant [3 x i8] c" \00" @.str6853 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6854 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6855 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6856 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6857 = private unnamed_addr constant [4 x i8] c"int\00" @.str6858 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str6859 = private unnamed_addr constant [2 x i8] c")\00" @.str6860 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6861 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6862 = private unnamed_addr constant [4 x i8] c"int\00" @.str6863 = private unnamed_addr constant [2 x i8] c"0\00" @.str6864 = private unnamed_addr constant [5 x i8] c"void\00" @.str6865 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str6866 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6867 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str6868 = private unnamed_addr constant [6 x i8] c" and \00" @.str6869 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6870 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6871 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6872 = private unnamed_addr constant [3 x i8] c", \00" @.str6873 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6874 = private unnamed_addr constant [4 x i8] c"put\00" @.str6875 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6876 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6877 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6878 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6879 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6880 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6881 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6882 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6883 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6884 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6885 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str6886 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6887 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6888 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6889 = private unnamed_addr constant [3 x i8] c", \00" @.str6890 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6891 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str6892 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6893 = private unnamed_addr constant [2 x i8] c")\00" @.str6894 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6895 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6896 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6897 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6898 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6899 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6900 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6901 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6902 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6903 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6904 = private unnamed_addr constant [3 x i8] c" \00" @.str6905 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6906 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6907 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6908 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6909 = private unnamed_addr constant [9 x i8] c" store \00" @.str6910 = private unnamed_addr constant [2 x i8] c" \00" @.str6911 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6912 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6913 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6914 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6915 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6916 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6917 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6918 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6919 = private unnamed_addr constant [4 x i8] c"int\00" @.str6920 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6921 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6922 = private unnamed_addr constant [7 x i8] c"result\00" @.str6923 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str6924 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str6925 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6926 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6928 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6929 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str6930 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6931 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6932 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6933 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str6934 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str6935 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str6936 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6937 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6938 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6939 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6940 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6941 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6942 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str6943 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6944 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6945 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6946 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6947 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6950 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6951 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str6952 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6953 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6954 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6955 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6956 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6957 = private unnamed_addr constant [6 x i8] c"error\00" @.str6958 = private unnamed_addr constant [7 x i8] c"string\00" @.str6959 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6960 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6961 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6962 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6963 = private unnamed_addr constant [4 x i8] c"int\00" @.str6964 = private unnamed_addr constant [6 x i8] c"load \00" @.str6965 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6966 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6967 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6968 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6969 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6970 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6971 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6972 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6973 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6974 = private unnamed_addr constant [3 x i8] c"sc\00" @.str6975 = private unnamed_addr constant [6 x i8] c"scend\00" @.str6976 = private unnamed_addr constant [4 x i8] c"and\00" @.str6977 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6978 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6979 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6981 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6982 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6983 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6984 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6985 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6986 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6987 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6988 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6989 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6990 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6991 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6992 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6993 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6994 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6995 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6996 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6997 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6998 = private unnamed_addr constant [2 x i8] c"<\00" @.str6999 = private unnamed_addr constant [4 x i8] c"slt\00" @.str7000 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7001 = private unnamed_addr constant [4 x i8] c"sle\00" @.str7002 = private unnamed_addr constant [2 x i8] c">\00" @.str7003 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str7004 = private unnamed_addr constant [3 x i8] c">=\00" @.str7005 = private unnamed_addr constant [4 x i8] c"sge\00" @.str7006 = private unnamed_addr constant [3 x i8] c"==\00" @.str7007 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7008 = private unnamed_addr constant [3 x i8] c"ne\00" @.str7009 = private unnamed_addr constant [2 x i8] c"<\00" @.str7010 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7011 = private unnamed_addr constant [2 x i8] c">\00" @.str7012 = private unnamed_addr constant [3 x i8] c">=\00" @.str7013 = private unnamed_addr constant [3 x i8] c"==\00" @.str7014 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7015 = private unnamed_addr constant [2 x i8] c"+\00" @.str7016 = private unnamed_addr constant [4 x i8] c"add\00" @.str7017 = private unnamed_addr constant [2 x i8] c"-\00" @.str7018 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7019 = private unnamed_addr constant [2 x i8] c"*\00" @.str7020 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7021 = private unnamed_addr constant [2 x i8] c"/\00" @.str7022 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str7023 = private unnamed_addr constant [2 x i8] c"&\00" @.str7024 = private unnamed_addr constant [4 x i8] c"and\00" @.str7025 = private unnamed_addr constant [2 x i8] c"|\00" @.str7026 = private unnamed_addr constant [3 x i8] c"or\00" @.str7027 = private unnamed_addr constant [2 x i8] c"^\00" @.str7028 = private unnamed_addr constant [4 x i8] c"xor\00" @.str7029 = private unnamed_addr constant [3 x i8] c"<<\00" @.str7030 = private unnamed_addr constant [4 x i8] c"shl\00" @.str7031 = private unnamed_addr constant [3 x i8] c">>\00" @.str7032 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str7033 = private unnamed_addr constant [5 x i8] c"srem\00" @.str7034 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7035 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7036 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7037 = private unnamed_addr constant [3 x i8] c"a \00" @.str7038 = private unnamed_addr constant [6 x i8] c" slot\00" @.str7039 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7040 = private unnamed_addr constant [3 x i8] c"a \00" @.str7041 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str7042 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str7043 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7044 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7045 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7046 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7047 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7048 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7049 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7050 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7051 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7052 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7053 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7054 = private unnamed_addr constant [2 x i8] c"+\00" @.str7055 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str7056 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7057 = private unnamed_addr constant [2 x i8] c")\00" @.str7058 = private unnamed_addr constant [7 x i8] c"string\00" @.str7059 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str7060 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7061 = private unnamed_addr constant [2 x i8] c")\00" @.str7062 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7063 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str7064 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7065 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7066 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7067 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7068 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7069 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7070 = private unnamed_addr constant [5 x i8] c"long\00" @.str7071 = private unnamed_addr constant [4 x i8] c"int\00" @.str7072 = private unnamed_addr constant [4 x i8] c"and\00" @.str7073 = private unnamed_addr constant [3 x i8] c"or\00" @.str7074 = private unnamed_addr constant [7 x i8] c"string\00" @.str7075 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7076 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7077 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7078 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7079 = private unnamed_addr constant [2 x i8] c"+\00" @.str7080 = private unnamed_addr constant [2 x i8] c"+\00" @.str7081 = private unnamed_addr constant [3 x i8] c"==\00" @.str7082 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7083 = private unnamed_addr constant [7 x i8] c"string\00" @.str7084 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7085 = private unnamed_addr constant [7 x i8] c"string\00" @.str7086 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7087 = private unnamed_addr constant [16 x i8] c"cannot compare \00" @.str7088 = private unnamed_addr constant [7 x i8] c" with \00" @.str7089 = private unnamed_addr constant [8 x i8] c" using \00" @.str7090 = private unnamed_addr constant [59 x i8] c": strings compare by content, other references by identity\00" @.str7091 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7092 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7093 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7094 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7095 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7096 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7097 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7098 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7099 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7100 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str7101 = private unnamed_addr constant [2 x i8] c" \00" @.str7102 = private unnamed_addr constant [2 x i8] c" \00" @.str7103 = private unnamed_addr constant [3 x i8] c", \00" @.str7104 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7105 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7106 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7107 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str7108 = private unnamed_addr constant [3 x i8] c", \00" @.str7109 = private unnamed_addr constant [5 x i8] c"long\00" @.str7110 = private unnamed_addr constant [2 x i8] c"*\00" @.str7111 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7112 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7113 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7114 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7115 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7116 = private unnamed_addr constant [3 x i8] c", \00" @.str7117 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str7118 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7119 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7120 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7121 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7122 = private unnamed_addr constant [2 x i8] c"/\00" @.str7123 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7124 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7125 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str7126 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7127 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7128 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7129 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str7130 = private unnamed_addr constant [3 x i8] c", \00" @.str7131 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7132 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7133 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7134 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7135 = private unnamed_addr constant [3 x i8] c", \00" @.str7136 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7137 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7138 = private unnamed_addr constant [3 x i8] c", \00" @.str7139 = private unnamed_addr constant [4 x i8] c"int\00" @.str7140 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str7141 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str7142 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str7143 = private unnamed_addr constant [5 x i8] c"exok\00" @.str7144 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str7145 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7146 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7147 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7148 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7149 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7150 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str7151 = private unnamed_addr constant [1 x i8] c"\00" @.str7152 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str7153 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7154 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str7155 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7156 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7157 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7158 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7159 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7160 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7161 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7162 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str7163 = private unnamed_addr constant [7 x i8] c"__each\00" @.str7164 = private unnamed_addr constant [5 x i8] c"self\00" @.str7165 = private unnamed_addr constant [2 x i8] c"0\00" @.str7166 = private unnamed_addr constant [5 x i8] c"void\00" @.str7167 = private unnamed_addr constant [6 x i8] c"count\00" @.str7168 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str7169 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7170 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7171 = private unnamed_addr constant [2 x i8] c"0\00" @.str7172 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7173 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7174 = private unnamed_addr constant [2 x i8] c"0\00" @.str7175 = private unnamed_addr constant [3 x i8] c"cc\00" @.str7176 = private unnamed_addr constant [3 x i8] c"cb\00" @.str7177 = private unnamed_addr constant [3 x i8] c"cn\00" @.str7178 = private unnamed_addr constant [3 x i8] c"ce\00" @.str7179 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7180 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7181 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7182 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7183 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7184 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str7185 = private unnamed_addr constant [3 x i8] c", \00" @.str7186 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7187 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7188 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7189 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7190 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7191 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7192 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7193 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7194 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7195 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7196 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7197 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7198 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str7199 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7200 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7201 = private unnamed_addr constant [3 x i8] c", \00" @.str7202 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7203 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7204 = private unnamed_addr constant [3 x i8] c", \00" @.str7205 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7206 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7207 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7208 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7209 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7210 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7211 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7212 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7213 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7214 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7215 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7216 = private unnamed_addr constant [4 x i8] c"int\00" @.str7217 = private unnamed_addr constant [2 x i8] c".\00" @.str7218 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str7219 = private unnamed_addr constant [3 x i8] c"of\00" @.str7220 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7221 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str7222 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str7223 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7224 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str7225 = private unnamed_addr constant [3 x i8] c", \00" @.str7226 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str7227 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7228 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str7229 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7230 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7231 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7232 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7233 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7234 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7235 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7236 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7237 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7238 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str7239 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7240 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7241 = private unnamed_addr constant [3 x i8] c", \00" @.str7242 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7243 = private unnamed_addr constant [3 x i8] c", \00" @.str7244 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7245 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7246 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7247 = private unnamed_addr constant [5 x i8] c"name\00" @.str7248 = private unnamed_addr constant [7 x i8] c"string\00" @.str7249 = private unnamed_addr constant [3 x i8] c"of\00" @.str7250 = private unnamed_addr constant [4 x i8] c"has\00" @.str7251 = private unnamed_addr constant [6 x i8] c"count\00" @.str7252 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7253 = private unnamed_addr constant [2 x i8] c"_\00" @.str7254 = private unnamed_addr constant [5 x i8] c"Math\00" @.str7255 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str7256 = private unnamed_addr constant [5 x i8] c"Text\00" @.str7257 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str7258 = private unnamed_addr constant [5 x i8] c"List\00" @.str7259 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str7260 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str7261 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str7262 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str7263 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str7264 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str7265 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str7266 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str7267 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str7268 = private unnamed_addr constant [6 x i8] c"Color\00" @.str7269 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str7270 = private unnamed_addr constant [5 x i8] c"Time\00" @.str7271 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str7272 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str7273 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str7274 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str7275 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str7276 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str7277 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str7278 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str7279 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str7280 = private unnamed_addr constant [4 x i8] c"Log\00" @.str7281 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str7282 = private unnamed_addr constant [3 x i8] c"Os\00" @.str7283 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str7284 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str7285 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str7286 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str7287 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str7288 = private unnamed_addr constant [5 x i8] c"Path\00" @.str7289 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str7290 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str7291 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str7292 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str7293 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str7294 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str7295 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str7296 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str7297 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str7298 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str7299 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str7300 = private unnamed_addr constant [5 x i8] c"Date\00" @.str7301 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str7302 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str7303 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str7304 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str7305 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str7306 = private unnamed_addr constant [4 x i8] c"App\00" @.str7307 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str7308 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str7309 = private unnamed_addr constant [2 x i8] c"0\00" @.str7310 = private unnamed_addr constant [5 x i8] c"void\00" @.str7311 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str7312 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str7313 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7314 = private unnamed_addr constant [2 x i8] c"0\00" @.str7315 = private unnamed_addr constant [5 x i8] c"void\00" @.str7316 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" @.str7317 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str7318 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str7319 = private unnamed_addr constant [4 x i8] c"int\00" @.str7320 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str7321 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7322 = private unnamed_addr constant [4 x i8] c"int\00" @.str7323 = private unnamed_addr constant [5 x i8] c"free\00" @.str7324 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7325 = private unnamed_addr constant [4 x i8] c"int\00" @.str7326 = private unnamed_addr constant [5 x i8] c"live\00" @.str7327 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7328 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7329 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str7330 = private unnamed_addr constant [3 x i8] c", \00" @.str7331 = private unnamed_addr constant [4 x i8] c"int\00" @.str7332 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str7333 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str7334 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7335 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7336 = private unnamed_addr constant [6 x i8] c"color\00" @.str7337 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str7338 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str7339 = private unnamed_addr constant [2 x i8] c"x\00" @.str7340 = private unnamed_addr constant [2 x i8] c"y\00" @.str7341 = private unnamed_addr constant [6 x i8] c"width\00" @.str7342 = private unnamed_addr constant [7 x i8] c"height\00" @.str7343 = private unnamed_addr constant [6 x i8] c"color\00" @.str7344 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7345 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7346 = private unnamed_addr constant [2 x i8] c"x\00" @.str7347 = private unnamed_addr constant [2 x i8] c"y\00" @.str7348 = private unnamed_addr constant [6 x i8] c"width\00" @.str7349 = private unnamed_addr constant [7 x i8] c"height\00" @.str7350 = private unnamed_addr constant [6 x i8] c"value\00" @.str7351 = private unnamed_addr constant [4 x i8] c"max\00" @.str7352 = private unnamed_addr constant [6 x i8] c"color\00" @.str7353 = private unnamed_addr constant [5 x i8] c"back\00" @.str7354 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str7355 = private unnamed_addr constant [11 x i8] c"frame_rect\00" @.str7356 = private unnamed_addr constant [2 x i8] c"x\00" @.str7357 = private unnamed_addr constant [2 x i8] c"y\00" @.str7358 = private unnamed_addr constant [6 x i8] c"width\00" @.str7359 = private unnamed_addr constant [7 x i8] c"height\00" @.str7360 = private unnamed_addr constant [6 x i8] c"color\00" @.str7361 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str7362 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str7363 = private unnamed_addr constant [2 x i8] c"x\00" @.str7364 = private unnamed_addr constant [2 x i8] c"y\00" @.str7365 = private unnamed_addr constant [6 x i8] c"color\00" @.str7366 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str7367 = private unnamed_addr constant [5 x i8] c"text\00" @.str7368 = private unnamed_addr constant [2 x i8] c"x\00" @.str7369 = private unnamed_addr constant [2 x i8] c"y\00" @.str7370 = private unnamed_addr constant [5 x i8] c"text\00" @.str7371 = private unnamed_addr constant [6 x i8] c"color\00" @.str7372 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7373 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str7374 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str7375 = private unnamed_addr constant [2 x i8] c"x\00" @.str7376 = private unnamed_addr constant [2 x i8] c"y\00" @.str7377 = private unnamed_addr constant [6 x i8] c"value\00" @.str7378 = private unnamed_addr constant [6 x i8] c"color\00" @.str7379 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7380 = private unnamed_addr constant [5 x i8] c"show\00" @.str7381 = private unnamed_addr constant [8 x i8] c"present\00" @.str7382 = private unnamed_addr constant [6 x i8] c"width\00" @.str7383 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str7384 = private unnamed_addr constant [7 x i8] c"height\00" @.str7385 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str7386 = private unnamed_addr constant [7 x i8] c"status\00" @.str7387 = private unnamed_addr constant [7 x i8] c"status\00" @.str7388 = private unnamed_addr constant [5 x i8] c"text\00" @.str7389 = private unnamed_addr constant [5 x i8] c"line\00" @.str7390 = private unnamed_addr constant [5 x i8] c"line\00" @.str7391 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7392 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7393 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7394 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7395 = private unnamed_addr constant [6 x i8] c"color\00" @.str7396 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7397 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7398 = private unnamed_addr constant [2 x i8] c"x\00" @.str7399 = private unnamed_addr constant [2 x i8] c"y\00" @.str7400 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7401 = private unnamed_addr constant [6 x i8] c"color\00" @.str7402 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7403 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7404 = private unnamed_addr constant [2 x i8] c"x\00" @.str7405 = private unnamed_addr constant [2 x i8] c"y\00" @.str7406 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7407 = private unnamed_addr constant [6 x i8] c"color\00" @.str7408 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7409 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7410 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7411 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7412 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7413 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7414 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7415 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7416 = private unnamed_addr constant [6 x i8] c"color\00" @.str7417 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7418 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7419 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7420 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7421 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7422 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7423 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7424 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7425 = private unnamed_addr constant [6 x i8] c"color\00" @.str7426 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str7427 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str7428 = private unnamed_addr constant [3 x i8] c"id\00" @.str7429 = private unnamed_addr constant [2 x i8] c"x\00" @.str7430 = private unnamed_addr constant [2 x i8] c"y\00" @.str7431 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" @.str7432 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str7433 = private unnamed_addr constant [3 x i8] c"id\00" @.str7434 = private unnamed_addr constant [2 x i8] c"x\00" @.str7435 = private unnamed_addr constant [2 x i8] c"y\00" @.str7436 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7437 = private unnamed_addr constant [5 x i8] c"oval\00" @.str7438 = private unnamed_addr constant [5 x i8] c"oval\00" @.str7439 = private unnamed_addr constant [2 x i8] c"x\00" @.str7440 = private unnamed_addr constant [2 x i8] c"y\00" @.str7441 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7442 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7443 = private unnamed_addr constant [6 x i8] c"color\00" @.str7444 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7445 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7446 = private unnamed_addr constant [2 x i8] c"x\00" @.str7447 = private unnamed_addr constant [2 x i8] c"y\00" @.str7448 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7449 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7450 = private unnamed_addr constant [2 x i8] c"x\00" @.str7451 = private unnamed_addr constant [2 x i8] c"y\00" @.str7452 = private unnamed_addr constant [6 x i8] c"width\00" @.str7453 = private unnamed_addr constant [7 x i8] c"height\00" @.str7454 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7455 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7456 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7457 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7458 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7459 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7460 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7461 = private unnamed_addr constant [5 x i8] c"text\00" @.str7462 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7463 = private unnamed_addr constant [7 x i8] c"get_px\00" @.str7464 = private unnamed_addr constant [2 x i8] c"x\00" @.str7465 = private unnamed_addr constant [2 x i8] c"y\00" @.str7466 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str7467 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7468 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str7469 = private unnamed_addr constant [5 x i8] c"path\00" @.str7470 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str7471 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str7472 = private unnamed_addr constant [5 x i8] c"cell\00" @.str7473 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str7474 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7475 = private unnamed_addr constant [4 x i8] c"col\00" @.str7476 = private unnamed_addr constant [4 x i8] c"row\00" @.str7477 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str7478 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str7479 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7480 = private unnamed_addr constant [4 x i8] c"col\00" @.str7481 = private unnamed_addr constant [4 x i8] c"row\00" @.str7482 = private unnamed_addr constant [5 x i8] c"cols\00" @.str7483 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7484 = private unnamed_addr constant [6 x i8] c"strip\00" @.str7485 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str7486 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7487 = private unnamed_addr constant [4 x i8] c"col\00" @.str7488 = private unnamed_addr constant [4 x i8] c"row\00" @.str7489 = private unnamed_addr constant [6 x i8] c"count\00" @.str7490 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7491 = private unnamed_addr constant [7 x i8] c"define\00" @.str7492 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str7493 = private unnamed_addr constant [5 x i8] c"name\00" @.str7494 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7495 = private unnamed_addr constant [4 x i8] c"col\00" @.str7496 = private unnamed_addr constant [4 x i8] c"row\00" @.str7497 = private unnamed_addr constant [6 x i8] c"named\00" @.str7498 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7499 = private unnamed_addr constant [5 x i8] c"name\00" @.str7500 = private unnamed_addr constant [5 x i8] c"draw\00" @.str7501 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str7502 = private unnamed_addr constant [3 x i8] c"id\00" @.str7503 = private unnamed_addr constant [2 x i8] c"x\00" @.str7504 = private unnamed_addr constant [2 x i8] c"y\00" @.str7505 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str7506 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str7507 = private unnamed_addr constant [3 x i8] c"id\00" @.str7508 = private unnamed_addr constant [2 x i8] c"x\00" @.str7509 = private unnamed_addr constant [2 x i8] c"y\00" @.str7510 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7511 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str7512 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str7513 = private unnamed_addr constant [2 x i8] c"x\00" @.str7514 = private unnamed_addr constant [2 x i8] c"y\00" @.str7515 = private unnamed_addr constant [6 x i8] c"value\00" @.str7516 = private unnamed_addr constant [4 x i8] c"max\00" @.str7517 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str7518 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str7519 = private unnamed_addr constant [5 x i8] c"full\00" @.str7520 = private unnamed_addr constant [5 x i8] c"half\00" @.str7521 = private unnamed_addr constant [6 x i8] c"empty\00" @.str7522 = private unnamed_addr constant [6 x i8] c"width\00" @.str7523 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str7524 = private unnamed_addr constant [3 x i8] c"id\00" @.str7525 = private unnamed_addr constant [7 x i8] c"height\00" @.str7526 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str7527 = private unnamed_addr constant [3 x i8] c"id\00" @.str7528 = private unnamed_addr constant [5 x i8] c"Font\00" @.str7529 = private unnamed_addr constant [5 x i8] c"load\00" @.str7530 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str7531 = private unnamed_addr constant [5 x i8] c"path\00" @.str7532 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str7533 = private unnamed_addr constant [6 x i8] c"build\00" @.str7534 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str7535 = private unnamed_addr constant [5 x i8] c"open\00" @.str7536 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str7537 = private unnamed_addr constant [3 x i8] c"id\00" @.str7538 = private unnamed_addr constant [6 x i8] c"close\00" @.str7539 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str7540 = private unnamed_addr constant [5 x i8] c"tick\00" @.str7541 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str7542 = private unnamed_addr constant [4 x i8] c"key\00" @.str7543 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str7544 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str7545 = private unnamed_addr constant [3 x i8] c"id\00" @.str7546 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str7547 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str7548 = private unnamed_addr constant [3 x i8] c"id\00" @.str7549 = private unnamed_addr constant [5 x i8] c"text\00" @.str7550 = private unnamed_addr constant [7 x i8] c"render\00" @.str7551 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str7552 = private unnamed_addr constant [5 x i8] c"File\00" @.str7553 = private unnamed_addr constant [5 x i8] c"open\00" @.str7554 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7555 = private unnamed_addr constant [5 x i8] c"path\00" @.str7556 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7557 = private unnamed_addr constant [5 x i8] c"read\00" @.str7558 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7559 = private unnamed_addr constant [5 x i8] c"file\00" @.str7560 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7561 = private unnamed_addr constant [6 x i8] c"count\00" @.str7562 = private unnamed_addr constant [6 x i8] c"write\00" @.str7563 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7564 = private unnamed_addr constant [5 x i8] c"file\00" @.str7565 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7566 = private unnamed_addr constant [6 x i8] c"count\00" @.str7567 = private unnamed_addr constant [5 x i8] c"seek\00" @.str7568 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7569 = private unnamed_addr constant [5 x i8] c"file\00" @.str7570 = private unnamed_addr constant [7 x i8] c"offset\00" @.str7571 = private unnamed_addr constant [7 x i8] c"whence\00" @.str7572 = private unnamed_addr constant [5 x i8] c"tell\00" @.str7573 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7574 = private unnamed_addr constant [5 x i8] c"file\00" @.str7575 = private unnamed_addr constant [6 x i8] c"close\00" @.str7576 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7577 = private unnamed_addr constant [5 x i8] c"file\00" @.str7578 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str7579 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str7580 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str7581 = private unnamed_addr constant [2 x i8] c"x\00" @.str7582 = private unnamed_addr constant [2 x i8] c"y\00" @.str7583 = private unnamed_addr constant [6 x i8] c"color\00" @.str7584 = private unnamed_addr constant [6 x i8] c"count\00" @.str7585 = private unnamed_addr constant [7 x i8] c"number\00" @.str7586 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str7587 = private unnamed_addr constant [2 x i8] c"x\00" @.str7588 = private unnamed_addr constant [2 x i8] c"y\00" @.str7589 = private unnamed_addr constant [6 x i8] c"value\00" @.str7590 = private unnamed_addr constant [6 x i8] c"color\00" @.str7591 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7592 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str7593 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str7594 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str7595 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str7596 = private unnamed_addr constant [9 x i8] c"Position\00" @.str7597 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str7598 = private unnamed_addr constant [5 x i8] c"name\00" @.str7599 = private unnamed_addr constant [3 x i8] c"at\00" @.str7600 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7601 = private unnamed_addr constant [2 x i8] c")\00" @.str7602 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7603 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str7604 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7605 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7606 = private unnamed_addr constant [2 x i8] c"x\00" @.str7607 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7608 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7609 = private unnamed_addr constant [2 x i8] c"y\00" @.str7610 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7611 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7612 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7613 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7614 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7615 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7616 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7617 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7618 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str7619 = private unnamed_addr constant [5 x i8] c"name\00" @.str7620 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str7621 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7622 = private unnamed_addr constant [2 x i8] c")\00" @.str7623 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7624 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str7625 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str7626 = private unnamed_addr constant [5 x i8] c"font\00" @.str7627 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str7628 = private unnamed_addr constant [5 x i8] c"name\00" @.str7629 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str7630 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str7631 = private unnamed_addr constant [5 x i8] c"path\00" @.str7632 = private unnamed_addr constant [6 x i8] c"image\00" @.str7633 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7634 = private unnamed_addr constant [5 x i8] c"path\00" @.str7635 = private unnamed_addr constant [5 x i8] c"load\00" @.str7636 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7637 = private unnamed_addr constant [5 x i8] c"path\00" @.str7638 = private unnamed_addr constant [4 x i8] c"get\00" @.str7639 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7640 = private unnamed_addr constant [5 x i8] c"name\00" @.str7641 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str7642 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str7643 = private unnamed_addr constant [5 x i8] c"name\00" @.str7644 = private unnamed_addr constant [5 x i8] c"path\00" @.str7645 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7646 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str7647 = private unnamed_addr constant [4 x i8] c"max\00" @.str7648 = private unnamed_addr constant [6 x i8] c"total\00" @.str7649 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str7650 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str7651 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str7652 = private unnamed_addr constant [6 x i8] c"ready\00" @.str7653 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str7654 = private unnamed_addr constant [9 x i8] c"progress\00" @.str7655 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str7656 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str7657 = private unnamed_addr constant [4 x i8] c"set\00" @.str7658 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7659 = private unnamed_addr constant [2 x i8] c"x\00" @.str7660 = private unnamed_addr constant [2 x i8] c"y\00" @.str7661 = private unnamed_addr constant [7 x i8] c"follow\00" @.str7662 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str7663 = private unnamed_addr constant [2 x i8] c"x\00" @.str7664 = private unnamed_addr constant [2 x i8] c"y\00" @.str7665 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7666 = private unnamed_addr constant [6 x i8] c"shake\00" @.str7667 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str7668 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7669 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str7670 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str7671 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7672 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7673 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str7674 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str7675 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7676 = private unnamed_addr constant [4 x i8] c"Map\00" @.str7677 = private unnamed_addr constant [5 x i8] c"size\00" @.str7678 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str7679 = private unnamed_addr constant [6 x i8] c"width\00" @.str7680 = private unnamed_addr constant [7 x i8] c"height\00" @.str7681 = private unnamed_addr constant [4 x i8] c"row\00" @.str7682 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str7683 = private unnamed_addr constant [2 x i8] c"y\00" @.str7684 = private unnamed_addr constant [6 x i8] c"cells\00" @.str7685 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7686 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7687 = private unnamed_addr constant [2 x i8] c"x\00" @.str7688 = private unnamed_addr constant [2 x i8] c"y\00" @.str7689 = private unnamed_addr constant [4 x i8] c"get\00" @.str7690 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7691 = private unnamed_addr constant [2 x i8] c"x\00" @.str7692 = private unnamed_addr constant [2 x i8] c"y\00" @.str7693 = private unnamed_addr constant [4 x i8] c"set\00" @.str7694 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str7695 = private unnamed_addr constant [2 x i8] c"x\00" @.str7696 = private unnamed_addr constant [2 x i8] c"y\00" @.str7697 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7698 = private unnamed_addr constant [5 x i8] c"fill\00" @.str7699 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str7700 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7701 = private unnamed_addr constant [5 x i8] c"rect\00" @.str7702 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str7703 = private unnamed_addr constant [2 x i8] c"x\00" @.str7704 = private unnamed_addr constant [2 x i8] c"y\00" @.str7705 = private unnamed_addr constant [6 x i8] c"width\00" @.str7706 = private unnamed_addr constant [7 x i8] c"height\00" @.str7707 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7708 = private unnamed_addr constant [7 x i8] c"border\00" @.str7709 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str7710 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7711 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str7712 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str7713 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7714 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str7715 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str7716 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7717 = private unnamed_addr constant [5 x i8] c"from\00" @.str7718 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str7719 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str7720 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str7721 = private unnamed_addr constant [2 x i8] c"x\00" @.str7722 = private unnamed_addr constant [2 x i8] c"y\00" @.str7723 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str7724 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str7725 = private unnamed_addr constant [2 x i8] c"x\00" @.str7726 = private unnamed_addr constant [2 x i8] c"y\00" @.str7727 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str7728 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str7729 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7730 = private unnamed_addr constant [6 x i8] c"width\00" @.str7731 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str7732 = private unnamed_addr constant [7 x i8] c"height\00" @.str7733 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str7734 = private unnamed_addr constant [7 x i8] c"Random\00" @.str7735 = private unnamed_addr constant [6 x i8] c"range\00" @.str7736 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str7737 = private unnamed_addr constant [4 x i8] c"low\00" @.str7738 = private unnamed_addr constant [5 x i8] c"high\00" @.str7739 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str7740 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str7741 = private unnamed_addr constant [8 x i8] c"weights\00" @.str7742 = private unnamed_addr constant [7 x i8] c"chance\00" @.str7743 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str7744 = private unnamed_addr constant [8 x i8] c"percent\00" @.str7745 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7746 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7747 = private unnamed_addr constant [6 x i8] c"value\00" @.str7748 = private unnamed_addr constant [6 x i8] c"value\00" @.str7749 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str7750 = private unnamed_addr constant [4 x i8] c"int\00" @.str7751 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str7752 = private unnamed_addr constant [4 x i8] c"max\00" @.str7753 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7754 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str7755 = private unnamed_addr constant [6 x i8] c"Input\00" @.str7756 = private unnamed_addr constant [4 x i8] c"key\00" @.str7757 = private unnamed_addr constant [4 x i8] c"key\00" @.str7758 = private unnamed_addr constant [5 x i8] c"bind\00" @.str7759 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str7760 = private unnamed_addr constant [7 x i8] c"action\00" @.str7761 = private unnamed_addr constant [4 x i8] c"key\00" @.str7762 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str7763 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str7764 = private unnamed_addr constant [7 x i8] c"action\00" @.str7765 = private unnamed_addr constant [4 x i8] c"old\00" @.str7766 = private unnamed_addr constant [4 x i8] c"new\00" @.str7767 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7768 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str7769 = private unnamed_addr constant [5 x i8] c"down\00" @.str7770 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str7771 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str7772 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str7773 = private unnamed_addr constant [7 x i8] c"record\00" @.str7774 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str7775 = private unnamed_addr constant [7 x i8] c"replay\00" @.str7776 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str7777 = private unnamed_addr constant [7 x i8] c"action\00" @.str7778 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str7779 = private unnamed_addr constant [7 x i8] c"action\00" @.str7780 = private unnamed_addr constant [4 x i8] c"key\00" @.str7781 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str7782 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str7783 = private unnamed_addr constant [7 x i8] c"action\00" @.str7784 = private unnamed_addr constant [7 x i8] c"button\00" @.str7785 = private unnamed_addr constant [7 x i8] c"active\00" @.str7786 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str7787 = private unnamed_addr constant [7 x i8] c"action\00" @.str7788 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str7789 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str7790 = private unnamed_addr constant [7 x i8] c"action\00" @.str7791 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str7792 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str7793 = private unnamed_addr constant [7 x i8] c"action\00" @.str7794 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str7795 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str7796 = private unnamed_addr constant [4 x i8] c"key\00" @.str7797 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str7798 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str7799 = private unnamed_addr constant [4 x i8] c"key\00" @.str7800 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str7801 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str7802 = private unnamed_addr constant [4 x i8] c"key\00" @.str7803 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str7804 = private unnamed_addr constant [16 x i8] c"input_key_label\00" @.str7805 = private unnamed_addr constant [4 x i8] c"key\00" @.str7806 = private unnamed_addr constant [6 x i8] c"press\00" @.str7807 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str7808 = private unnamed_addr constant [4 x i8] c"key\00" @.str7809 = private unnamed_addr constant [8 x i8] c"release\00" @.str7810 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str7811 = private unnamed_addr constant [4 x i8] c"key\00" @.str7812 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7813 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str7814 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7815 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7816 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str7817 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str7818 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7819 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7820 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str7821 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str7822 = private unnamed_addr constant [7 x i8] c"vector\00" @.str7823 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str7824 = private unnamed_addr constant [5 x i8] c"left\00" @.str7825 = private unnamed_addr constant [6 x i8] c"right\00" @.str7826 = private unnamed_addr constant [3 x i8] c"up\00" @.str7827 = private unnamed_addr constant [5 x i8] c"down\00" @.str7828 = private unnamed_addr constant [9 x i8] c"strength\00" @.str7829 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str7830 = private unnamed_addr constant [7 x i8] c"action\00" @.str7831 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str7832 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str7833 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str7834 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str7835 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str7836 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str7837 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str7838 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str7839 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str7840 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str7841 = private unnamed_addr constant [7 x i8] c"button\00" @.str7842 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7843 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str7844 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str7845 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str7846 = private unnamed_addr constant [2 x i8] c"x\00" @.str7847 = private unnamed_addr constant [2 x i8] c"y\00" @.str7848 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7849 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7850 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str7851 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str7852 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7853 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str7854 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str7855 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7856 = private unnamed_addr constant [7 x i8] c"button\00" @.str7857 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str7858 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str7859 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7860 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7861 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str7862 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str7863 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7864 = private unnamed_addr constant [10 x i8] c"connected\00" @.str7865 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7866 = private unnamed_addr constant [3 x i8] c"lx\00" @.str7867 = private unnamed_addr constant [3 x i8] c"ly\00" @.str7868 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7869 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7870 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str7871 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str7872 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str7873 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str7874 = private unnamed_addr constant [6 x i8] c"index\00" @.str7875 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str7876 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str7877 = private unnamed_addr constant [6 x i8] c"index\00" @.str7878 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str7879 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str7880 = private unnamed_addr constant [6 x i8] c"index\00" @.str7881 = private unnamed_addr constant [2 x i8] c"x\00" @.str7882 = private unnamed_addr constant [2 x i8] c"y\00" @.str7883 = private unnamed_addr constant [7 x i8] c"active\00" @.str7884 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str7885 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str7886 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7887 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str7888 = private unnamed_addr constant [5 x i8] c"load\00" @.str7889 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str7890 = private unnamed_addr constant [5 x i8] c"path\00" @.str7891 = private unnamed_addr constant [7 x i8] c"define\00" @.str7892 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str7893 = private unnamed_addr constant [5 x i8] c"name\00" @.str7894 = private unnamed_addr constant [5 x i8] c"path\00" @.str7895 = private unnamed_addr constant [6 x i8] c"named\00" @.str7896 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str7897 = private unnamed_addr constant [5 x i8] c"name\00" @.str7898 = private unnamed_addr constant [5 x i8] c"play\00" @.str7899 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str7900 = private unnamed_addr constant [5 x i8] c"name\00" @.str7901 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7902 = private unnamed_addr constant [3 x i8] c"id\00" @.str7903 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str7904 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7905 = private unnamed_addr constant [3 x i8] c"id\00" @.str7906 = private unnamed_addr constant [8 x i8] c"play_at\00" @.str7907 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" @.str7908 = private unnamed_addr constant [3 x i8] c"id\00" @.str7909 = private unnamed_addr constant [5 x i8] c"gain\00" @.str7910 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7911 = private unnamed_addr constant [4 x i8] c"pan\00" @.str7912 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str7913 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str7914 = private unnamed_addr constant [5 x i8] c"name\00" @.str7915 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str7916 = private unnamed_addr constant [3 x i8] c"id\00" @.str7917 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7918 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str7919 = private unnamed_addr constant [3 x i8] c"id\00" @.str7920 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str7921 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str7922 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str7923 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str7924 = private unnamed_addr constant [7 x i8] c"volume\00" @.str7925 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7926 = private unnamed_addr constant [2 x i8] c"v\00" @.str7927 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7928 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str7929 = private unnamed_addr constant [2 x i8] c"v\00" @.str7930 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str7931 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str7932 = private unnamed_addr constant [3 x i8] c"id\00" @.str7933 = private unnamed_addr constant [5 x i8] c"Http\00" @.str7934 = private unnamed_addr constant [4 x i8] c"get\00" @.str7935 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str7936 = private unnamed_addr constant [4 x i8] c"url\00" @.str7937 = private unnamed_addr constant [5 x i8] c"post\00" @.str7938 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str7939 = private unnamed_addr constant [4 x i8] c"url\00" @.str7940 = private unnamed_addr constant [5 x i8] c"body\00" @.str7941 = private unnamed_addr constant [8 x i8] c"request\00" @.str7942 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str7943 = private unnamed_addr constant [7 x i8] c"method\00" @.str7944 = private unnamed_addr constant [4 x i8] c"url\00" @.str7945 = private unnamed_addr constant [5 x i8] c"body\00" @.str7946 = private unnamed_addr constant [5 x i8] c"open\00" @.str7947 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str7948 = private unnamed_addr constant [7 x i8] c"method\00" @.str7949 = private unnamed_addr constant [4 x i8] c"url\00" @.str7950 = private unnamed_addr constant [4 x i8] c"set\00" @.str7951 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str7952 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7953 = private unnamed_addr constant [5 x i8] c"name\00" @.str7954 = private unnamed_addr constant [6 x i8] c"value\00" @.str7955 = private unnamed_addr constant [5 x i8] c"body\00" @.str7956 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str7957 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7958 = private unnamed_addr constant [5 x i8] c"body\00" @.str7959 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str7960 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str7961 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7962 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7963 = private unnamed_addr constant [4 x i8] c"len\00" @.str7964 = private unnamed_addr constant [5 x i8] c"send\00" @.str7965 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str7966 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7967 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7968 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str7969 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7970 = private unnamed_addr constant [7 x i8] c"status\00" @.str7971 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str7972 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7973 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7974 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str7975 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7976 = private unnamed_addr constant [5 x i8] c"text\00" @.str7977 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str7978 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7979 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str7980 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str7981 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7982 = private unnamed_addr constant [7 x i8] c"header\00" @.str7983 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str7984 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7985 = private unnamed_addr constant [5 x i8] c"name\00" @.str7986 = private unnamed_addr constant [5 x i8] c"free\00" @.str7987 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str7988 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7989 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7990 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str7991 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7992 = private unnamed_addr constant [4 x i8] c"len\00" @.str7993 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str7994 = private unnamed_addr constant [5 x i8] c"open\00" @.str7995 = private unnamed_addr constant [9 x i8] c"udp_open\00" @.str7996 = private unnamed_addr constant [5 x i8] c"port\00" @.str7997 = private unnamed_addr constant [5 x i8] c"port\00" @.str7998 = private unnamed_addr constant [9 x i8] c"udp_port\00" @.str7999 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8000 = private unnamed_addr constant [5 x i8] c"send\00" @.str8001 = private unnamed_addr constant [9 x i8] c"udp_send\00" @.str8002 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8003 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8004 = private unnamed_addr constant [5 x i8] c"port\00" @.str8005 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8006 = private unnamed_addr constant [4 x i8] c"len\00" @.str8007 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8008 = private unnamed_addr constant [9 x i8] c"udp_recv\00" @.str8009 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8010 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8011 = private unnamed_addr constant [4 x i8] c"cap\00" @.str8012 = private unnamed_addr constant [8 x i8] c"from_ip\00" @.str8013 = private unnamed_addr constant [12 x i8] c"udp_from_ip\00" @.str8014 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8015 = private unnamed_addr constant [10 x i8] c"from_port\00" @.str8016 = private unnamed_addr constant [14 x i8] c"udp_from_port\00" @.str8017 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8018 = private unnamed_addr constant [6 x i8] c"close\00" @.str8019 = private unnamed_addr constant [10 x i8] c"udp_close\00" @.str8020 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8021 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8022 = private unnamed_addr constant [12 x i8] c"udp_resolve\00" @.str8023 = private unnamed_addr constant [5 x i8] c"name\00" @.str8024 = private unnamed_addr constant [9 x i8] c"local_ip\00" @.str8025 = private unnamed_addr constant [13 x i8] c"udp_local_ip\00" @.str8026 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8027 = private unnamed_addr constant [7 x i8] c"udp_ip\00" @.str8028 = private unnamed_addr constant [5 x i8] c"text\00" @.str8029 = private unnamed_addr constant [8 x i8] c"ip_text\00" @.str8030 = private unnamed_addr constant [12 x i8] c"udp_ip_text\00" @.str8031 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8032 = private unnamed_addr constant [6 x i8] c"World\00" @.str8033 = private unnamed_addr constant [4 x i8] c"get\00" @.str8034 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8035 = private unnamed_addr constant [4 x i8] c"set\00" @.str8036 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8037 = private unnamed_addr constant [4 x i8] c"has\00" @.str8038 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8039 = private unnamed_addr constant [6 x i8] c"count\00" @.str8040 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8041 = private unnamed_addr constant [5 x i8] c"size\00" @.str8042 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8043 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8044 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str8045 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str8046 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str8047 = private unnamed_addr constant [5 x i8] c"save\00" @.str8048 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8049 = private unnamed_addr constant [5 x i8] c"load\00" @.str8050 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str8051 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str8052 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8053 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str8054 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8055 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str8056 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8057 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8058 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8059 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str8060 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8061 = private unnamed_addr constant [7 x i8] c"attach\00" @.str8062 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8063 = private unnamed_addr constant [7 x i8] c"detach\00" @.str8064 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8065 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str8066 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8067 = private unnamed_addr constant [8 x i8] c"Network\00" @.str8068 = private unnamed_addr constant [5 x i8] c"send\00" @.str8069 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8070 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8071 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8072 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8073 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8074 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8075 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8076 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8077 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8078 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8079 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8080 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8081 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8082 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8083 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8084 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8085 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8086 = private unnamed_addr constant [7 x i8] c"System\00" @.str8087 = private unnamed_addr constant [4 x i8] c"run\00" @.str8088 = private unnamed_addr constant [4 x i8] c"run\00" @.str8089 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8090 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8091 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8092 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8093 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8094 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8095 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8096 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8097 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8098 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8099 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8100 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8101 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8102 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8103 = private unnamed_addr constant [5 x i8] c"Save\00" @.str8104 = private unnamed_addr constant [6 x i8] c"write\00" @.str8105 = private unnamed_addr constant [5 x i8] c"save\00" @.str8106 = private unnamed_addr constant [5 x i8] c"read\00" @.str8107 = private unnamed_addr constant [5 x i8] c"load\00" @.str8108 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str8109 = private unnamed_addr constant [8 x i8] c"compile\00" @.str8110 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str8111 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8112 = private unnamed_addr constant [6 x i8] c"valid\00" @.str8113 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str8114 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8115 = private unnamed_addr constant [8 x i8] c"matches\00" @.str8116 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str8117 = private unnamed_addr constant [5 x i8] c"text\00" @.str8118 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8119 = private unnamed_addr constant [5 x i8] c"test\00" @.str8120 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str8121 = private unnamed_addr constant [5 x i8] c"text\00" @.str8122 = private unnamed_addr constant [3 x i8] c"re\00" @.str8123 = private unnamed_addr constant [5 x i8] c"find\00" @.str8124 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str8125 = private unnamed_addr constant [5 x i8] c"text\00" @.str8126 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8127 = private unnamed_addr constant [5 x i8] c"exec\00" @.str8128 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str8129 = private unnamed_addr constant [5 x i8] c"text\00" @.str8130 = private unnamed_addr constant [3 x i8] c"re\00" @.str8131 = private unnamed_addr constant [5 x i8] c"next\00" @.str8132 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str8133 = private unnamed_addr constant [5 x i8] c"text\00" @.str8134 = private unnamed_addr constant [3 x i8] c"re\00" @.str8135 = private unnamed_addr constant [5 x i8] c"from\00" @.str8136 = private unnamed_addr constant [8 x i8] c"replace\00" @.str8137 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str8138 = private unnamed_addr constant [5 x i8] c"text\00" @.str8139 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8140 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str8141 = private unnamed_addr constant [6 x i8] c"group\00" @.str8142 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str8143 = private unnamed_addr constant [6 x i8] c"match\00" @.str8144 = private unnamed_addr constant [2 x i8] c"n\00" @.str8145 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str8146 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str8147 = private unnamed_addr constant [6 x i8] c"match\00" @.str8148 = private unnamed_addr constant [6 x i8] c"start\00" @.str8149 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str8150 = private unnamed_addr constant [6 x i8] c"match\00" @.str8151 = private unnamed_addr constant [2 x i8] c"n\00" @.str8152 = private unnamed_addr constant [4 x i8] c"end\00" @.str8153 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str8154 = private unnamed_addr constant [6 x i8] c"match\00" @.str8155 = private unnamed_addr constant [2 x i8] c"n\00" @.str8156 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8157 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str8158 = private unnamed_addr constant [6 x i8] c"match\00" @.str8159 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str8160 = private unnamed_addr constant [5 x i8] c"from\00" @.str8161 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str8162 = private unnamed_addr constant [6 x i8] c"value\00" @.str8163 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8164 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str8165 = private unnamed_addr constant [5 x i8] c"text\00" @.str8166 = private unnamed_addr constant [4 x i8] c"add\00" @.str8167 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str8168 = private unnamed_addr constant [2 x i8] c"a\00" @.str8169 = private unnamed_addr constant [2 x i8] c"b\00" @.str8170 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8171 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str8172 = private unnamed_addr constant [2 x i8] c"a\00" @.str8173 = private unnamed_addr constant [2 x i8] c"b\00" @.str8174 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8175 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str8176 = private unnamed_addr constant [2 x i8] c"a\00" @.str8177 = private unnamed_addr constant [2 x i8] c"b\00" @.str8178 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8179 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str8180 = private unnamed_addr constant [2 x i8] c"a\00" @.str8181 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8182 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str8183 = private unnamed_addr constant [2 x i8] c"a\00" @.str8184 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8185 = private unnamed_addr constant [4 x i8] c"div\00" @.str8186 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str8187 = private unnamed_addr constant [2 x i8] c"a\00" @.str8188 = private unnamed_addr constant [2 x i8] c"d\00" @.str8189 = private unnamed_addr constant [4 x i8] c"mod\00" @.str8190 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str8191 = private unnamed_addr constant [2 x i8] c"a\00" @.str8192 = private unnamed_addr constant [2 x i8] c"d\00" @.str8193 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8194 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str8195 = private unnamed_addr constant [2 x i8] c"a\00" @.str8196 = private unnamed_addr constant [2 x i8] c"b\00" @.str8197 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8198 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" @.str8199 = private unnamed_addr constant [2 x i8] c"a\00" @.str8200 = private unnamed_addr constant [2 x i8] c"b\00" @.str8201 = private unnamed_addr constant [8 x i8] c"is_zero\00" @.str8202 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str8203 = private unnamed_addr constant [2 x i8] c"a\00" @.str8204 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str8205 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str8206 = private unnamed_addr constant [2 x i8] c"a\00" @.str8207 = private unnamed_addr constant [4 x i8] c"str\00" @.str8208 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str8209 = private unnamed_addr constant [2 x i8] c"a\00" @.str8210 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str8211 = private unnamed_addr constant [5 x i8] c"from\00" @.str8212 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str8213 = private unnamed_addr constant [6 x i8] c"value\00" @.str8214 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8215 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str8216 = private unnamed_addr constant [5 x i8] c"text\00" @.str8217 = private unnamed_addr constant [4 x i8] c"add\00" @.str8218 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str8219 = private unnamed_addr constant [2 x i8] c"a\00" @.str8220 = private unnamed_addr constant [2 x i8] c"b\00" @.str8221 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8222 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str8223 = private unnamed_addr constant [2 x i8] c"a\00" @.str8224 = private unnamed_addr constant [2 x i8] c"b\00" @.str8225 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8226 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str8227 = private unnamed_addr constant [2 x i8] c"a\00" @.str8228 = private unnamed_addr constant [2 x i8] c"b\00" @.str8229 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8230 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str8231 = private unnamed_addr constant [2 x i8] c"a\00" @.str8232 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8233 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str8234 = private unnamed_addr constant [2 x i8] c"a\00" @.str8235 = private unnamed_addr constant [2 x i8] c"b\00" @.str8236 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8237 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str8238 = private unnamed_addr constant [2 x i8] c"a\00" @.str8239 = private unnamed_addr constant [2 x i8] c"b\00" @.str8240 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8241 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str8242 = private unnamed_addr constant [2 x i8] c"d\00" @.str8243 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str8244 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str8245 = private unnamed_addr constant [2 x i8] c"d\00" @.str8246 = private unnamed_addr constant [7 x i8] c"places\00" @.str8247 = private unnamed_addr constant [4 x i8] c"str\00" @.str8248 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str8249 = private unnamed_addr constant [2 x i8] c"d\00" @.str8250 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str8251 = private unnamed_addr constant [4 x i8] c"new\00" @.str8252 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str8253 = private unnamed_addr constant [4 x i8] c"set\00" @.str8254 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str8255 = private unnamed_addr constant [2 x i8] c"d\00" @.str8256 = private unnamed_addr constant [4 x i8] c"key\00" @.str8257 = private unnamed_addr constant [6 x i8] c"value\00" @.str8258 = private unnamed_addr constant [4 x i8] c"get\00" @.str8259 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str8260 = private unnamed_addr constant [2 x i8] c"d\00" @.str8261 = private unnamed_addr constant [4 x i8] c"key\00" @.str8262 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str8263 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str8264 = private unnamed_addr constant [2 x i8] c"d\00" @.str8265 = private unnamed_addr constant [4 x i8] c"key\00" @.str8266 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str8267 = private unnamed_addr constant [4 x i8] c"has\00" @.str8268 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str8269 = private unnamed_addr constant [2 x i8] c"d\00" @.str8270 = private unnamed_addr constant [4 x i8] c"key\00" @.str8271 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8272 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str8273 = private unnamed_addr constant [2 x i8] c"d\00" @.str8274 = private unnamed_addr constant [4 x i8] c"key\00" @.str8275 = private unnamed_addr constant [5 x i8] c"size\00" @.str8276 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str8277 = private unnamed_addr constant [2 x i8] c"d\00" @.str8278 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8279 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str8280 = private unnamed_addr constant [2 x i8] c"d\00" @.str8281 = private unnamed_addr constant [5 x i8] c"keys\00" @.str8282 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str8283 = private unnamed_addr constant [2 x i8] c"d\00" @.str8284 = private unnamed_addr constant [4 x i8] c"Set\00" @.str8285 = private unnamed_addr constant [4 x i8] c"new\00" @.str8286 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str8287 = private unnamed_addr constant [4 x i8] c"add\00" @.str8288 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str8289 = private unnamed_addr constant [2 x i8] c"s\00" @.str8290 = private unnamed_addr constant [4 x i8] c"key\00" @.str8291 = private unnamed_addr constant [4 x i8] c"has\00" @.str8292 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str8293 = private unnamed_addr constant [2 x i8] c"s\00" @.str8294 = private unnamed_addr constant [4 x i8] c"key\00" @.str8295 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8296 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str8297 = private unnamed_addr constant [2 x i8] c"s\00" @.str8298 = private unnamed_addr constant [4 x i8] c"key\00" @.str8299 = private unnamed_addr constant [5 x i8] c"size\00" @.str8300 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str8301 = private unnamed_addr constant [2 x i8] c"s\00" @.str8302 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8303 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str8304 = private unnamed_addr constant [2 x i8] c"s\00" @.str8305 = private unnamed_addr constant [8 x i8] c"members\00" @.str8306 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str8307 = private unnamed_addr constant [2 x i8] c"s\00" @.str8308 = private unnamed_addr constant [4 x i8] c"Job\00" @.str8309 = private unnamed_addr constant [6 x i8] c"defer\00" @.str8310 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str8311 = private unnamed_addr constant [4 x i8] c"run\00" @.str8312 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str8313 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8314 = private unnamed_addr constant [4 x i8] c"arg\00" @.str8315 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str8316 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str8317 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8318 = private unnamed_addr constant [6 x i8] c"value\00" @.str8319 = private unnamed_addr constant [5 x i8] c"fail\00" @.str8320 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str8321 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8322 = private unnamed_addr constant [6 x i8] c"error\00" @.str8323 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str8324 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str8325 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8326 = private unnamed_addr constant [5 x i8] c"pump\00" @.str8327 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str8328 = private unnamed_addr constant [7 x i8] c"budget\00" @.str8329 = private unnamed_addr constant [5 x i8] c"done\00" @.str8330 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str8331 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8332 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8333 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str8334 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8335 = private unnamed_addr constant [7 x i8] c"failed\00" @.str8336 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str8337 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8338 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str8339 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str8340 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8341 = private unnamed_addr constant [7 x i8] c"result\00" @.str8342 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str8343 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8344 = private unnamed_addr constant [6 x i8] c"error\00" @.str8345 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str8346 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8347 = private unnamed_addr constant [8 x i8] c"pending\00" @.str8348 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str8349 = private unnamed_addr constant [5 x i8] c"free\00" @.str8350 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str8351 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8352 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str8353 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str8354 = private unnamed_addr constant [6 x i8] c"count\00" @.str8355 = private unnamed_addr constant [5 x i8] c"work\00" @.str8356 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str8357 = private unnamed_addr constant [10 x i8] c"is_worker\00" @.str8358 = private unnamed_addr constant [14 x i8] c"job_is_worker\00" @.str8359 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str8360 = private unnamed_addr constant [4 x i8] c"all\00" @.str8361 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str8362 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8363 = private unnamed_addr constant [5 x i8] c"race\00" @.str8364 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str8365 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8366 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str8367 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str8368 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8369 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str8370 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str8371 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8372 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str8373 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8374 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str8375 = private unnamed_addr constant [5 x i8] c"lock\00" @.str8376 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str8377 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8378 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str8379 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str8380 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8381 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str8382 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str8383 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8384 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8385 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str8386 = private unnamed_addr constant [4 x i8] c"get\00" @.str8387 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str8388 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8389 = private unnamed_addr constant [4 x i8] c"set\00" @.str8390 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str8391 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8392 = private unnamed_addr constant [6 x i8] c"value\00" @.str8393 = private unnamed_addr constant [4 x i8] c"add\00" @.str8394 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str8395 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8396 = private unnamed_addr constant [6 x i8] c"delta\00" @.str8397 = private unnamed_addr constant [4 x i8] c"cas\00" @.str8398 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str8399 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8400 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8401 = private unnamed_addr constant [5 x i8] c"next\00" @.str8402 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8403 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str8404 = private unnamed_addr constant [5 x i8] c"send\00" @.str8405 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str8406 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8407 = private unnamed_addr constant [6 x i8] c"value\00" @.str8408 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8409 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str8410 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8411 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str8412 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str8413 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8414 = private unnamed_addr constant [4 x i8] c"len\00" @.str8415 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str8416 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8417 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str8418 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str8419 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str8420 = private unnamed_addr constant [5 x i8] c"from\00" @.str8421 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str8422 = private unnamed_addr constant [6 x i8] c"value\00" @.str8423 = private unnamed_addr constant [4 x i8] c"add\00" @.str8424 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str8425 = private unnamed_addr constant [2 x i8] c"a\00" @.str8426 = private unnamed_addr constant [2 x i8] c"b\00" @.str8427 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8428 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str8429 = private unnamed_addr constant [2 x i8] c"a\00" @.str8430 = private unnamed_addr constant [2 x i8] c"b\00" @.str8431 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8432 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str8433 = private unnamed_addr constant [2 x i8] c"a\00" @.str8434 = private unnamed_addr constant [2 x i8] c"b\00" @.str8435 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8436 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str8437 = private unnamed_addr constant [2 x i8] c"a\00" @.str8438 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8439 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str8440 = private unnamed_addr constant [2 x i8] c"a\00" @.str8441 = private unnamed_addr constant [2 x i8] c"b\00" @.str8442 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8443 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str8444 = private unnamed_addr constant [2 x i8] c"a\00" @.str8445 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str8446 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str8447 = private unnamed_addr constant [2 x i8] c"a\00" @.str8448 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8449 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str8450 = private unnamed_addr constant [2 x i8] c"a\00" @.str8451 = private unnamed_addr constant [4 x i8] c"str\00" @.str8452 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str8453 = private unnamed_addr constant [2 x i8] c"a\00" @.str8454 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str8455 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str8456 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str8457 = private unnamed_addr constant [2 x i8] c"d\00" @.str8458 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str8459 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str8460 = private unnamed_addr constant [2 x i8] c"a\00" @.str8461 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str8462 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str8463 = private unnamed_addr constant [2 x i8] c"a\00" @.str8464 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8465 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str8466 = private unnamed_addr constant [2 x i8] c"a\00" @.str8467 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8468 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str8469 = private unnamed_addr constant [2 x i8] c"a\00" @.str8470 = private unnamed_addr constant [4 x i8] c"add\00" @.str8471 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str8472 = private unnamed_addr constant [2 x i8] c"a\00" @.str8473 = private unnamed_addr constant [2 x i8] c"b\00" @.str8474 = private unnamed_addr constant [5 x i8] c"diff\00" @.str8475 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str8476 = private unnamed_addr constant [2 x i8] c"a\00" @.str8477 = private unnamed_addr constant [2 x i8] c"b\00" @.str8478 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str8479 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str8480 = private unnamed_addr constant [2 x i8] c"a\00" @.str8481 = private unnamed_addr constant [2 x i8] c"b\00" @.str8482 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8483 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str8484 = private unnamed_addr constant [2 x i8] c"a\00" @.str8485 = private unnamed_addr constant [2 x i8] c"b\00" @.str8486 = private unnamed_addr constant [2 x i8] c"t\00" @.str8487 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str8488 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8489 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str8490 = private unnamed_addr constant [2 x i8] c"v\00" @.str8491 = private unnamed_addr constant [3 x i8] c"of\00" @.str8492 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str8493 = private unnamed_addr constant [4 x i8] c"num\00" @.str8494 = private unnamed_addr constant [4 x i8] c"den\00" @.str8495 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8496 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str8497 = private unnamed_addr constant [2 x i8] c"a\00" @.str8498 = private unnamed_addr constant [2 x i8] c"b\00" @.str8499 = private unnamed_addr constant [2 x i8] c"t\00" @.str8500 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8501 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str8502 = private unnamed_addr constant [6 x i8] c"value\00" @.str8503 = private unnamed_addr constant [2 x i8] c"p\00" @.str8504 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str8505 = private unnamed_addr constant [5 x i8] c"line\00" @.str8506 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str8507 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8508 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8509 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8510 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8511 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str8512 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" @.str8513 = private unnamed_addr constant [2 x i8] c"x\00" @.str8514 = private unnamed_addr constant [2 x i8] c"y\00" @.str8515 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8516 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str8517 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str8518 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8519 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8520 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8521 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8522 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8523 = private unnamed_addr constant [6 x i8] c"flood\00" @.str8524 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str8525 = private unnamed_addr constant [2 x i8] c"x\00" @.str8526 = private unnamed_addr constant [2 x i8] c"y\00" @.str8527 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8528 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str8529 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str8530 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8531 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8532 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8533 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8534 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8535 = private unnamed_addr constant [6 x i8] c"Light\00" @.str8536 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str8537 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str8538 = private unnamed_addr constant [6 x i8] c"color\00" @.str8539 = private unnamed_addr constant [6 x i8] c"point\00" @.str8540 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str8541 = private unnamed_addr constant [2 x i8] c"x\00" @.str8542 = private unnamed_addr constant [2 x i8] c"y\00" @.str8543 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8544 = private unnamed_addr constant [6 x i8] c"color\00" @.str8545 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8546 = private unnamed_addr constant [5 x i8] c"spot\00" @.str8547 = private unnamed_addr constant [11 x i8] c"light_spot\00" @.str8548 = private unnamed_addr constant [2 x i8] c"x\00" @.str8549 = private unnamed_addr constant [2 x i8] c"y\00" @.str8550 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8551 = private unnamed_addr constant [6 x i8] c"color\00" @.str8552 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8553 = private unnamed_addr constant [10 x i8] c"direction\00" @.str8554 = private unnamed_addr constant [7 x i8] c"spread\00" @.str8555 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str8556 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str8557 = private unnamed_addr constant [2 x i8] c"x\00" @.str8558 = private unnamed_addr constant [2 x i8] c"y\00" @.str8559 = private unnamed_addr constant [6 x i8] c"width\00" @.str8560 = private unnamed_addr constant [7 x i8] c"height\00" @.str8561 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str8562 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str8563 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str8564 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str8565 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str8566 = private unnamed_addr constant [5 x i8] c"soft\00" @.str8567 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str8568 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8569 = private unnamed_addr constant [4 x i8] c"gel\00" @.str8570 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str8571 = private unnamed_addr constant [6 x i8] c"color\00" @.str8572 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str8573 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str8574 = private unnamed_addr constant [7 x i8] c"height\00" @.str8575 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str8576 = private unnamed_addr constant [7 x i8] c"height\00" @.str8577 = private unnamed_addr constant [7 x i8] c"normal\00" @.str8578 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str8579 = private unnamed_addr constant [2 x i8] c"x\00" @.str8580 = private unnamed_addr constant [2 x i8] c"y\00" @.str8581 = private unnamed_addr constant [6 x i8] c"width\00" @.str8582 = private unnamed_addr constant [7 x i8] c"height\00" @.str8583 = private unnamed_addr constant [3 x i8] c"nx\00" @.str8584 = private unnamed_addr constant [3 x i8] c"ny\00" @.str8585 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str8586 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str8587 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str8588 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str8589 = private unnamed_addr constant [2 x i8] c"t\00" @.str8590 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str8591 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8592 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str8593 = private unnamed_addr constant [5 x i8] c"name\00" @.str8594 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8595 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8596 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8597 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str8598 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str8599 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8600 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8601 = private unnamed_addr constant [6 x i8] c"fired\00" @.str8602 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str8603 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8604 = private unnamed_addr constant [5 x i8] c"play\00" @.str8605 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str8606 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8607 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8608 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str8609 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8610 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8611 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8612 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8613 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str8614 = private unnamed_addr constant [3 x i8] c"to\00" @.str8615 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str8616 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8617 = private unnamed_addr constant [5 x i8] c"from\00" @.str8618 = private unnamed_addr constant [3 x i8] c"to\00" @.str8619 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8620 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8621 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str8622 = private unnamed_addr constant [3 x i8] c"to\00" @.str8623 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str8624 = private unnamed_addr constant [5 x i8] c"from\00" @.str8625 = private unnamed_addr constant [3 x i8] c"to\00" @.str8626 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8627 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8628 = private unnamed_addr constant [6 x i8] c"chain\00" @.str8629 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str8630 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8631 = private unnamed_addr constant [3 x i8] c"to\00" @.str8632 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8633 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8634 = private unnamed_addr constant [6 x i8] c"delay\00" @.str8635 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str8636 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8637 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str8638 = private unnamed_addr constant [6 x i8] c"value\00" @.str8639 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str8640 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8641 = private unnamed_addr constant [5 x i8] c"stop\00" @.str8642 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str8643 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8644 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str8645 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str8646 = private unnamed_addr constant [2 x i8] c"a\00" @.str8647 = private unnamed_addr constant [2 x i8] c"b\00" @.str8648 = private unnamed_addr constant [6 x i8] c"Query\00" @.str8649 = private unnamed_addr constant [6 x i8] c"count\00" @.str8650 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str8651 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8652 = private unnamed_addr constant [6 x i8] c"first\00" @.str8653 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str8654 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8655 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str8656 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str8657 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8658 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8659 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8660 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8661 = private unnamed_addr constant [2 x i8] c"x\00" @.str8662 = private unnamed_addr constant [2 x i8] c"y\00" @.str8663 = private unnamed_addr constant [7 x i8] c"within\00" @.str8664 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str8665 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8666 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8667 = private unnamed_addr constant [2 x i8] c"x\00" @.str8668 = private unnamed_addr constant [2 x i8] c"y\00" @.str8669 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8670 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8671 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8672 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str8673 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8674 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8675 = private unnamed_addr constant [5 x i8] c"name\00" @.str8676 = private unnamed_addr constant [6 x i8] c"field\00" @.str8677 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8678 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8679 = private unnamed_addr constant [5 x i8] c"name\00" @.str8680 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str8681 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8682 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str8683 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8684 = private unnamed_addr constant [6 x i8] c"index\00" @.str8685 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str8686 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8687 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8688 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str8689 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8690 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8691 = private unnamed_addr constant [6 x i8] c"index\00" @.str8692 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str8693 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8694 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8695 = private unnamed_addr constant [6 x i8] c"index\00" @.str8696 = private unnamed_addr constant [4 x i8] c"get\00" @.str8697 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8698 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8699 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8700 = private unnamed_addr constant [6 x i8] c"field\00" @.str8701 = private unnamed_addr constant [4 x i8] c"set\00" @.str8702 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8703 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8704 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8705 = private unnamed_addr constant [6 x i8] c"field\00" @.str8706 = private unnamed_addr constant [6 x i8] c"value\00" @.str8707 = private unnamed_addr constant [4 x i8] c"has\00" @.str8708 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8709 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8710 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8711 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8712 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8713 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8714 = private unnamed_addr constant [6 x i8] c"model\00" @.str8715 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8716 = private unnamed_addr constant [5 x i8] c"name\00" @.str8717 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8718 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str8719 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8720 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8721 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str8722 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8723 = private unnamed_addr constant [6 x i8] c"value\00" @.str8724 = private unnamed_addr constant [6 x i8] c"Value\00" @.str8725 = private unnamed_addr constant [5 x i8] c"null\00" @.str8726 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str8727 = private unnamed_addr constant [4 x i8] c"int\00" @.str8728 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str8729 = private unnamed_addr constant [2 x i8] c"n\00" @.str8730 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8731 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str8732 = private unnamed_addr constant [2 x i8] c"f\00" @.str8733 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8734 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str8735 = private unnamed_addr constant [2 x i8] c"b\00" @.str8736 = private unnamed_addr constant [4 x i8] c"str\00" @.str8737 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str8738 = private unnamed_addr constant [2 x i8] c"s\00" @.str8739 = private unnamed_addr constant [5 x i8] c"list\00" @.str8740 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str8741 = private unnamed_addr constant [7 x i8] c"object\00" @.str8742 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str8743 = private unnamed_addr constant [4 x i8] c"add\00" @.str8744 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str8745 = private unnamed_addr constant [5 x i8] c"list\00" @.str8746 = private unnamed_addr constant [5 x i8] c"item\00" @.str8747 = private unnamed_addr constant [4 x i8] c"put\00" @.str8748 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str8749 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8750 = private unnamed_addr constant [4 x i8] c"key\00" @.str8751 = private unnamed_addr constant [5 x i8] c"item\00" @.str8752 = private unnamed_addr constant [4 x i8] c"get\00" @.str8753 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str8754 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8755 = private unnamed_addr constant [4 x i8] c"key\00" @.str8756 = private unnamed_addr constant [4 x i8] c"has\00" @.str8757 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str8758 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8759 = private unnamed_addr constant [4 x i8] c"key\00" @.str8760 = private unnamed_addr constant [3 x i8] c"at\00" @.str8761 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str8762 = private unnamed_addr constant [5 x i8] c"list\00" @.str8763 = private unnamed_addr constant [6 x i8] c"index\00" @.str8764 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str8765 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str8766 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8767 = private unnamed_addr constant [6 x i8] c"index\00" @.str8768 = private unnamed_addr constant [6 x i8] c"count\00" @.str8769 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str8770 = private unnamed_addr constant [6 x i8] c"value\00" @.str8771 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8772 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str8773 = private unnamed_addr constant [6 x i8] c"value\00" @.str8774 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8775 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str8776 = private unnamed_addr constant [6 x i8] c"value\00" @.str8777 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str8778 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str8779 = private unnamed_addr constant [6 x i8] c"value\00" @.str8780 = private unnamed_addr constant [5 x i8] c"Json\00" @.str8781 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8782 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str8783 = private unnamed_addr constant [6 x i8] c"value\00" @.str8784 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8785 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str8786 = private unnamed_addr constant [5 x i8] c"text\00" @.str8787 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str8788 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8789 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str8790 = private unnamed_addr constant [5 x i8] c"text\00" @.str8791 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8792 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str8793 = private unnamed_addr constant [5 x i8] c"node\00" @.str8794 = private unnamed_addr constant [5 x i8] c"text\00" @.str8795 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str8796 = private unnamed_addr constant [5 x i8] c"node\00" @.str8797 = private unnamed_addr constant [5 x i8] c"attr\00" @.str8798 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str8799 = private unnamed_addr constant [5 x i8] c"node\00" @.str8800 = private unnamed_addr constant [4 x i8] c"key\00" @.str8801 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str8802 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str8803 = private unnamed_addr constant [5 x i8] c"node\00" @.str8804 = private unnamed_addr constant [4 x i8] c"key\00" @.str8805 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str8806 = private unnamed_addr constant [4 x i8] c"has\00" @.str8807 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str8808 = private unnamed_addr constant [5 x i8] c"node\00" @.str8809 = private unnamed_addr constant [4 x i8] c"key\00" @.str8810 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str8811 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str8812 = private unnamed_addr constant [5 x i8] c"node\00" @.str8813 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str8814 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str8815 = private unnamed_addr constant [5 x i8] c"node\00" @.str8816 = private unnamed_addr constant [6 x i8] c"child\00" @.str8817 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str8818 = private unnamed_addr constant [5 x i8] c"node\00" @.str8819 = private unnamed_addr constant [6 x i8] c"index\00" @.str8820 = private unnamed_addr constant [5 x i8] c"find\00" @.str8821 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str8822 = private unnamed_addr constant [5 x i8] c"node\00" @.str8823 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8824 = private unnamed_addr constant [6 x i8] c"count\00" @.str8825 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str8826 = private unnamed_addr constant [5 x i8] c"node\00" @.str8827 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8828 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str8829 = private unnamed_addr constant [7 x i8] c"decode\00" @.str8830 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str8831 = private unnamed_addr constant [4 x i8] c"src\00" @.str8832 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8833 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str8834 = private unnamed_addr constant [4 x i8] c"src\00" @.str8835 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str8836 = private unnamed_addr constant [5 x i8] c"read\00" @.str8837 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str8838 = private unnamed_addr constant [5 x i8] c"path\00" @.str8839 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str8840 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str8841 = private unnamed_addr constant [5 x i8] c"path\00" @.str8842 = private unnamed_addr constant [5 x i8] c"load\00" @.str8843 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str8844 = private unnamed_addr constant [5 x i8] c"path\00" @.str8845 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8846 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str8847 = private unnamed_addr constant [4 x i8] c"map\00" @.str8848 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8849 = private unnamed_addr constant [2 x i8] c"x\00" @.str8850 = private unnamed_addr constant [2 x i8] c"y\00" @.str8851 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8852 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str8853 = private unnamed_addr constant [4 x i8] c"map\00" @.str8854 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8855 = private unnamed_addr constant [6 x i8] c"width\00" @.str8856 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str8857 = private unnamed_addr constant [4 x i8] c"map\00" @.str8858 = private unnamed_addr constant [7 x i8] c"height\00" @.str8859 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str8860 = private unnamed_addr constant [4 x i8] c"map\00" @.str8861 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str8862 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str8863 = private unnamed_addr constant [4 x i8] c"map\00" @.str8864 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str8865 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str8866 = private unnamed_addr constant [4 x i8] c"map\00" @.str8867 = private unnamed_addr constant [6 x i8] c"index\00" @.str8868 = private unnamed_addr constant [5 x i8] c"draw\00" @.str8869 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str8870 = private unnamed_addr constant [4 x i8] c"map\00" @.str8871 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8872 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8873 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str8874 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str8875 = private unnamed_addr constant [4 x i8] c"map\00" @.str8876 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8877 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8878 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8879 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str8880 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str8881 = private unnamed_addr constant [4 x i8] c"map\00" @.str8882 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8883 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8884 = private unnamed_addr constant [9 x i8] c"animated\00" @.str8885 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str8886 = private unnamed_addr constant [4 x i8] c"map\00" @.str8887 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8888 = private unnamed_addr constant [8 x i8] c"project\00" @.str8889 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str8890 = private unnamed_addr constant [4 x i8] c"map\00" @.str8891 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8892 = private unnamed_addr constant [8 x i8] c"collide\00" @.str8893 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str8894 = private unnamed_addr constant [4 x i8] c"map\00" @.str8895 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8896 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str8897 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str8898 = private unnamed_addr constant [4 x i8] c"map\00" @.str8899 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8900 = private unnamed_addr constant [5 x i8] c"tree\00" @.str8901 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str8902 = private unnamed_addr constant [4 x i8] c"map\00" @.str8903 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str8904 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str8905 = private unnamed_addr constant [4 x i8] c"map\00" @.str8906 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8907 = private unnamed_addr constant [5 x i8] c"name\00" @.str8908 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str8909 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str8910 = private unnamed_addr constant [4 x i8] c"map\00" @.str8911 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8912 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str8913 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" @.str8914 = private unnamed_addr constant [4 x i8] c"map\00" @.str8915 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8916 = private unnamed_addr constant [7 x i8] c"object\00" @.str8917 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str8918 = private unnamed_addr constant [4 x i8] c"map\00" @.str8919 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8920 = private unnamed_addr constant [6 x i8] c"index\00" @.str8921 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str8922 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str8923 = private unnamed_addr constant [7 x i8] c"object\00" @.str8924 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8925 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str8926 = private unnamed_addr constant [10 x i8] c"container\00" @.str8927 = private unnamed_addr constant [5 x i8] c"name\00" @.str8928 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str8929 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str8930 = private unnamed_addr constant [10 x i8] c"container\00" @.str8931 = private unnamed_addr constant [5 x i8] c"name\00" @.str8932 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str8933 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str8934 = private unnamed_addr constant [10 x i8] c"container\00" @.str8935 = private unnamed_addr constant [5 x i8] c"name\00" @.str8936 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str8937 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str8938 = private unnamed_addr constant [5 x i8] c"path\00" @.str8939 = private unnamed_addr constant [9 x i8] c"template\00" @.str8940 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str8941 = private unnamed_addr constant [5 x i8] c"path\00" @.str8942 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8943 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str8944 = private unnamed_addr constant [4 x i8] c"map\00" @.str8945 = private unnamed_addr constant [7 x i8] c"object\00" @.str8946 = private unnamed_addr constant [6 x i8] c"model\00" @.str8947 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str8948 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str8949 = private unnamed_addr constant [4 x i8] c"map\00" @.str8950 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8951 = private unnamed_addr constant [6 x i8] c"model\00" @.str8952 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str8953 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str8954 = private unnamed_addr constant [4 x i8] c"map\00" @.str8955 = private unnamed_addr constant [2 x i8] c"x\00" @.str8956 = private unnamed_addr constant [2 x i8] c"y\00" @.str8957 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str8958 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str8959 = private unnamed_addr constant [4 x i8] c"map\00" @.str8960 = private unnamed_addr constant [2 x i8] c"x\00" @.str8961 = private unnamed_addr constant [2 x i8] c"y\00" @.str8962 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str8963 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str8964 = private unnamed_addr constant [4 x i8] c"map\00" @.str8965 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8966 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str8967 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str8968 = private unnamed_addr constant [4 x i8] c"map\00" @.str8969 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8970 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str8971 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str8972 = private unnamed_addr constant [4 x i8] c"map\00" @.str8973 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8974 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str8975 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str8976 = private unnamed_addr constant [4 x i8] c"map\00" @.str8977 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8978 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str8979 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str8980 = private unnamed_addr constant [4 x i8] c"map\00" @.str8981 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8982 = private unnamed_addr constant [6 x i8] c"world\00" @.str8983 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str8984 = private unnamed_addr constant [5 x i8] c"path\00" @.str8985 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8986 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str8987 = private unnamed_addr constant [6 x i8] c"world\00" @.str8988 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str8989 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str8990 = private unnamed_addr constant [6 x i8] c"world\00" @.str8991 = private unnamed_addr constant [6 x i8] c"index\00" @.str8992 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str8993 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str8994 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str8995 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str8996 = private unnamed_addr constant [2 x i8] c"_\00" @.str8997 = private unnamed_addr constant [2 x i8] c".\00" @.str8998 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str8999 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str9000 = private unnamed_addr constant [2 x i8] c".\00" @.str9001 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str9002 = private unnamed_addr constant [8 x i8] c" takes \00" @.str9003 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str9004 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9005 = private unnamed_addr constant [2 x i8] c")\00" @.str9006 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9007 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9008 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9009 = private unnamed_addr constant [3 x i8] c" \00" @.str9010 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9011 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9012 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9013 = private unnamed_addr constant [9 x i8] c" store \00" @.str9014 = private unnamed_addr constant [2 x i8] c" \00" @.str9015 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9017 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str9018 = private unnamed_addr constant [5 x i8] c"self\00" @.str9019 = private unnamed_addr constant [2 x i8] c"0\00" @.str9020 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9021 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9022 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9023 = private unnamed_addr constant [4 x i8] c"key\00" @.str9024 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str9025 = private unnamed_addr constant [4 x i8] c"int\00" @.str9026 = private unnamed_addr constant [5 x i8] c"save\00" @.str9027 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str9028 = private unnamed_addr constant [2 x i8] c"0\00" @.str9029 = private unnamed_addr constant [5 x i8] c"void\00" @.str9030 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str9031 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str9032 = private unnamed_addr constant [2 x i8] c"0\00" @.str9033 = private unnamed_addr constant [5 x i8] c"void\00" @.str9034 = private unnamed_addr constant [5 x i8] c"load\00" @.str9035 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str9036 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9037 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str9038 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str9039 = private unnamed_addr constant [4 x i8] c"int\00" @.str9040 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str9041 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str9042 = private unnamed_addr constant [2 x i8] c")\00" @.str9043 = private unnamed_addr constant [4 x i8] c"int\00" @.str9044 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str9045 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str9046 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9047 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9048 = private unnamed_addr constant [2 x i8] c"0\00" @.str9049 = private unnamed_addr constant [5 x i8] c"void\00" @.str9050 = private unnamed_addr constant [5 x i8] c"quit\00" @.str9051 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str9052 = private unnamed_addr constant [2 x i8] c"0\00" @.str9053 = private unnamed_addr constant [5 x i8] c"void\00" @.str9054 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str9055 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str9056 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9057 = private unnamed_addr constant [2 x i8] c")\00" @.str9058 = private unnamed_addr constant [4 x i8] c"int\00" @.str9059 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9060 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str9061 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9062 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9063 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9064 = private unnamed_addr constant [2 x i8] c"0\00" @.str9065 = private unnamed_addr constant [5 x i8] c"void\00" @.str9066 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str9067 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str9068 = private unnamed_addr constant [2 x i8] c")\00" @.str9069 = private unnamed_addr constant [4 x i8] c"int\00" @.str9070 = private unnamed_addr constant [6 x i8] c"owner\00" @.str9071 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str9072 = private unnamed_addr constant [2 x i8] c")\00" @.str9073 = private unnamed_addr constant [4 x i8] c"int\00" @.str9074 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str9075 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str9076 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9077 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9078 = private unnamed_addr constant [2 x i8] c"0\00" @.str9079 = private unnamed_addr constant [5 x i8] c"void\00" @.str9080 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str9081 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str9082 = private unnamed_addr constant [2 x i8] c")\00" @.str9083 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9084 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str9085 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9086 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9087 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9088 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9089 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9090 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9091 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str9092 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str9093 = private unnamed_addr constant [4 x i8] c"int\00" @.str9094 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str9095 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str9096 = private unnamed_addr constant [2 x i8] c"0\00" @.str9097 = private unnamed_addr constant [5 x i8] c"void\00" @.str9098 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str9099 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str9100 = private unnamed_addr constant [2 x i8] c"0\00" @.str9101 = private unnamed_addr constant [5 x i8] c"void\00" @.str9102 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str9103 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str9104 = private unnamed_addr constant [2 x i8] c"0\00" @.str9105 = private unnamed_addr constant [5 x i8] c"void\00" @.str9106 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str9107 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9108 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str9109 = private unnamed_addr constant [2 x i8] c"0\00" @.str9110 = private unnamed_addr constant [5 x i8] c"void\00" @.str9111 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str9112 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9113 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str9114 = private unnamed_addr constant [2 x i8] c"0\00" @.str9115 = private unnamed_addr constant [5 x i8] c"void\00" @.str9116 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9117 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9118 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str9119 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9120 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9121 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9122 = private unnamed_addr constant [2 x i8] c"0\00" @.str9123 = private unnamed_addr constant [5 x i8] c"void\00" @.str9124 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9125 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9126 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str9127 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9128 = private unnamed_addr constant [2 x i8] c")\00" @.str9129 = private unnamed_addr constant [4 x i8] c"int\00" @.str9130 = private unnamed_addr constant [4 x i8] c"len\00" @.str9131 = private unnamed_addr constant [5 x i8] c"push\00" @.str9132 = private unnamed_addr constant [7 x i8] c"string\00" @.str9133 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9134 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9135 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str9136 = private unnamed_addr constant [2 x i8] c")\00" @.str9137 = private unnamed_addr constant [7 x i8] c"string\00" @.str9138 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str9139 = private unnamed_addr constant [2 x i8] c")\00" @.str9140 = private unnamed_addr constant [7 x i8] c"string\00" @.str9141 = private unnamed_addr constant [6 x i8] c"print\00" @.str9142 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9143 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str9144 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9145 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9146 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str9147 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9148 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str9149 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9150 = private unnamed_addr constant [2 x i8] c"0\00" @.str9151 = private unnamed_addr constant [5 x i8] c"void\00" @.str9152 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str9153 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9154 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9155 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9156 = private unnamed_addr constant [2 x i8] c")\00" @.str9157 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9158 = private unnamed_addr constant [6 x i8] c"words\00" @.str9159 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9160 = private unnamed_addr constant [4 x i8] c", 4\00" @.str9161 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9162 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9163 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9164 = private unnamed_addr constant [2 x i8] c")\00" @.str9165 = private unnamed_addr constant [6 x i8] c"words\00" @.str9166 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9167 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9168 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9169 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9170 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9171 = private unnamed_addr constant [6 x i8] c"float\00" @.str9172 = private unnamed_addr constant [7 x i8] c"double\00" @.str9173 = private unnamed_addr constant [4 x i8] c"int\00" @.str9174 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9175 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9176 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9177 = private unnamed_addr constant [4 x i8] c"int\00" @.str9178 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9179 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9180 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9181 = private unnamed_addr constant [4 x i8] c"int\00" @.str9182 = private unnamed_addr constant [4 x i8] c"int\00" @.str9183 = private unnamed_addr constant [5 x i8] c"long\00" @.str9184 = private unnamed_addr constant [5 x i8] c"long\00" @.str9185 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str9186 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str9187 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str9188 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str9189 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9190 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9191 = private unnamed_addr constant [6 x i8] c"float\00" @.str9192 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9193 = private unnamed_addr constant [7 x i8] c"double\00" @.str9194 = private unnamed_addr constant [6 x i8] c"floor\00" @.str9195 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9196 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9197 = private unnamed_addr constant [4 x i8] c"int\00" @.str9198 = private unnamed_addr constant [7 x i8] c"expect\00" @.str9199 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9200 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9201 = private unnamed_addr constant [2 x i8] c":\00" @.str9202 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str9203 = private unnamed_addr constant [1 x i8] c"\00" @.str9204 = private unnamed_addr constant [1 x i8] c"\00" @.str9205 = private unnamed_addr constant [2 x i8] c"0\00" @.str9206 = private unnamed_addr constant [5 x i8] c"void\00" @.str9207 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str9208 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9209 = private unnamed_addr constant [3 x i8] c", \00" @.str9210 = private unnamed_addr constant [2 x i8] c":\00" @.str9211 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str9212 = private unnamed_addr constant [2 x i8] c"0\00" @.str9213 = private unnamed_addr constant [5 x i8] c"void\00" @.str9214 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str9215 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9216 = private unnamed_addr constant [3 x i8] c", \00" @.str9217 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9218 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9219 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9220 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9221 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9222 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9223 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9224 = private unnamed_addr constant [3 x i8] c", \00" @.str9225 = private unnamed_addr constant [2 x i8] c":\00" @.str9226 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str9227 = private unnamed_addr constant [2 x i8] c"0\00" @.str9228 = private unnamed_addr constant [5 x i8] c"void\00" @.str9229 = private unnamed_addr constant [6 x i8] c"panic\00" @.str9230 = private unnamed_addr constant [2 x i8] c":\00" @.str9231 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9232 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9233 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9234 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9235 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9236 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9237 = private unnamed_addr constant [2 x i8] c"0\00" @.str9238 = private unnamed_addr constant [5 x i8] c"void\00" @.str9239 = private unnamed_addr constant [7 x i8] c"assert\00" @.str9240 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9241 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9242 = private unnamed_addr constant [5 x i8] c"asok\00" @.str9243 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str9244 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9245 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9246 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9247 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9248 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9249 = private unnamed_addr constant [2 x i8] c":\00" @.str9250 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str9251 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9252 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9253 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9254 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9255 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9256 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9257 = private unnamed_addr constant [2 x i8] c"0\00" @.str9258 = private unnamed_addr constant [5 x i8] c"void\00" @.str9259 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9260 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9261 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9262 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9263 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9264 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9265 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9266 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9267 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9268 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9269 = private unnamed_addr constant [4 x i8] c"int\00" @.str9270 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9272 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9273 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9274 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str9275 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9276 = private unnamed_addr constant [7 x i8] c"result\00" @.str9277 = private unnamed_addr constant [4 x i8] c"err\00" @.str9278 = private unnamed_addr constant [4 x i8] c"err\00" @.str9279 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9280 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9281 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9282 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9283 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9284 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9285 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9286 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9287 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9288 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9289 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9290 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9291 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9292 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9293 = private unnamed_addr constant [7 x i8] c"result\00" @.str9294 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9295 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9296 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9297 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9298 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9299 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9300 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9301 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9302 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9303 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9304 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9305 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9306 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9307 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9308 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9309 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9310 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9311 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9312 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9313 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9314 = private unnamed_addr constant [5 x i8] c"some\00" @.str9315 = private unnamed_addr constant [5 x i8] c"some\00" @.str9316 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str9317 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9318 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9319 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9321 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9322 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9323 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9324 = private unnamed_addr constant [4 x i8] c"int\00" @.str9325 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9326 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9327 = private unnamed_addr constant [7 x i8] c"option\00" @.str9328 = private unnamed_addr constant [5 x i8] c"none\00" @.str9329 = private unnamed_addr constant [5 x i8] c"none\00" @.str9330 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str9331 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9332 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9333 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9334 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9335 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9336 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9337 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9338 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9339 = private unnamed_addr constant [7 x i8] c"option\00" @.str9340 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9341 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9342 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9343 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9344 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9345 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9346 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9347 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9348 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9349 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9350 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9351 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9352 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9353 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9354 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9355 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9356 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9357 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9358 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9359 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9360 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9361 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9362 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9363 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9364 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9365 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9366 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9367 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9368 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9369 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9370 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9371 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9372 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9373 = private unnamed_addr constant [4 x i8] c"int\00" @.str9374 = private unnamed_addr constant [4 x i8] c"int\00" @.str9375 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str9376 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str9377 = private unnamed_addr constant [2 x i8] c")\00" @.str9378 = private unnamed_addr constant [4 x i8] c"int\00" @.str9379 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str9380 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str9381 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9382 = private unnamed_addr constant [2 x i8] c")\00" @.str9383 = private unnamed_addr constant [4 x i8] c"int\00" @.str9384 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str9385 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str9386 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9387 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9388 = private unnamed_addr constant [2 x i8] c")\00" @.str9389 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9390 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9391 = private unnamed_addr constant [4 x i8] c"int\00" @.str9392 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str9393 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str9394 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9395 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str9396 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9397 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9398 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9399 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9400 = private unnamed_addr constant [2 x i8] c"0\00" @.str9401 = private unnamed_addr constant [5 x i8] c"void\00" @.str9402 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str9403 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str9404 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9405 = private unnamed_addr constant [2 x i8] c")\00" @.str9406 = private unnamed_addr constant [4 x i8] c"int\00" @.str9407 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str9408 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str9409 = private unnamed_addr constant [4 x i8] c"int\00" @.str9410 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str9411 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str9412 = private unnamed_addr constant [2 x i8] c")\00" @.str9413 = private unnamed_addr constant [4 x i8] c"int\00" @.str9414 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str9415 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str9416 = private unnamed_addr constant [2 x i8] c")\00" @.str9417 = private unnamed_addr constant [4 x i8] c"int\00" @.str9418 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str9419 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str9420 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9421 = private unnamed_addr constant [2 x i8] c")\00" @.str9422 = private unnamed_addr constant [4 x i8] c"int\00" @.str9423 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str9424 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str9425 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9426 = private unnamed_addr constant [2 x i8] c")\00" @.str9427 = private unnamed_addr constant [4 x i8] c"int\00" @.str9428 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str9429 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str9430 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9431 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9432 = private unnamed_addr constant [2 x i8] c"0\00" @.str9433 = private unnamed_addr constant [5 x i8] c"void\00" @.str9434 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str9435 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str9436 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9437 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9438 = private unnamed_addr constant [2 x i8] c"0\00" @.str9439 = private unnamed_addr constant [5 x i8] c"void\00" @.str9440 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str9441 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str9442 = private unnamed_addr constant [2 x i8] c")\00" @.str9443 = private unnamed_addr constant [4 x i8] c"int\00" @.str9444 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str9445 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str9446 = private unnamed_addr constant [4 x i8] c"int\00" @.str9447 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str9448 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str9449 = private unnamed_addr constant [2 x i8] c")\00" @.str9450 = private unnamed_addr constant [7 x i8] c"string\00" @.str9451 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str9452 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str9453 = private unnamed_addr constant [2 x i8] c")\00" @.str9454 = private unnamed_addr constant [4 x i8] c"int\00" @.str9455 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str9456 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str9457 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9458 = private unnamed_addr constant [2 x i8] c")\00" @.str9459 = private unnamed_addr constant [7 x i8] c"string\00" @.str9460 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str9461 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str9462 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9463 = private unnamed_addr constant [2 x i8] c")\00" @.str9464 = private unnamed_addr constant [7 x i8] c"string\00" @.str9465 = private unnamed_addr constant [3 x i8] c" \00" @.str9466 = private unnamed_addr constant [2 x i8] c"0\00" @.str9467 = private unnamed_addr constant [5 x i8] c"void\00" @.str9468 = private unnamed_addr constant [4 x i8] c" = \00" @.str9469 = private unnamed_addr constant [6 x i8] c"call \00" @.str9470 = private unnamed_addr constant [3 x i8] c" @\00" @.str9471 = private unnamed_addr constant [2 x i8] c"(\00" @.str9472 = private unnamed_addr constant [3 x i8] c", \00" @.str9473 = private unnamed_addr constant [2 x i8] c" \00" @.str9474 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9475 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str9476 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str9477 = private unnamed_addr constant [3 x i8] c" \00" @.str9478 = private unnamed_addr constant [2 x i8] c"0\00" @.str9479 = private unnamed_addr constant [5 x i8] c"void\00" @.str9480 = private unnamed_addr constant [4 x i8] c" = \00" @.str9481 = private unnamed_addr constant [6 x i8] c"call \00" @.str9482 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str9483 = private unnamed_addr constant [2 x i8] c"(\00" @.str9484 = private unnamed_addr constant [3 x i8] c", \00" @.str9485 = private unnamed_addr constant [2 x i8] c" \00" @.str9486 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9487 = private unnamed_addr constant [2 x i8] c"0\00" @.str9488 = private unnamed_addr constant [4 x i8] c"int\00" @.str9489 = private unnamed_addr constant [4 x i8] c"int\00" @.str9490 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9491 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9492 = private unnamed_addr constant [5 x i8] c"null\00" @.str9493 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9494 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9495 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str9496 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9497 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9498 = private unnamed_addr constant [2 x i8] c")\00" @.str9499 = private unnamed_addr constant [7 x i8] c"string\00" @.str9500 = private unnamed_addr constant [7 x i8] c"string\00" @.str9501 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9502 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str9503 = private unnamed_addr constant [5 x i8] c"void\00" @.str9504 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9505 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9506 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9507 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str9508 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str9509 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9510 = private unnamed_addr constant [7 x i8] c"const \00" @.str9511 = private unnamed_addr constant [6 x i8] c"load \00" @.str9512 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str9513 = private unnamed_addr constant [4 x i8] c"int\00" @.str9514 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str9515 = private unnamed_addr constant [6 x i8] c"Color\00" @.str9516 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str9517 = private unnamed_addr constant [4 x i8] c"int\00" @.str9518 = private unnamed_addr constant [4 x i8] c"Key\00" @.str9519 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str9520 = private unnamed_addr constant [4 x i8] c"int\00" @.str9521 = private unnamed_addr constant [4 x i8] c"int\00" @.str9522 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9523 = private unnamed_addr constant [2 x i8] c"x\00" @.str9524 = private unnamed_addr constant [2 x i8] c"y\00" @.str9525 = private unnamed_addr constant [2 x i8] c"x\00" @.str9526 = private unnamed_addr constant [4 x i8] c"int\00" @.str9527 = private unnamed_addr constant [4 x i8] c"int\00" @.str9528 = private unnamed_addr constant [5 x i8] c"byte\00" @.str9529 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9530 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str9531 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9532 = private unnamed_addr constant [4 x i8] c"int\00" @.str9533 = private unnamed_addr constant [2 x i8] c"-\00" @.str9534 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str9535 = private unnamed_addr constant [2 x i8] c" \00" @.str9536 = private unnamed_addr constant [10 x i8] c"operator \00" @.str9537 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str9538 = private unnamed_addr constant [2 x i8] c"-\00" @.str9539 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9540 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9541 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9542 = private unnamed_addr constant [2 x i8] c"-\00" @.str9543 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str9544 = private unnamed_addr constant [5 x i8] c"long\00" @.str9545 = private unnamed_addr constant [2 x i8] c"~\00" @.str9546 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str9547 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9548 = private unnamed_addr constant [5 x i8] c"long\00" @.str9549 = private unnamed_addr constant [2 x i8] c"-\00" @.str9550 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9551 = private unnamed_addr constant [2 x i8] c"~\00" @.str9552 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str9553 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9554 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9555 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9556 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9557 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9558 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9559 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str9560 = private unnamed_addr constant [2 x i8] c"0\00" @.str9561 = private unnamed_addr constant [4 x i8] c"int\00" @.str9562 = private unnamed_addr constant [9 x i8] c" store \00" @.str9563 = private unnamed_addr constant [2 x i8] c" \00" @.str9564 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9565 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9566 = private unnamed_addr constant [2 x i8] c"0\00" @.str9567 = private unnamed_addr constant [4 x i8] c"int\00" @.str9568 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str9569 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str9570 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str9571 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str9572 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str9573 = private unnamed_addr constant [2 x i8] c"=\00" @.str9574 = private unnamed_addr constant [6 x i8] c"load \00" @.str9575 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9576 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9577 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str9578 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str9579 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9580 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9581 = private unnamed_addr constant [5 x i8] c"then\00" @.str9582 = private unnamed_addr constant [5 x i8] c"else\00" @.str9583 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str9584 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9585 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9586 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9587 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9588 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9589 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9590 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9592 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9593 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9594 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9595 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9596 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9597 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9598 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9599 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str9600 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str9601 = private unnamed_addr constant [5 x i8] c"wend\00" @.str9602 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9603 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9604 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9605 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9606 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9607 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9608 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9609 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9610 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9611 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9612 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9613 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9614 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9615 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9616 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9617 = private unnamed_addr constant [4 x i8] c"int\00" @.str9618 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str9619 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str9620 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str9621 = private unnamed_addr constant [5 x i8] c"fend\00" @.str9622 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9623 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9624 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9625 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9626 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9627 = private unnamed_addr constant [3 x i8] c", \00" @.str9628 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9629 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9630 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9631 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9632 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9633 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9634 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9635 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9636 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9637 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9638 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9639 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9640 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9642 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9643 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str9644 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9645 = private unnamed_addr constant [2 x i8] c"_\00" @.str9646 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9647 = private unnamed_addr constant [8 x i8] c" binds \00" @.str9648 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str9649 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9650 = private unnamed_addr constant [10 x i8] c" payload \00" @.str9651 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str9652 = private unnamed_addr constant [3 x i8] c" \00" @.str9653 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9654 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9655 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9656 = private unnamed_addr constant [6 x i8] c"load \00" @.str9657 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9658 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9659 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9660 = private unnamed_addr constant [2 x i8] c"0\00" @.str9661 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9662 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str9663 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9664 = private unnamed_addr constant [3 x i8] c", \00" @.str9665 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9666 = private unnamed_addr constant [3 x i8] c", \00" @.str9667 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9668 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9669 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9670 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9671 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9672 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9673 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9674 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9675 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9676 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9677 = private unnamed_addr constant [10 x i8] c"match on \00" @.str9678 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str9679 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str9680 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9681 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9682 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9683 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9684 = private unnamed_addr constant [2 x i8] c"0\00" @.str9685 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9686 = private unnamed_addr constant [3 x i8] c", \00" @.str9687 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9688 = private unnamed_addr constant [3 x i8] c", \00" @.str9689 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9690 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9691 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9692 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9693 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9694 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9695 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9696 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9697 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9698 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9699 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9700 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9701 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9702 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str9703 = private unnamed_addr constant [2 x i8] c"0\00" @.str9704 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9705 = private unnamed_addr constant [5 x i8] c"null\00" @.str9706 = private unnamed_addr constant [3 x i8] c" \00" @.str9707 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str9708 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9709 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9710 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9711 = private unnamed_addr constant [3 x i8] c" \00" @.str9712 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str9713 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9714 = private unnamed_addr constant [9 x i8] c" store \00" @.str9715 = private unnamed_addr constant [2 x i8] c" \00" @.str9716 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9717 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9718 = private unnamed_addr constant [2 x i8] c"0\00" @.str9719 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str9720 = private unnamed_addr constant [3 x i8] c"-1\00" @.str9721 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9722 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str9723 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9724 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str9725 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9726 = private unnamed_addr constant [2 x i8] c"0\00" @.str9727 = private unnamed_addr constant [4 x i8] c"int\00" @.str9728 = private unnamed_addr constant [3 x i8] c", \00" @.str9729 = private unnamed_addr constant [2 x i8] c" \00" @.str9730 = private unnamed_addr constant [3 x i8] c" \00" @.str9731 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str9732 = private unnamed_addr constant [2 x i8] c"(\00" @.str9733 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9734 = private unnamed_addr constant [4 x i8] c"int\00" @.str9735 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9736 = private unnamed_addr constant [2 x i8] c"(\00" @.str9737 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9738 = private unnamed_addr constant [2 x i8] c"0\00" @.str9739 = private unnamed_addr constant [4 x i8] c"int\00" @.str9740 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9741 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9742 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9743 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9744 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str9745 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9746 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9747 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str9748 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str9749 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str9750 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str9751 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str9752 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str9753 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str9754 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str9755 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9756 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str9757 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9758 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str9759 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9760 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str9761 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str9762 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str9763 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str9764 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9765 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str9766 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9767 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9768 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str9769 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str9770 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9771 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str9772 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9773 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9774 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9775 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9776 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str9777 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9778 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str9779 = private unnamed_addr constant [3 x i8] c"%h\00" @.str9780 = private unnamed_addr constant [3 x i8] c" \00" @.str9781 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9782 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9783 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9784 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9785 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9786 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str9787 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9788 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str9789 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str9790 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str9791 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str9792 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9793 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str9794 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9795 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str9796 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str9797 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str9798 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str9799 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9800 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9801 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str9802 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str9803 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9804 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str9805 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str9806 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str9807 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str9808 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9809 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str9810 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str9811 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9812 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9813 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9814 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str9815 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str9816 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str9817 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9818 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9819 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str9820 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9821 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9822 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9823 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str9824 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str9825 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str9826 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9827 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9828 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9829 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9830 = private unnamed_addr constant [2 x i8] c"0\00" @.str9831 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str9832 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str9833 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str9834 = private unnamed_addr constant [5 x i8] c"qend\00" @.str9835 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9836 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9837 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9838 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9839 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str9840 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9841 = private unnamed_addr constant [3 x i8] c", \00" @.str9842 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9843 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9844 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9845 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9846 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9847 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9848 = private unnamed_addr constant [3 x i8] c" \00" @.str9849 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9850 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str9851 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9852 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9853 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9854 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9855 = private unnamed_addr constant [3 x i8] c"qa\00" @.str9856 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9857 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9858 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9859 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9860 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9861 = private unnamed_addr constant [2 x i8] c"0\00" @.str9862 = private unnamed_addr constant [3 x i8] c" \00" @.str9863 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9864 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9865 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9866 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9867 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9868 = private unnamed_addr constant [3 x i8] c", \00" @.str9869 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str9870 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9871 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9872 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9873 = private unnamed_addr constant [3 x i8] c", \00" @.str9874 = private unnamed_addr constant [3 x i8] c" \00" @.str9875 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9876 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9877 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9878 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9879 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9880 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9881 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9882 = private unnamed_addr constant [3 x i8] c"qt\00" @.str9883 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9884 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9885 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9886 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9887 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9888 = private unnamed_addr constant [3 x i8] c" \00" @.str9889 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9890 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9891 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9892 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9893 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9894 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9895 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9896 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9897 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9898 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9899 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9900 = private unnamed_addr constant [3 x i8] c"qw\00" @.str9901 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9902 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9903 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9905 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9906 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9907 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9908 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9909 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9910 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9911 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9912 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9913 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9915 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9916 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9917 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9918 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9919 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9920 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str9921 = private unnamed_addr constant [3 x i8] c" \00" @.str9922 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9923 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9924 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9925 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9926 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str9927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9928 = private unnamed_addr constant [3 x i8] c" \00" @.str9929 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9930 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9931 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9932 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9933 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9934 = private unnamed_addr constant [3 x i8] c" \00" @.str9935 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9936 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9937 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9938 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9939 = private unnamed_addr constant [9 x i8] c" store \00" @.str9940 = private unnamed_addr constant [2 x i8] c" \00" @.str9941 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9942 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9943 = private unnamed_addr constant [3 x i8] c" \00" @.str9944 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9945 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9946 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9947 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9948 = private unnamed_addr constant [9 x i8] c" store \00" @.str9949 = private unnamed_addr constant [2 x i8] c" \00" @.str9950 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9952 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9953 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9954 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9955 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9956 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9957 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str9958 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9959 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9960 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9961 = private unnamed_addr constant [3 x i8] c" \00" @.str9962 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9963 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9964 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9965 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9966 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9967 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9968 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9969 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9970 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9971 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9972 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str9973 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str9974 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9975 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9976 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str9977 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str9978 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9979 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9980 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9982 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9983 = private unnamed_addr constant [2 x i8] c":\00" @.str9984 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9985 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str9986 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9987 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9988 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9989 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9990 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9991 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9992 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str9993 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str9994 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9995 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str9996 = private unnamed_addr constant [3 x i8] c" \00" @.str9997 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9998 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9999 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10000 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10001 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10002 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10003 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10004 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str10005 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10006 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10007 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10008 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str10009 = private unnamed_addr constant [3 x i8] c" \00" @.str10010 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10011 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10012 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10013 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10014 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10015 = private unnamed_addr constant [3 x i8] c", \00" @.str10016 = private unnamed_addr constant [3 x i8] c"dh\00" @.str10017 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str10018 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10019 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10020 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10021 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10022 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10023 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10024 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10025 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10026 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10027 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10028 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10029 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10030 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10032 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10033 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str10034 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10035 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str10036 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10037 = private unnamed_addr constant [3 x i8] c" \00" @.str10038 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10039 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10040 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10041 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10042 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10043 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str10044 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10045 = private unnamed_addr constant [7 x i8] c"attach\00" @.str10046 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str10047 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10048 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10049 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10050 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10051 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10052 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10053 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10054 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10055 = private unnamed_addr constant [3 x i8] c" \00" @.str10056 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10057 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10058 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10059 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10060 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10061 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str10062 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10063 = private unnamed_addr constant [7 x i8] c"detach\00" @.str10064 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str10065 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10066 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10067 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10068 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10069 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10070 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str10071 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10072 = private unnamed_addr constant [3 x i8] c" \00" @.str10073 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10074 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10075 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10076 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10077 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10078 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10079 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10080 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10081 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10082 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10083 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str10084 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10085 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10086 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10087 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10088 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10089 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10090 = private unnamed_addr constant [2 x i8] c"0\00" @.str10091 = private unnamed_addr constant [2 x i8] c"1\00" @.str10092 = private unnamed_addr constant [7 x i8] c"system\00" @.str10093 = private unnamed_addr constant [6 x i8] c"layer\00" @.str10094 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10095 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str10096 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10097 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10098 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str10099 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10100 = private unnamed_addr constant [6 x i8] c"_show\00" @.str10101 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10102 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10103 = private unnamed_addr constant [3 x i8] c" \00" @.str10104 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10105 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10106 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10107 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10108 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str10109 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10110 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10111 = private unnamed_addr constant [3 x i8] c" \00" @.str10112 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10113 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10114 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10115 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10116 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10117 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10118 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10119 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10120 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10121 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10122 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str10123 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10124 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str10125 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10126 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10127 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10128 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10129 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str10130 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10131 = private unnamed_addr constant [2 x i8] c"_\00" @.str10132 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10133 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10134 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10135 = private unnamed_addr constant [5 x i8] c"void\00" @.str10136 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10137 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10138 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str10139 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10140 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10141 = private unnamed_addr constant [1 x i8] c"\00" @.str10142 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str10143 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10144 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10145 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str10146 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10147 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10148 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10149 = private unnamed_addr constant [3 x i8] c", \00" @.str10150 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str10151 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10152 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10153 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10154 = private unnamed_addr constant [3 x i8] c", \00" @.str10155 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str10156 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str10157 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10158 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10159 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10160 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10161 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str10162 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10163 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10164 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10165 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10166 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str10167 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10168 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10169 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str10170 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str10171 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str10172 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str10173 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str10174 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10175 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str10176 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str10177 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str10178 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str10179 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str10180 = 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" @.str10181 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str10182 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10183 = 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" @.str10184 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10185 = private unnamed_addr constant [2 x i8] c"c\00" @.str10186 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10187 = private unnamed_addr constant [5 x i8] c" %h\00" @.str10188 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10189 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10190 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10191 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10192 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str10193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10194 = private unnamed_addr constant [7 x i8] c" %has\00" @.str10195 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str10196 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10197 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str10198 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str10199 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str10200 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10201 = private unnamed_addr constant [2 x i8] c"t\00" @.str10202 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10203 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10204 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10205 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10206 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10207 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10208 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10209 = private unnamed_addr constant [2 x i8] c"_\00" @.str10210 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str10211 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10212 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10213 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10214 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10215 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str10216 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str10217 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10218 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str10219 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str10220 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10221 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str10222 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str10223 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str10224 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str10225 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str10226 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str10227 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str10228 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10229 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str10230 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str10231 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10232 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str10233 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10234 = private unnamed_addr constant [2 x i8] c"c\00" @.str10235 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str10236 = 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" @.str10237 = private unnamed_addr constant [4 x i8] c"int\00" @.str10238 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10239 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10240 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str10241 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10242 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10243 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str10244 = private unnamed_addr constant [2 x i8] c")\00" @.str10245 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10246 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10247 = private unnamed_addr constant [3 x i8] c"pf\00" @.str10248 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str10249 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10250 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10251 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10252 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10253 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10254 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str10255 = private unnamed_addr constant [3 x i8] c"()\00" @.str10256 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10258 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10259 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10260 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str10261 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10262 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10263 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10264 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10265 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10266 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10267 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10268 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str10269 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10270 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str10271 = private unnamed_addr constant [2 x i8] c"'\00" @.str10272 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10273 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10274 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10275 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10276 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10277 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10278 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10279 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str10280 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str10281 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str10282 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str10283 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str10284 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str10285 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str10286 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str10287 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str10288 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str10289 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str10290 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str10291 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str10292 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str10293 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str10294 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str10295 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str10296 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str10297 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str10298 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str10299 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str10300 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str10301 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str10302 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10303 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10304 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10305 = 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" @.str10306 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str10307 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10308 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str10309 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10310 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str10311 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str10312 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str10313 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str10314 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10315 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str10316 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str10317 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str10318 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str10319 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str10320 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str10321 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str10322 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str10323 = 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" @.str10324 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10325 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str10326 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str10327 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str10328 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str10329 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str10330 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str10331 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10332 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10333 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str10334 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10335 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10336 = private unnamed_addr constant [3 x i8] c" \00" @.str10337 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str10338 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str10339 = private unnamed_addr constant [4 x i8] c", %\00" @.str10340 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str10341 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str10342 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10343 = private unnamed_addr constant [3 x i8] c", \00" @.str10344 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10345 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10346 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10347 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10348 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10349 = private unnamed_addr constant [3 x i8] c" \00" @.str10350 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10351 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str10352 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10353 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10354 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10355 = private unnamed_addr constant [3 x i8] c", \00" @.str10356 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10357 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10358 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10359 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10360 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10361 = private unnamed_addr constant [3 x i8] c" \00" @.str10362 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10363 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str10364 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10365 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10366 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10367 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10368 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10370 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str10371 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str10372 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str10373 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10374 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10375 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10376 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10377 = private unnamed_addr constant [3 x i8] c", \00" @.str10378 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str10379 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str10380 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10381 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10382 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10383 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10384 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10385 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10387 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10388 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10389 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10390 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10391 = private unnamed_addr constant [3 x i8] c", \00" @.str10392 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str10393 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str10394 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10395 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10396 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10398 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str10399 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10400 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10401 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10402 = private unnamed_addr constant [5 x i8] c"void\00" @.str10403 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10404 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str10405 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str10406 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str10407 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str10408 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10409 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10410 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str10411 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str10412 = private unnamed_addr constant [2 x i8] c"_\00" @.str10413 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10414 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10415 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10416 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10417 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str10418 = private unnamed_addr constant [2 x i8] c"_\00" @.str10419 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10420 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10421 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10422 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10423 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str10424 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str10425 = private unnamed_addr constant [6 x i8] c" %is\00" @.str10426 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str10427 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10428 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str10429 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str10430 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10431 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10432 = private unnamed_addr constant [6 x i8] c"leave\00" @.str10433 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str10434 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str10435 = private unnamed_addr constant [5 x i8] c"next\00" @.str10436 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10437 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10438 = private unnamed_addr constant [5 x i8] c"void\00" @.str10439 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10440 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str10441 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10442 = private unnamed_addr constant [4 x i8] c"int\00" @.str10443 = private unnamed_addr constant [3 x i8] c"%e\00" @.str10444 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10445 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10446 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str10447 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str10448 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10449 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str10450 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10451 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10452 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10453 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10454 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10455 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10456 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10457 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10458 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10459 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10460 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10461 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10462 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10463 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10464 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10465 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10466 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10467 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10468 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10469 = private unnamed_addr constant [5 x i8] c"next\00" @.str10470 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10471 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str10472 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str10473 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10474 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str10475 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str10476 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str10477 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str10478 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10479 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10480 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str10481 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str10482 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str10483 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str10484 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10485 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10486 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10487 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10488 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10489 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10490 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10491 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10492 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10493 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10494 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10495 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10496 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10497 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10498 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10499 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10500 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10501 = private unnamed_addr constant [5 x i8] c"next\00" @.str10502 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10503 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str10504 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str10505 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str10506 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str10507 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10508 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str10509 = private unnamed_addr constant [3 x i8] c", \00" @.str10510 = private unnamed_addr constant [3 x i8] c", \00" @.str10511 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10512 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str10513 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str10514 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10515 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10516 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str10517 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str10518 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str10519 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10520 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10521 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str10522 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str10523 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10524 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10525 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10527 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10528 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10529 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10530 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10531 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10532 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10533 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10534 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10535 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str10536 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10537 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10538 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10539 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str10540 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str10541 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10542 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10543 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10545 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10546 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10547 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10548 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10549 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10550 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10551 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10552 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10553 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str10554 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10555 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10556 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10557 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str10558 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str10559 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10560 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10561 = 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" @.str10562 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str10563 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str10564 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10565 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str10566 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str10567 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str10568 = private unnamed_addr constant [5 x i8] c"void\00" @.str10569 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str10570 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str10571 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10572 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str10573 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str10574 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str10575 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10576 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str10577 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str10578 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10579 = private unnamed_addr constant [3 x i8] c" \00" @.str10580 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10581 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10582 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10583 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10584 = private unnamed_addr constant [9 x i8] c" store \00" @.str10585 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10586 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10587 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10588 = private unnamed_addr constant [9 x i8] c" store \00" @.str10589 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10590 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10592 = private unnamed_addr constant [3 x i8] c" \00" @.str10593 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10594 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10595 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10596 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10597 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10599 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10600 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10601 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10602 = private unnamed_addr constant [4 x i8] c"evl\00" @.str10603 = private unnamed_addr constant [4 x i8] c"evb\00" @.str10604 = private unnamed_addr constant [4 x i8] c"evd\00" @.str10605 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10607 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10608 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10609 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str10610 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10611 = private unnamed_addr constant [3 x i8] c", \00" @.str10612 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10613 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10614 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10615 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10616 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10617 = private unnamed_addr constant [3 x i8] c" \00" @.str10618 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10619 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10620 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10621 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10622 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10623 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str10624 = private unnamed_addr constant [7 x i8] c", null\00" @.str10625 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str10626 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str10627 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10628 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10629 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10631 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10632 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10633 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10634 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10635 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10636 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10637 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10638 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10639 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10640 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10641 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10642 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10643 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10644 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10645 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10646 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10647 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10648 = 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" @.str10649 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10650 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10651 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10652 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10653 = private unnamed_addr constant [5 x i8] c"void\00" @.str10654 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10655 = private unnamed_addr constant [8 x i8] c"define \00" @.str10656 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str10657 = private unnamed_addr constant [2 x i8] c"(\00" @.str10658 = private unnamed_addr constant [3 x i8] c", \00" @.str10659 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10660 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str10661 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10662 = 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" @.str10663 = private unnamed_addr constant [3 x i8] c"sw\00" @.str10664 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10665 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str10666 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str10667 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str10668 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str10669 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10670 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str10671 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str10672 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str10673 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10674 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str10675 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str10676 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str10677 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10678 = private unnamed_addr constant [4 x i8] c"swb\00" @.str10679 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10680 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str10681 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10682 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10683 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10685 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str10686 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str10687 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10688 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str10689 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str10690 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str10691 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str10692 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str10693 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str10694 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10695 = private unnamed_addr constant [4 x i8] c"swh\00" @.str10696 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10697 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str10698 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10699 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10700 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10701 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10702 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str10703 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str10704 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10705 = private unnamed_addr constant [4 x i8] c"swx\00" @.str10706 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10707 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str10708 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str10709 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str10710 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str10711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10712 = private unnamed_addr constant [4 x i8] c"swd\00" @.str10713 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str10714 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str10715 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10716 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10717 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10718 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str10719 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str10720 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str10721 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str10722 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str10723 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str10724 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10725 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10726 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10727 = private unnamed_addr constant [5 x i8] c" %e\00" @.str10728 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str10729 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10730 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str10731 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10732 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10733 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10734 = private unnamed_addr constant [2 x i8] c"h\00" @.str10735 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10736 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10737 = private unnamed_addr constant [2 x i8] c"n\00" @.str10738 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10739 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str10740 = 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" @.str10741 = 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" @.str10742 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str10743 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str10744 = 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" @.str10745 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str10746 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str10747 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str10748 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10749 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10750 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str10751 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str10752 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10753 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10754 = private unnamed_addr constant [3 x i8] c"pk\00" @.str10755 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10756 = private unnamed_addr constant [2 x i8] c"_\00" @.str10757 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str10758 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10759 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10760 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str10761 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str10762 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10763 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str10764 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str10765 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str10766 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10767 = private unnamed_addr constant [3 x i8] c"fh\00" @.str10768 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10769 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10770 = private unnamed_addr constant [3 x i8] c"fn\00" @.str10771 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10772 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10773 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10774 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10775 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10776 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10777 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10778 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10779 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10780 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10781 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10782 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10783 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10784 = private unnamed_addr constant [2 x i8] c"g\00" @.str10785 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10786 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10787 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10788 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10789 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10790 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10791 = private unnamed_addr constant [2 x i8] c"_\00" @.str10792 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str10793 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10794 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10795 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str10796 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str10797 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str10798 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10799 = private unnamed_addr constant [3 x i8] c"gf\00" @.str10800 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10801 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str10802 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10803 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10804 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10805 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10806 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10807 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10808 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str10809 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10810 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10811 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str10812 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10813 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10814 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10815 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10816 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str10817 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10818 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10819 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str10820 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10821 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10822 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10823 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str10824 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10825 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10826 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str10827 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10828 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10829 = private unnamed_addr constant [3 x i8] c"gk\00" @.str10830 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10831 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str10832 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10833 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10834 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str10835 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10836 = 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" @.str10837 = 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" @.str10838 = 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" @.str10839 = 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" @.str10840 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str10841 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str10842 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10843 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10844 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10845 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10846 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10847 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10849 = private unnamed_addr constant [2 x i8] c"g\00" @.str10850 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10851 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10852 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10853 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10854 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10855 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10856 = private unnamed_addr constant [2 x i8] c"_\00" @.str10857 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10858 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10859 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10860 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10861 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str10862 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str10863 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10864 = private unnamed_addr constant [3 x i8] c"sf\00" @.str10865 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10866 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str10867 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10868 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10869 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10870 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10871 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10872 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str10873 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str10874 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str10875 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10876 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10877 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10878 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str10879 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str10880 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str10881 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10882 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10883 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str10884 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str10885 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str10886 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10887 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10888 = private unnamed_addr constant [3 x i8] c"sk\00" @.str10889 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10890 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10891 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10892 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10893 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str10894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10895 = 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" @.str10896 = 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" @.str10897 = 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" @.str10898 = 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" @.str10899 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str10900 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10901 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10902 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10903 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10904 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10905 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10906 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10907 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10908 = private unnamed_addr constant [2 x i8] c"g\00" @.str10909 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10910 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str10911 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10912 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10913 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10914 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10915 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str10916 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10917 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str10918 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str10919 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str10920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10921 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10923 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str10924 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10925 = 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" @.str10926 = 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" @.str10927 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str10928 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str10929 = 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" @.str10930 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str10931 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str10932 = 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" @.str10933 = 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" @.str10934 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str10935 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str10936 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10937 = 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" @.str10938 = 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" @.str10939 = 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" @.str10940 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str10941 = 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" @.str10942 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str10943 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10944 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10945 = 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" @.str10946 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10947 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10948 = 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" @.str10949 = 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" @.str10950 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str10951 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10952 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10953 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str10954 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str10955 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str10956 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10957 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10958 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str10959 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str10960 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10961 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str10962 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str10963 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str10964 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10965 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str10966 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10968 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str10969 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10970 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10971 = private unnamed_addr constant [4 x i8] c"int\00" @.str10972 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10973 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10974 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str10975 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10976 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10977 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str10978 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10979 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str10980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10981 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10982 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str10983 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str10984 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10985 = private unnamed_addr constant [3 x i8] c"sh\00" @.str10986 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str10987 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str10988 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str10989 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10990 = private unnamed_addr constant [3 x i8] c"sn\00" @.str10991 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10992 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10993 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str10994 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str10995 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str10996 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str10997 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10998 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10999 = 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" @.str11000 = 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" @.str11001 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str11002 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str11003 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str11004 = private unnamed_addr constant [1 x i8] c"\00" @.str11005 = private unnamed_addr constant [4 x i8] c"int\00" @.str11006 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str11007 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str11008 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str11009 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str11010 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str11011 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str11012 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11013 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str11014 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str11015 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str11016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11017 = private unnamed_addr constant [3 x i8] c"ph\00" @.str11018 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11019 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11020 = private unnamed_addr constant [3 x i8] c"pn\00" @.str11021 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11022 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str11023 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11024 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str11025 = 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" @.str11026 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str11027 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11028 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str11029 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str11030 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11032 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str11033 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str11034 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str11035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11036 = private unnamed_addr constant [4 x i8] c"fch\00" @.str11037 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11038 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11039 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str11040 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11041 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str11042 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11043 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str11044 = 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" @.str11045 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str11046 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11047 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str11048 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11049 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11050 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str11051 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str11052 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str11053 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11054 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str11055 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11056 = private unnamed_addr constant [2 x i8] c"_\00" @.str11057 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str11058 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11059 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11060 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str11061 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str11062 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str11063 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11064 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str11065 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11067 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str11068 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11069 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11070 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11071 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str11072 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11073 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11074 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11075 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11076 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str11077 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11078 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11079 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str11080 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str11081 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str11082 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11083 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str11084 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11085 = private unnamed_addr constant [2 x i8] c"_\00" @.str11086 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str11087 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11088 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11089 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str11090 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str11091 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str11092 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11093 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str11094 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11095 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11096 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str11097 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11098 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11099 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11100 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str11101 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11102 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11103 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11104 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str11105 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11106 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11107 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11108 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11109 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11110 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str11111 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11112 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11113 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11114 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11115 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11116 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11117 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11118 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11119 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11120 = private unnamed_addr constant [6 x i8] c"Start\00" @.str11121 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11122 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11123 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11124 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11125 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str11126 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str11127 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11128 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11129 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str11130 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11131 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11132 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str11133 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str11134 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11135 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11136 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11137 = private unnamed_addr constant [3 x i8] c", \00" @.str11138 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11139 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11140 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11141 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11142 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11143 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str11144 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str11145 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11146 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11147 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str11148 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str11149 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11150 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11151 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str11152 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str11153 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str11154 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11155 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11156 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11157 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11158 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11159 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str11160 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str11161 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11162 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11163 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11164 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str11165 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str11166 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str11167 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11168 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11169 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11170 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str11171 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11172 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11173 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str11174 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str11175 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str11176 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str11177 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str11178 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str11179 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str11180 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str11181 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str11182 = private unnamed_addr constant [1 x i8] c"\00" @.str11183 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str11184 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str11185 = private unnamed_addr constant [2 x i8] c")\00" @.str11186 = private unnamed_addr constant [6 x i8] c"smend\00" @.str11187 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11188 = private unnamed_addr constant [3 x i8] c", \00" @.str11189 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str11190 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str11191 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11192 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11193 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11194 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11195 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11196 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11197 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11198 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11199 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11200 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11201 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11202 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11203 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str11204 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11205 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" @.str11206 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11207 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11208 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str11209 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str11210 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11211 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str11212 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11213 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11214 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11215 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11216 = private unnamed_addr constant [5 x i8] c"file\00" @.str11217 = private unnamed_addr constant [4 x i8] c"%io\00" @.str11218 = private unnamed_addr constant [3 x i8] c" \00" @.str11219 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str11220 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str11221 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str11222 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str11223 = private unnamed_addr constant [5 x i8] c"size\00" @.str11224 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11225 = private unnamed_addr constant [3 x i8] c" \00" @.str11226 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11227 = private unnamed_addr constant [3 x i8] c", \00" @.str11228 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11229 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str11230 = private unnamed_addr constant [3 x i8] c" \00" @.str11231 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str11232 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11233 = private unnamed_addr constant [5 x i8] c"save\00" @.str11234 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11235 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11236 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11237 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11238 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11239 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11240 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11241 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11242 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11243 = private unnamed_addr constant [3 x i8] c" \00" @.str11244 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11245 = private unnamed_addr constant [3 x i8] c", \00" @.str11246 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11247 = private unnamed_addr constant [2 x i8] c"0\00" @.str11248 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str11249 = private unnamed_addr constant [2 x i8] c"4\00" @.str11250 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str11251 = private unnamed_addr constant [2 x i8] c"4\00" @.str11252 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str11253 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str11254 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str11255 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11256 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str11257 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11258 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str11259 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11260 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str11261 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11262 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str11263 = private unnamed_addr constant [2 x i8] c"4\00" @.str11264 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str11265 = private unnamed_addr constant [3 x i8] c" \00" @.str11266 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str11267 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str11268 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str11269 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str11270 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str11271 = private unnamed_addr constant [5 x i8] c"file\00" @.str11272 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str11273 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str11274 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str11275 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str11276 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str11277 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str11278 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str11279 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11280 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str11281 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str11282 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str11283 = 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" @.str11284 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str11285 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str11286 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11287 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str11288 = private unnamed_addr constant [6 x i8] c"fread\00" @.str11289 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str11290 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str11291 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str11292 = private unnamed_addr constant [5 x i8] c"save\00" @.str11293 = private unnamed_addr constant [1 x i8] c"\00" @.str11294 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str11295 = private unnamed_addr constant [3 x i8] c" \00" @.str11296 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11297 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str11298 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11299 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11300 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11301 = private unnamed_addr constant [5 x i8] c"load\00" @.str11302 = private unnamed_addr constant [1 x i8] c"\00" @.str11303 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11304 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str11305 = private unnamed_addr constant [5 x i8] c"size\00" @.str11306 = private unnamed_addr constant [1 x i8] c"\00" @.str11307 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str11308 = private unnamed_addr constant [3 x i8] c" \00" @.str11309 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11310 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str11311 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11312 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11313 = private unnamed_addr constant [5 x i8] c"file\00" @.str11314 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11315 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11316 = private unnamed_addr constant [2 x i8] c"1\00" @.str11317 = private unnamed_addr constant [2 x i8] c"4\00" @.str11318 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str11319 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11320 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11321 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str11322 = private unnamed_addr constant [2 x i8] c".\00" @.str11323 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str11324 = private unnamed_addr constant [7 x i8] c"model \00" @.str11325 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str11326 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str11327 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str11328 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11329 = private unnamed_addr constant [3 x i8] c" \00" @.str11330 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11331 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11332 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11333 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11334 = private unnamed_addr constant [3 x i8] c" \00" @.str11335 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11336 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11337 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11338 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11339 = private unnamed_addr constant [3 x i8] c" \00" @.str11340 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11341 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11342 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11343 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11344 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11345 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11346 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11347 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11348 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str11349 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11350 = private unnamed_addr constant [3 x i8] c" \00" @.str11351 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11352 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11353 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11354 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11355 = private unnamed_addr constant [3 x i8] c" \00" @.str11356 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11357 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11358 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11359 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11360 = private unnamed_addr constant [3 x i8] c" \00" @.str11361 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11362 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11363 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11364 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11365 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11366 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11367 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11368 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11369 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11370 = 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" @.str11371 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11372 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11373 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11374 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11375 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11376 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11378 = private unnamed_addr constant [2 x i8] c"h\00" @.str11379 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str11380 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str11381 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str11382 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11383 = private unnamed_addr constant [2 x i8] c"n\00" @.str11384 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11385 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11386 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11387 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11388 = 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" @.str11389 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11390 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11391 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11392 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11393 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11394 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11395 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11396 = private unnamed_addr constant [2 x i8] c"h\00" @.str11397 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str11398 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str11399 = private unnamed_addr constant [2 x i8] c"n\00" @.str11400 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11401 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11402 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str11403 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11404 = 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" @.str11405 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11406 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11407 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11408 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11409 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11410 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11411 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11412 = private unnamed_addr constant [2 x i8] c"h\00" @.str11413 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11414 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11415 = private unnamed_addr constant [2 x i8] c"n\00" @.str11416 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11417 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11418 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str11419 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11420 = 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" @.str11421 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str11422 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11423 = 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" @.str11424 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str11425 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11426 = 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" @.str11427 = 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" @.str11428 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str11429 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str11430 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str11431 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str11432 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11433 = 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" @.str11434 = 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" @.str11435 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str11436 = 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" @.str11437 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str11438 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11439 = 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" @.str11440 = 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" @.str11441 = 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" @.str11442 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str11443 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str11444 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str11445 = 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" @.str11446 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str11447 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11448 = 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" @.str11449 = 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" @.str11450 = 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" @.str11451 = 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" @.str11452 = 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" @.str11453 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str11454 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str11455 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str11456 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11457 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str11458 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11459 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11460 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str11461 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str11462 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str11463 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str11464 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str11465 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11466 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str11467 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11468 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11469 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11470 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str11471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11472 = private unnamed_addr constant [2 x i8] c"h\00" @.str11473 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11474 = private unnamed_addr constant [2 x i8] c"_\00" @.str11475 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str11476 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str11477 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11478 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str11479 = private unnamed_addr constant [9 x i8] c" = load \00" @.str11480 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str11481 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11482 = private unnamed_addr constant [3 x i8] c", \00" @.str11483 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str11484 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11485 = private unnamed_addr constant [2 x i8] c"(\00" @.str11486 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11487 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11488 = private unnamed_addr constant [2 x i8] c"x\00" @.str11489 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11490 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11491 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str11492 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11493 = private unnamed_addr constant [6 x i8] c"panel\00" @.str11494 = private unnamed_addr constant [4 x i8] c"col\00" @.str11495 = private unnamed_addr constant [4 x i8] c"row\00" @.str11496 = private unnamed_addr constant [6 x i8] c"label\00" @.str11497 = private unnamed_addr constant [7 x i8] c"button\00" @.str11498 = private unnamed_addr constant [6 x i8] c"image\00" @.str11499 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str11500 = private unnamed_addr constant [5 x i8] c"font\00" @.str11501 = private unnamed_addr constant [5 x i8] c"size\00" @.str11502 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11503 = private unnamed_addr constant [6 x i8] c"align\00" @.str11504 = private unnamed_addr constant [3 x i8] c"id\00" @.str11505 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str11506 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11507 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11508 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11509 = private unnamed_addr constant [2 x i8] c"w\00" @.str11510 = private unnamed_addr constant [2 x i8] c"h\00" @.str11511 = private unnamed_addr constant [2 x i8] c"x\00" @.str11512 = private unnamed_addr constant [2 x i8] c"y\00" @.str11513 = private unnamed_addr constant [4 x i8] c"pad\00" @.str11514 = private unnamed_addr constant [4 x i8] c"gap\00" @.str11515 = private unnamed_addr constant [3 x i8] c"bg\00" @.str11516 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11517 = private unnamed_addr constant [7 x i8] c"border\00" @.str11518 = private unnamed_addr constant [5 x i8] c"grow\00" @.str11519 = private unnamed_addr constant [5 x i8] c"font\00" @.str11520 = private unnamed_addr constant [5 x i8] c"size\00" @.str11521 = private unnamed_addr constant [6 x i8] c"inset\00" @.str11522 = private unnamed_addr constant [6 x i8] c"focus\00" @.str11523 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str11524 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11525 = private unnamed_addr constant [2 x i8] c"1\00" @.str11526 = private unnamed_addr constant [3 x i8] c"id\00" @.str11527 = private unnamed_addr constant [5 x i8] c"goto\00" @.str11528 = private unnamed_addr constant [5 x i8] c"text\00" @.str11529 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str11530 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11531 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11532 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11533 = private unnamed_addr constant [6 x i8] c"image\00" @.str11534 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str11535 = private unnamed_addr constant [2 x i8] c")\00" @.str11536 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11537 = private unnamed_addr constant [6 x i8] c"align\00" @.str11538 = private unnamed_addr constant [7 x i8] c"center\00" @.str11539 = private unnamed_addr constant [4 x i8] c"end\00" @.str11540 = private unnamed_addr constant [2 x i8] c"1\00" @.str11541 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str11542 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11543 = private unnamed_addr constant [3 x i8] c", \00" @.str11544 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11545 = private unnamed_addr constant [5 x i8] c"void\00" @.str11546 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str11547 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11548 = private unnamed_addr constant [9 x i8] c" store \00" @.str11549 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11550 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11551 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11552 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11553 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11554 = private unnamed_addr constant [5 x i8] c"void\00" @.str11555 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11556 = private unnamed_addr constant [6 x i8] c"load \00" @.str11557 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str11558 = private unnamed_addr constant [7 x i8] c" ret \00" @.str11559 = private unnamed_addr constant [2 x i8] c" \00" @.str11560 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11561 = private unnamed_addr constant [8 x i8] c"define \00" @.str11562 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str11563 = private unnamed_addr constant [2 x i8] c"(\00" @.str11564 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str11565 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11566 = private unnamed_addr constant [1 x i8] c"\00" @.str11567 = private unnamed_addr constant [4 x i8] c"int\00" @.str11568 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str11569 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11570 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11571 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str11572 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11573 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11574 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11575 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11576 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11577 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str11578 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11579 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11580 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11581 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11582 = private unnamed_addr constant [5 x i8] c"void\00" @.str11583 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11584 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11585 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str11586 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11587 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11588 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str11589 = 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" @.str11590 = 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" @.str11591 = 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" @.str11592 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11593 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11594 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11595 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str11596 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str11597 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str11598 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str11599 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str11600 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str11601 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11602 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11603 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11604 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11605 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11606 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str11607 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11608 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str11609 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str11610 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11611 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11612 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11613 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str11614 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11615 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str11616 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str11617 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str11618 = private unnamed_addr constant [5 x i8] c"trun\00" @.str11619 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str11620 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11621 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str11622 = private unnamed_addr constant [7 x i8] c", null\00" @.str11623 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11624 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11625 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11627 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11628 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str11629 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11630 = private unnamed_addr constant [2 x i8] c")\00" @.str11631 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11632 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11633 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11634 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11635 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11636 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11637 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11638 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11639 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11640 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11641 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11642 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str11643 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str11644 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str11645 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11646 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str11647 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11648 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11649 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str11650 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str11651 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str11652 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11653 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11654 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11655 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11656 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11657 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11658 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11659 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11660 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11661 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11662 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11663 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11664 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11665 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11666 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str11667 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11668 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11669 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11670 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11671 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11672 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11673 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11674 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11675 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str11676 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str11677 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11678 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11679 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str11680 = private unnamed_addr constant [7 x i8] c", null\00" @.str11681 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11682 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11683 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11684 = private unnamed_addr constant [3 x i8] c", \00" @.str11685 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11686 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11687 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11688 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11689 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11690 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str11691 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11692 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str11693 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11694 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11695 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11696 = private unnamed_addr constant [3 x i8] c", \00" @.str11697 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str11698 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11699 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11700 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11701 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11702 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str11703 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str11704 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11705 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str11706 = private unnamed_addr constant [11 x i8] c"function '\00" @.str11707 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str11708 = private unnamed_addr constant [2 x i8] c":\00" @.str11709 = private unnamed_addr constant [2 x i8] c")\00" @.str11710 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str11711 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11712 = 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" @.str11713 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str11714 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str11715 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str11716 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str11717 = private unnamed_addr constant [3 x i8] c", \00" @.str11718 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str11719 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str11720 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str11721 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11722 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str11723 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11724 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str11725 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str11726 = private unnamed_addr constant [2 x i8] c"w\00" @.str11727 = 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" @.str11728 = 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" @.str11729 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11730 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str11731 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str11732 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str11733 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11734 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str11735 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str11736 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str11737 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str11738 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11739 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11740 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str11741 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str11742 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str11743 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11744 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11745 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11746 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str11747 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str11748 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11749 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str11750 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11751 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str11752 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str11753 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str11754 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str11755 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str11756 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str11757 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str11758 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str11759 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11760 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str11761 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str11762 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str11763 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str11764 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str11765 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str11766 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11767 = 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" @.str11768 = private unnamed_addr constant [3 x i8] c"wb\00" @.str11769 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str11770 = private unnamed_addr constant [2 x i8] c"/\00" @.str11771 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str11772 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str11773 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11774 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str11775 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str11776 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str11777 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str11778 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str11779 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str11780 = private unnamed_addr constant [3 x i8] c"rb\00" @.str11781 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11782 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11783 = private unnamed_addr constant [6 x i8] c"clang\00" @.str11784 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str11785 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str11786 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str11787 = private unnamed_addr constant [1 x i8] c"\00" @.str11788 = private unnamed_addr constant [1 x i8] c"\00" @.str11789 = private unnamed_addr constant [2 x i8] c"?\00" @.str11790 = private unnamed_addr constant [1 x i8] c"\00" @.str11791 = private unnamed_addr constant [10 x i8] c"--version\00" @.str11792 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str11793 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str11794 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str11795 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str11796 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str11797 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str11798 = private unnamed_addr constant [6 x i8] c"--run\00" @.str11799 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str11800 = private unnamed_addr constant [9 x i8] c"--target\00" @.str11801 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str11802 = private unnamed_addr constant [7 x i8] c"--link\00" @.str11803 = private unnamed_addr constant [3 x i8] c"-o\00" @.str11804 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str11805 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11806 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str11807 = private unnamed_addr constant [8 x i8] c"windows\00" @.str11808 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str11809 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str11810 = private unnamed_addr constant [2 x i8] c".\00" @.str11811 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str11812 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str11813 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11814 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11815 = private unnamed_addr constant [4 x i8] c".ll\00" @.str11816 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str11817 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str11818 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str11819 = private unnamed_addr constant [2 x i8] c" \00" @.str11820 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str11821 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str11822 = private unnamed_addr constant [2 x i8] c" \00" @.str11823 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str11824 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str11825 = private unnamed_addr constant [2 x i8] c" \00" @.str11826 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str11827 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str11828 = private unnamed_addr constant [2 x i8] c" \00" @.str11829 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str11830 = private unnamed_addr constant [2 x i8] c" \00" @.str11831 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str11832 = private unnamed_addr constant [2 x i8] c" \00" @.str11833 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str11834 = private unnamed_addr constant [2 x i8] c" \00" @.str11835 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" @.str11836 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" @.str11837 = private unnamed_addr constant [2 x i8] c" \00" @.str11838 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" @.str11839 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str11840 = private unnamed_addr constant [2 x i8] c" \00" @.str11841 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str11842 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str11843 = private unnamed_addr constant [2 x i8] c" \00" @.str11844 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str11845 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str11846 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str11847 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str11848 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str11849 = private unnamed_addr constant [2 x i8] c" \00" @.str11850 = private unnamed_addr constant [2 x i8] c" \00" @.str11851 = private unnamed_addr constant [2 x i8] c" \00" @.str11852 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str11853 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str11854 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str11855 = private unnamed_addr constant [2 x i8] c" \00" @.str11856 = private unnamed_addr constant [2 x i8] c" \00" @.str11857 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str11858 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str11859 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str11860 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str11861 = private unnamed_addr constant [2 x i8] c" \00" @.str11862 = private unnamed_addr constant [2 x i8] c" \00" @.str11863 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str11864 = private unnamed_addr constant [3 x i8] c" \22\00" @.str11865 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11866 = private unnamed_addr constant [5 x i8] c" -o \00" @.str11867 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11868 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11869 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str11870 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11871 = 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 } @.str11872 = private unnamed_addr constant [4 x i8] c"png\00" @.str11873 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str11874 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str11875 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11876 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str11877 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11878 = private unnamed_addr constant [4 x i8] c"gif\00" @.str11879 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str11880 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str11881 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str11882 = private unnamed_addr constant [5 x i8] c"webp\00" @.str11883 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str11884 = private unnamed_addr constant [4 x i8] c"svg\00" @.str11885 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str11886 = private unnamed_addr constant [4 x i8] c"txt\00" @.str11887 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str11888 = private unnamed_addr constant [3 x i8] c"md\00" @.str11889 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str11890 = private unnamed_addr constant [4 x i8] c"csv\00" @.str11891 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str11892 = private unnamed_addr constant [5 x i8] c"html\00" @.str11893 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11894 = private unnamed_addr constant [4 x i8] c"htm\00" @.str11895 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11896 = private unnamed_addr constant [4 x i8] c"css\00" @.str11897 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str11898 = private unnamed_addr constant [3 x i8] c"js\00" @.str11899 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str11900 = private unnamed_addr constant [5 x i8] c"json\00" @.str11901 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str11902 = private unnamed_addr constant [4 x i8] c"xml\00" @.str11903 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str11904 = private unnamed_addr constant [4 x i8] c"zip\00" @.str11905 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str11906 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str11907 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str11908 = private unnamed_addr constant [4 x i8] c"wav\00" @.str11909 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str11910 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str11911 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str11912 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str11913 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str11914 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str11915 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str11916 = private unnamed_addr constant [4 x i8] c"otf\00" @.str11917 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str11918 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str11919 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str11920 = 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 @.str11872, ptr @.str11873 }, { ptr, ptr } { ptr @.str11874, ptr @.str11875 }, { ptr, ptr } { ptr @.str11876, ptr @.str11877 }, { ptr, ptr } { ptr @.str11878, ptr @.str11879 }, { ptr, ptr } { ptr @.str11880, ptr @.str11881 }, { ptr, ptr } { ptr @.str11882, ptr @.str11883 }, { ptr, ptr } { ptr @.str11884, ptr @.str11885 }, { ptr, ptr } { ptr @.str11886, ptr @.str11887 }, { ptr, ptr } { ptr @.str11888, ptr @.str11889 }, { ptr, ptr } { ptr @.str11890, ptr @.str11891 }, { ptr, ptr } { ptr @.str11892, ptr @.str11893 }, { ptr, ptr } { ptr @.str11894, ptr @.str11895 }, { ptr, ptr } { ptr @.str11896, ptr @.str11897 }, { ptr, ptr } { ptr @.str11898, ptr @.str11899 }, { ptr, ptr } { ptr @.str11900, ptr @.str11901 }, { ptr, ptr } { ptr @.str11902, ptr @.str11903 }, { ptr, ptr } { ptr @.str11904, ptr @.str11905 }, { ptr, ptr } { ptr @.str11906, ptr @.str11907 }, { ptr, ptr } { ptr @.str11908, ptr @.str11909 }, { ptr, ptr } { ptr @.str11910, ptr @.str11911 }, { ptr, ptr } { ptr @.str11912, ptr @.str11913 }, { ptr, ptr } { ptr @.str11914, ptr @.str11915 }, { ptr, ptr } { ptr @.str11916, ptr @.str11917 }, { ptr, ptr } { ptr @.str11918, ptr @.str11919 }] 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 @.str11920) 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 }] 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 ptr, ptr %t47, i32 %t48 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Tok, ptr %t50, i32 0, i32 3 %t52 = load i32, ptr %t51 store i32 %t52, ptr %t44 br label %ifend4 ifend4: %t53 = load ptr, ptr %t14 store ptr %t53, ptr %retval br label %ret ret: %t54 = load ptr, ptr %retval ret ptr %t54 } 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 @.str1, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2) %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 @.str3) 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 @.str4) %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 @.str5) %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6) 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 @.str7) 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 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 store ptr %t5, ptr %retval br label %ret ret: %t6 = load ptr, ptr %retval ret ptr %t6 } 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 ptr, ptr %t3, i32 %t6 %t8 = load ptr, ptr %t7 store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define i32 @fn_is_op(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t7 = alloca ptr %t8 = 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 ptr, ptr %t3, i32 %t4 %t6 = load ptr, ptr %t5 store ptr %t6, ptr %t7 %t9 = load ptr, ptr %t7 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 3 %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 %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t7 %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1 %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 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t8 br label %scend1 scend1: %t23 = load i32, ptr %t8 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_is_id(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t7 = alloca ptr %t8 = 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 ptr, ptr %t3, i32 %t4 %t6 = load ptr, ptr %t5 store ptr %t6, ptr %t7 %t9 = load ptr, ptr %t7 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 0 %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 %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t7 %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1 %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 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t8 br label %scend1 scend1: %t23 = load i32, ptr %t8 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 %t36 = 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 ptr, ptr %t17, i32 %t18 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 3 %t22 = load i32, ptr %t21 store i32 %t22, ptr %t4 br label %ifend5 ifend5: br label %ifend2 ifend2: %t23 = load ptr, ptr %t2 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: store ptr @.str8, ptr %t2 br label %ifend8 ifend8: %t27 = load ptr, ptr %t2 %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str9) %t29 = load i32, ptr %t4 %t30 = call ptr @lp_int_str(i32 %t29) %t31 = call ptr @lp_str_concat(ptr %t28, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str10) %t33 = load ptr, ptr %t0 %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11) store ptr %t35, ptr %t36 %t37 = load ptr, ptr @__stderrp %t38 = load ptr, ptr %t36 %t39 = load ptr, ptr %t36 %t40 = call i64 @strlen(ptr %t39) %t41 = trunc i64 %t40 to i32 %t42 = zext i32 %t41 to i64 %t43 = call i64 @fwrite(ptr %t38, i64 1, i64 %t42, ptr %t37) %t44 = trunc i64 %t43 to i32 call void @exit(i32 1) unreachable ret: ret void } define ptr @fn_tok_desc() { entry: %retval = alloca ptr %t6 = alloca ptr %t19 = 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 5 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: store ptr @.str12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t6 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 4 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: store ptr @.str13, ptr %retval br label %ret ifend5: %t20 = load ptr, ptr %t6 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 1 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t19 br i1 %t25, label %scend7, label %sc6 sc6: %t27 = load ptr, ptr %t6 %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 6 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t19 br label %scend7 scend7: %t34 = load i32, ptr %t19 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load ptr, ptr %t6 %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 2 %t38 = load i32, ptr %t37 %t39 = call ptr @fn_itoa(i32 %t38) %t40 = call ptr @lp_str_concat(ptr @.str14, ptr %t39) store ptr %t40, ptr %retval br label %ret ifend10: %t41 = load ptr, ptr %t6 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq i32 %t43, 2 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then11, label %ifend13 then11: %t47 = load ptr, ptr %t6 %t48 = getelementptr inbounds %Cmp_Tok, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call ptr @lp_str_concat(ptr @.str15, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str16) store ptr %t51, ptr %retval br label %ret ifend13: %t52 = load ptr, ptr %t6 %t53 = getelementptr inbounds %Cmp_Tok, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 %t55 = call ptr @lp_str_concat(ptr @.str17, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str18) store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } 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 @.str19, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str20) %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 %t6 = 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = call ptr @fn_tok_desc() %t14 = call ptr @lp_str_concat(ptr @.str21, ptr %t13) call void @fn_perr(ptr %t14) br label %ifend2 ifend2: %t15 = load i32, ptr @g_pi %t16 = add i32 %t15, 1 store i32 %t16, ptr @g_pi %t17 = load ptr, ptr %t6 %t18 = getelementptr inbounds %Cmp_Tok, ptr %t17, i32 0, i32 1 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 4 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load i32, ptr @g_pi %t12 = add i32 %t11, 1 store i32 %t12, 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 @.str22) %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 @.str23) %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 %t11 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t48 = alloca ptr store ptr %arg_call, ptr %t0 call void @fn_eat_op(ptr @.str24) call void @fn_skipnl() br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str25) %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 ptr, ptr %t7, i32 %t8 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_toks %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = load i32, ptr @g_pi %t16 = add i32 %t15, 1 %t17 = getelementptr inbounds ptr, ptr %t14, i32 %t16 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t22 = load ptr, ptr %t11 %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 0 %t24 = load i32, 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 %t21 br i1 %t27, label %sc3, label %scend4 sc3: %t29 = load ptr, ptr %t19 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 3 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t21 br label %scend4 scend4: %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 %sc5, label %scend6 sc5: %t39 = load ptr, ptr %t19 %t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str26) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t20 br label %scend6 scend6: %t45 = load i32, ptr %t20 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then7, label %else8 then7: %t47 = call ptr @fn_node(i32 42) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = call ptr @fn_eat_id() store ptr %t51, ptr %t50 call void @fn_eat_op(ptr @.str27) call void @fn_skipnl() %t52 = load ptr, ptr %t48 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = call ptr @fn_expr() store ptr %t54, ptr %t53 %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 %t57 = load ptr, ptr %t56 %t58 = load ptr, ptr %t48 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t62 = load i32, ptr %t59 %t63 = load i32, ptr %t60 %t64 = icmp sge i32 %t62, %t63 br i1 %t64, label %grow10, label %put11 grow10: %t65 = mul i32 %t63, 2 %t66 = icmp eq i32 %t63, 0 %t67 = select i1 %t66, i32 8, i32 %t65 %t68 = getelementptr ptr, ptr null, i32 1 %t69 = ptrtoint ptr %t68 to i64 %t70 = zext i32 %t67 to i64 %t71 = mul i64 %t70, %t69 %t72 = load ptr, ptr %t61 %t73 = call ptr @realloc(ptr %t72, i64 %t71) store ptr %t73, ptr %t61 store i32 %t67, ptr %t60 br label %put11 put11: %t74 = load ptr, ptr %t61 %t75 = getelementptr inbounds ptr, ptr %t74, i32 %t62 store ptr %t58, ptr %t75 %t76 = add i32 %t62, 1 store i32 %t76, ptr %t59 br label %ifend9 else8: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_expr() %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 %grow12, label %put13 grow12: %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 %put13 put13: %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 br label %ifend9 ifend9: call void @fn_skipnl() %t99 = call i32 @fn_is_op(ptr @.str28) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then14, label %ifend16 then14: %t101 = load i32, ptr @g_pi %t102 = add i32 %t101, 1 store i32 %t102, ptr @g_pi call void @fn_skipnl() br label %ifend16 ifend16: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str29) 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 @.str30, 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 @.str31, 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 @.str32) call void @fn_skipnl() br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str33) %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 @.str34) %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 @.str35) %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 @.str36) %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 ptr, ptr %t6, i32 %t7 %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 %t3 call void @fn_eat_op(ptr @.str37) call void @fn_skipnl() br label %wcond0 wcond0: %t12 = call i32 @fn_is_op(ptr @.str38) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = call ptr @fn_expr() %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 %grow3, label %put4 grow3: %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 %put4 put4: %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 call void @fn_skipnl() %t38 = call i32 @fn_is_op(ptr @.str39) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then5, label %ifend7 then5: %t40 = load i32, ptr @g_pi %t41 = add i32 %t40, 1 store i32 %t41, ptr @g_pi call void @fn_skipnl() br label %ifend7 ifend7: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str40) %t42 = load ptr, ptr %t1 store ptr %t42, ptr %retval br label %ret ret: %t43 = load ptr, ptr %retval ret ptr %t43 } define ptr @fn_p_primary() { entry: %retval = alloca ptr %t6 = alloca ptr %t25 = alloca i32 %t26 = alloca i32 %t66 = alloca ptr %t82 = alloca ptr %t103 = alloca ptr %t124 = alloca ptr %t136 = alloca ptr %t158 = alloca ptr %t174 = alloca i32 %t175 = alloca i32 %t176 = alloca i32 %t177 = alloca i32 %t178 = alloca i32 %t179 = alloca i32 %t180 = alloca i32 %t309 = alloca ptr %t327 = alloca ptr %t347 = alloca ptr %t361 = 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 7 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load i32, ptr @g_pi %t14 = add i32 %t13, 1 store i32 %t14, ptr @g_pi %t15 = load ptr, ptr %t6 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 3 %t17 = load i32, ptr %t16 store i32 %t17, ptr @g_g_interp_line %t18 = load ptr, ptr %t6 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_parse_interp(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend2: %t22 = call i32 @fn_is_op(ptr @.str41) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = call ptr @fn_parse_list() store ptr %t24, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t6 %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 0 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t26 br i1 %t32, label %sc6, label %scend7 sc6: %t34 = load ptr, ptr %t6 %t35 = getelementptr inbounds %Cmp_Tok, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str42) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t26 br label %scend7 scend7: %t40 = load i32, ptr %t26 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t25 br i1 %t41, label %sc8, label %scend9 sc8: %t43 = load ptr, ptr @g_toks %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr @g_pi %t47 = add i32 %t46, 1 %t48 = getelementptr inbounds ptr, ptr %t45, i32 %t47 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Tok, ptr %t49, i32 0, i32 0 %t51 = load i32, ptr %t50 %t52 = icmp eq i32 %t51, 0 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t25 br label %scend9 scend9: %t56 = load i32, ptr %t25 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then10, label %ifend12 then10: %t58 = call ptr @fn_parse_emit() store ptr %t58, ptr %retval br label %ret ifend12: %t59 = load ptr, ptr %t6 %t60 = getelementptr inbounds %Cmp_Tok, ptr %t59, i32 0, i32 0 %t61 = load i32, ptr %t60 %t62 = icmp eq i32 %t61, 1 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then13, label %ifend15 then13: %t65 = call ptr @fn_node(i32 30) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 2 %t69 = load ptr, ptr %t6 %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 2 %t71 = load i32, ptr %t70 store i32 %t71, ptr %t68 %t72 = load i32, ptr @g_pi %t73 = add i32 %t72, 1 store i32 %t73, ptr @g_pi %t74 = load ptr, ptr %t66 store ptr %t74, ptr %retval br label %ret ifend15: %t75 = load ptr, ptr %t6 %t76 = getelementptr inbounds %Cmp_Tok, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 6 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then16, label %ifend18 then16: %t81 = call ptr @fn_node(i32 40) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load ptr, ptr %t6 %t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 2 %t87 = load i32, ptr %t86 store i32 %t87, ptr %t84 %t88 = load ptr, ptr %t82 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t6 %t91 = getelementptr inbounds %Cmp_Tok, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 store ptr %t92, ptr %t89 %t93 = load i32, ptr @g_pi %t94 = add i32 %t93, 1 store i32 %t94, ptr @g_pi %t95 = load ptr, ptr %t82 store ptr %t95, ptr %retval br label %ret ifend18: %t96 = load ptr, ptr %t6 %t97 = getelementptr inbounds %Cmp_Tok, ptr %t96, i32 0, i32 0 %t98 = load i32, ptr %t97 %t99 = icmp eq i32 %t98, 2 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then19, label %ifend21 then19: %t102 = call ptr @fn_node(i32 31) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t6 %t107 = getelementptr inbounds %Cmp_Tok, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t105 %t109 = load i32, ptr @g_pi %t110 = add i32 %t109, 1 store i32 %t110, ptr @g_pi %t111 = load ptr, ptr %t103 store ptr %t111, ptr %retval br label %ret ifend21: %t112 = load ptr, ptr %t6 %t113 = getelementptr inbounds %Cmp_Tok, ptr %t112, i32 0, i32 0 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 0 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then22, label %ifend24 then22: %t118 = load ptr, ptr %t6 %t119 = getelementptr inbounds %Cmp_Tok, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str43) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then25, label %ifend27 then25: %t123 = call ptr @fn_node(i32 32) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 2 store i32 1, ptr %t126 %t127 = load i32, ptr @g_pi %t128 = add i32 %t127, 1 store i32 %t128, ptr @g_pi %t129 = load ptr, ptr %t124 store ptr %t129, ptr %retval br label %ret ifend27: %t130 = load ptr, ptr %t6 %t131 = getelementptr inbounds %Cmp_Tok, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str44) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then28, label %ifend30 then28: %t135 = call ptr @fn_node(i32 32) store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 2 store i32 0, ptr %t138 %t139 = load i32, ptr @g_pi %t140 = add i32 %t139, 1 store i32 %t140, ptr @g_pi %t141 = load ptr, ptr %t136 store ptr %t141, ptr %retval br label %ret ifend30: %t142 = load ptr, ptr %t6 %t143 = getelementptr inbounds %Cmp_Tok, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str45) %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then31, label %ifend33 then31: %t147 = load i32, ptr @g_pi %t148 = add i32 %t147, 1 store i32 %t148, ptr @g_pi %t149 = call ptr @fn_node(i32 43) store ptr %t149, ptr %retval br label %ret ifend33: %t150 = load ptr, ptr %t6 %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 @.str46) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then34, label %ifend36 then34: %t155 = load i32, ptr @g_pi %t156 = add i32 %t155, 1 store i32 %t156, ptr @g_pi %t157 = call ptr @fn_node(i32 39) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = call ptr @fn_ptype() store ptr %t161, ptr %t160 %t162 = call i32 @fn_is_op(ptr @.str47) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then37, label %ifend39 then37: %t164 = load ptr, ptr %t158 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 %t166 = call ptr @fn_record() store ptr %t166, ptr %t165 br label %ifend39 ifend39: %t167 = load ptr, ptr %t158 store ptr %t167, ptr %retval br label %ret ifend36: %t168 = load ptr, ptr %t6 %t169 = getelementptr inbounds %Cmp_Tok, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str48) %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then40, label %ifend42 then40: %t173 = call ptr @fn_parse_spawn() store ptr %t173, ptr %retval br label %ret ifend42: %t181 = load ptr, ptr %t6 %t182 = getelementptr inbounds %Cmp_Tok, ptr %t181, i32 0, i32 1 %t183 = load ptr, ptr %t182 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str49) %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t180 br i1 %t185, label %sc43, label %scend44 sc43: %t187 = load ptr, ptr @g_toks %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = load i32, ptr @g_pi %t191 = add i32 %t190, 1 %t192 = getelementptr inbounds ptr, ptr %t189, i32 %t191 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Tok, ptr %t193, i32 0, i32 0 %t195 = load i32, ptr %t194 %t196 = icmp eq i32 %t195, 0 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t180 br label %scend44 scend44: %t200 = load i32, ptr %t180 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t179 br i1 %t201, label %sc45, label %scend46 sc45: %t203 = load ptr, ptr @g_toks %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = load i32, ptr @g_pi %t207 = add i32 %t206, 1 %t208 = getelementptr inbounds ptr, ptr %t205, i32 %t207 %t209 = load ptr, ptr %t208 %t210 = getelementptr inbounds %Cmp_Tok, ptr %t209, i32 0, i32 3 %t211 = load i32, ptr %t210 %t212 = load ptr, ptr %t6 %t213 = getelementptr inbounds %Cmp_Tok, ptr %t212, i32 0, i32 3 %t214 = load i32, ptr %t213 %t215 = icmp eq i32 %t211, %t214 %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t179 br label %scend46 scend46: %t219 = load i32, ptr %t179 %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t178 br i1 %t220, label %sc47, label %scend48 sc47: %t222 = load ptr, ptr @g_toks %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = load i32, ptr @g_pi %t226 = add i32 %t225, 1 %t227 = getelementptr inbounds ptr, ptr %t224, i32 %t226 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %Cmp_Tok, ptr %t228, i32 0, i32 1 %t230 = load ptr, ptr %t229 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str50) %t232 = icmp eq i32 %t231, 0 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 %t235 = zext i1 %t234 to i32 store i32 %t235, ptr %t178 br label %scend48 scend48: %t236 = load i32, ptr %t178 %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t177 br i1 %t237, label %sc49, label %scend50 sc49: %t239 = load ptr, ptr @g_toks %t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = load i32, ptr @g_pi %t243 = add i32 %t242, 1 %t244 = getelementptr inbounds ptr, ptr %t241, i32 %t243 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %Cmp_Tok, ptr %t245, i32 0, i32 1 %t247 = load ptr, ptr %t246 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str51) %t249 = icmp eq i32 %t248, 0 %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 %t252 = zext i1 %t251 to i32 store i32 %t252, ptr %t177 br label %scend50 scend50: %t253 = load i32, ptr %t177 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t176 br i1 %t254, label %sc51, label %scend52 sc51: %t256 = load ptr, ptr @g_toks %t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = load i32, ptr @g_pi %t260 = add i32 %t259, 1 %t261 = getelementptr inbounds ptr, ptr %t258, i32 %t260 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %Cmp_Tok, ptr %t262, i32 0, i32 1 %t264 = load ptr, ptr %t263 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str52) %t266 = icmp eq i32 %t265, 0 %t267 = zext i1 %t266 to i32 %t268 = icmp ne i32 %t267, 0 %t269 = zext i1 %t268 to i32 store i32 %t269, ptr %t176 br label %scend52 scend52: %t270 = load i32, ptr %t176 %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t175 br i1 %t271, label %sc53, label %scend54 sc53: %t273 = load ptr, ptr @g_toks %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = load i32, ptr @g_pi %t277 = add i32 %t276, 1 %t278 = getelementptr inbounds ptr, ptr %t275, i32 %t277 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %Cmp_Tok, ptr %t279, i32 0, i32 1 %t281 = load ptr, ptr %t280 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str53) %t283 = icmp eq i32 %t282, 0 %t284 = zext i1 %t283 to i32 %t285 = icmp ne i32 %t284, 0 %t286 = zext i1 %t285 to i32 store i32 %t286, ptr %t175 br label %scend54 scend54: %t287 = load i32, ptr %t175 %t288 = icmp ne i32 %t287, 0 %t289 = zext i1 %t288 to i32 store i32 %t289, ptr %t174 br i1 %t288, label %sc55, label %scend56 sc55: %t290 = load ptr, ptr @g_toks %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = load i32, ptr @g_pi %t294 = add i32 %t293, 1 %t295 = getelementptr inbounds ptr, ptr %t292, i32 %t294 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %Cmp_Tok, ptr %t296, i32 0, i32 1 %t298 = load ptr, ptr %t297 %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str54) %t300 = icmp eq i32 %t299, 0 %t301 = zext i1 %t300 to i32 %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t174 br label %scend56 scend56: %t304 = load i32, ptr %t174 %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then57, label %ifend59 then57: %t306 = load i32, ptr @g_pi %t307 = add i32 %t306, 1 store i32 %t307, ptr @g_pi %t308 = call ptr @fn_node(i32 55) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 8 %t312 = load ptr, ptr %t6 %t313 = getelementptr inbounds %Cmp_Tok, ptr %t312, i32 0, i32 3 %t314 = load i32, ptr %t313 store i32 %t314, ptr %t311 %t315 = load ptr, ptr %t309 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 1 %t317 = call ptr @fn_eat_id() store ptr %t317, ptr %t316 %t318 = load ptr, ptr %t309 store ptr %t318, ptr %retval br label %ret ifend59: %t319 = load ptr, ptr %t6 %t320 = getelementptr inbounds %Cmp_Tok, ptr %t319, i32 0, i32 1 %t321 = load ptr, ptr %t320 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str55) %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then60, label %ifend62 then60: %t324 = load i32, ptr @g_pi %t325 = add i32 %t324, 1 store i32 %t325, ptr @g_pi %t326 = call ptr @fn_node(i32 52) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 8 %t330 = load ptr, ptr %t6 %t331 = getelementptr inbounds %Cmp_Tok, ptr %t330, i32 0, i32 3 %t332 = load i32, ptr %t331 store i32 %t332, ptr %t329 %t333 = load ptr, ptr %t327 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 4 %t335 = call ptr @fn_expr() store ptr %t335, ptr %t334 call void @fn_skipnl() %t336 = call i32 @fn_is_id(ptr @.str56) %t337 = icmp eq i32 %t336, 0 %t338 = zext i1 %t337 to i32 %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then63, label %ifend65 then63: call void @fn_perr(ptr @.str57) br label %ifend65 ifend65: %t340 = load i32, ptr @g_pi %t341 = add i32 %t340, 1 store i32 %t341, ptr @g_pi call void @fn_skipnl() %t342 = load ptr, ptr %t327 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 5 %t344 = call ptr @fn_block() store ptr %t344, ptr %t343 %t345 = load ptr, ptr %t327 store ptr %t345, ptr %retval br label %ret ifend62: %t346 = call ptr @fn_node(i32 33) store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1 %t350 = load ptr, ptr %t6 %t351 = getelementptr inbounds %Cmp_Tok, ptr %t350, i32 0, i32 1 %t352 = load ptr, ptr %t351 store ptr %t352, ptr %t349 %t353 = load i32, ptr @g_pi %t354 = add i32 %t353, 1 store i32 %t354, ptr @g_pi %t355 = load ptr, ptr %t347 store ptr %t355, ptr %retval br label %ret ifend24: %t356 = call i32 @fn_is_op(ptr @.str58) %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then66, label %ifend68 then66: %t358 = load i32, ptr @g_pi %t359 = add i32 %t358, 1 store i32 %t359, ptr @g_pi call void @fn_skipnl() %t360 = call ptr @fn_expr() store ptr %t360, ptr %t361 call void @fn_skipnl() call void @fn_eat_op(ptr @.str59) %t362 = load ptr, ptr %t361 store ptr %t362, ptr %retval br label %ret ifend68: call void @fn_perr(ptr @.str60) %t363 = call ptr @fn_node(i32 30) store ptr %t363, ptr %retval br label %ret ret: %t364 = load ptr, ptr %retval ret ptr %t364 } 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 %t1131 = alloca i32 %t1152 = alloca i32 %t1153 = alloca i32 %t1154 = alloca i32 %t1155 = alloca i32 %t1156 = alloca i32 %t1210 = alloca i32 %t1235 = alloca ptr %t1241 = alloca ptr %t1253 = alloca ptr %t1264 = alloca ptr %t1280 = alloca i32 %t1290 = 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 @.str61) %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 @.str62) %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 @.str63) %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 @.str64) %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 @.str65) %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 @.str66) %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 @.str67) %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 @.str68) %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 @.str69) %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 @.str70) %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 @.str71) %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 @.str72) %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 @.str73) %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 @.str74) %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 @.str75) %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 @.str76) %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 @.str77) %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 @.str78) %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 @.str79) %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 @.str80) %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 @.str81) %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 @.str82) %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 @.str83) %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 @.str84) %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 @.str85) %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 @.str86) %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 @.str87) %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 @.str88) %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 @.str89) %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 @.str90) %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 @.str91) %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 @.str92) %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 @.str93) %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 @.str94) %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 @.str95) %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 @.str96) %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 @.str97) %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 @.str98) %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 @.str99) %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 @.str100) %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 @.str101) %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 @.str102) %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 @.str103) %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 @.str104) %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 @.str105) %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 @.str106) %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 @.str107) %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 @.str108) %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 @.str109) %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 @.str110) %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 @.str111) %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 @.str112) %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 @.str113) %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 @.str114) %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 @.str115) %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 @.str116) %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 @.str117) %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 @.str118) %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 @.str119) %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 @.str120) %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 @.str121) %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 @.str122) %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 @.str123) %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 @.str124) %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 @.str125) %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 @.str126) %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 @.str127) %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 @.str128) %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 @.str129) %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 @.str130) %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 @.str131) %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 @.str132) %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 @.str133) %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 @.str134) %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 @.str135) %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 @.str136) %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 @.str137) %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 @.str138) %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 @.str139) %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 @.str140) %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 @.str141) %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 @.str142) %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 @.str143) %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 @.str144) %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 @.str145) %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 @.str146) %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_gl 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 @.str147) %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_vk br label %ifend249 ifend249: %t1132 = load ptr, ptr %t1 %t1133 = getelementptr inbounds %Cmp_Node, ptr %t1132, i32 0, i32 4 %t1134 = load ptr, ptr %t1133 %t1135 = getelementptr inbounds %Cmp_Node, ptr %t1134, i32 0, i32 0 %t1136 = load i32, ptr %t1135 %t1137 = icmp eq i32 %t1136, 33 %t1138 = zext i1 %t1137 to i32 %t1139 = icmp ne i32 %t1138, 0 %t1140 = zext i1 %t1139 to i32 store i32 %t1140, ptr %t1131 br i1 %t1139, label %sc250, label %scend251 sc250: %t1141 = load ptr, ptr %t1 %t1142 = getelementptr inbounds %Cmp_Node, ptr %t1141, i32 0, i32 4 %t1143 = load ptr, ptr %t1142 %t1144 = getelementptr inbounds %Cmp_Node, ptr %t1143, i32 0, i32 1 %t1145 = load ptr, ptr %t1144 %t1146 = call i32 @lp_str_eq(ptr %t1145, ptr @.str148) %t1147 = icmp ne i32 %t1146, 0 %t1148 = zext i1 %t1147 to i32 store i32 %t1148, ptr %t1131 br label %scend251 scend251: %t1149 = load i32, ptr %t1131 %t1150 = icmp ne i32 %t1149, 0 %t1151 = zext i1 %t1150 to i32 store i32 %t1151, ptr %t1130 br i1 %t1150, label %sc252, label %scend253 sc252: %t1157 = load ptr, ptr %t1 %t1158 = getelementptr inbounds %Cmp_Node, ptr %t1157, i32 0, i32 1 %t1159 = load ptr, ptr %t1158 %t1160 = call i32 @lp_str_eq(ptr %t1159, ptr @.str149) %t1161 = icmp ne i32 %t1160, 0 %t1162 = zext i1 %t1161 to i32 store i32 %t1162, ptr %t1156 br i1 %t1161, label %scend255, label %sc254 sc254: %t1163 = load ptr, ptr %t1 %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 @.str150) %t1167 = icmp ne i32 %t1166, 0 %t1168 = zext i1 %t1167 to i32 store i32 %t1168, ptr %t1156 br label %scend255 scend255: %t1169 = load i32, ptr %t1156 %t1170 = icmp ne i32 %t1169, 0 %t1171 = zext i1 %t1170 to i32 store i32 %t1171, ptr %t1155 br i1 %t1170, label %scend257, label %sc256 sc256: %t1172 = load ptr, ptr %t1 %t1173 = getelementptr inbounds %Cmp_Node, ptr %t1172, i32 0, i32 1 %t1174 = load ptr, ptr %t1173 %t1175 = call i32 @lp_str_eq(ptr %t1174, ptr @.str151) %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1155 br label %scend257 scend257: %t1178 = load i32, ptr %t1155 %t1179 = icmp ne i32 %t1178, 0 %t1180 = zext i1 %t1179 to i32 store i32 %t1180, ptr %t1154 br i1 %t1179, label %scend259, label %sc258 sc258: %t1181 = load ptr, ptr %t1 %t1182 = getelementptr inbounds %Cmp_Node, ptr %t1181, i32 0, i32 1 %t1183 = load ptr, ptr %t1182 %t1184 = call i32 @lp_str_eq(ptr %t1183, ptr @.str152) %t1185 = icmp ne i32 %t1184, 0 %t1186 = zext i1 %t1185 to i32 store i32 %t1186, ptr %t1154 br label %scend259 scend259: %t1187 = load i32, ptr %t1154 %t1188 = icmp ne i32 %t1187, 0 %t1189 = zext i1 %t1188 to i32 store i32 %t1189, ptr %t1153 br i1 %t1188, label %scend261, label %sc260 sc260: %t1190 = load ptr, ptr %t1 %t1191 = getelementptr inbounds %Cmp_Node, ptr %t1190, i32 0, i32 1 %t1192 = load ptr, ptr %t1191 %t1193 = call i32 @lp_str_eq(ptr %t1192, ptr @.str153) %t1194 = icmp ne i32 %t1193, 0 %t1195 = zext i1 %t1194 to i32 store i32 %t1195, ptr %t1153 br label %scend261 scend261: %t1196 = load i32, ptr %t1153 %t1197 = icmp ne i32 %t1196, 0 %t1198 = zext i1 %t1197 to i32 store i32 %t1198, ptr %t1152 br i1 %t1197, label %scend263, label %sc262 sc262: %t1199 = load ptr, ptr %t1 %t1200 = getelementptr inbounds %Cmp_Node, ptr %t1199, i32 0, i32 1 %t1201 = load ptr, ptr %t1200 %t1202 = call i32 @lp_str_eq(ptr %t1201, ptr @.str154) %t1203 = icmp ne i32 %t1202, 0 %t1204 = zext i1 %t1203 to i32 store i32 %t1204, ptr %t1152 br label %scend263 scend263: %t1205 = load i32, ptr %t1152 %t1206 = icmp ne i32 %t1205, 0 %t1207 = zext i1 %t1206 to i32 store i32 %t1207, ptr %t1130 br label %scend253 scend253: %t1208 = load i32, ptr %t1130 %t1209 = icmp ne i32 %t1208, 0 br i1 %t1209, label %then264, label %ifend266 then264: store i32 1, ptr @g_g_uses_tween_rt br label %ifend266 ifend266: %t1211 = load ptr, ptr %t1 %t1212 = getelementptr inbounds %Cmp_Node, ptr %t1211, i32 0, i32 4 %t1213 = load ptr, ptr %t1212 %t1214 = getelementptr inbounds %Cmp_Node, ptr %t1213, i32 0, i32 0 %t1215 = load i32, ptr %t1214 %t1216 = icmp eq i32 %t1215, 33 %t1217 = zext i1 %t1216 to i32 %t1218 = icmp ne i32 %t1217, 0 %t1219 = zext i1 %t1218 to i32 store i32 %t1219, ptr %t1210 br i1 %t1218, label %sc267, label %scend268 sc267: %t1220 = load ptr, ptr %t1 %t1221 = getelementptr inbounds %Cmp_Node, ptr %t1220, i32 0, i32 4 %t1222 = load ptr, ptr %t1221 %t1223 = getelementptr inbounds %Cmp_Node, ptr %t1222, i32 0, i32 1 %t1224 = load ptr, ptr %t1223 %t1225 = call i32 @lp_str_eq(ptr %t1224, ptr @.str155) %t1226 = icmp ne i32 %t1225, 0 %t1227 = zext i1 %t1226 to i32 store i32 %t1227, ptr %t1210 br label %scend268 scend268: %t1228 = load i32, ptr %t1210 %t1229 = icmp ne i32 %t1228, 0 br i1 %t1229, label %then269, label %ifend271 then269: store i32 1, ptr @g_g_uses_fx br label %ifend271 ifend271: br label %ifend5 else4: %t1230 = call i32 @fn_is_op(ptr @.str156) %t1231 = icmp ne i32 %t1230, 0 br i1 %t1231, label %then272, label %else273 then272: %t1232 = load i32, ptr @g_pi %t1233 = add i32 %t1232, 1 store i32 %t1233, ptr @g_pi %t1234 = call ptr @fn_expr() store ptr %t1234, ptr %t1235 %t1236 = call i32 @fn_is_op(ptr @.str157) %t1237 = icmp ne i32 %t1236, 0 br i1 %t1237, label %then275, label %else276 then275: %t1238 = load i32, ptr @g_pi %t1239 = add i32 %t1238, 1 store i32 %t1239, ptr @g_pi %t1240 = call ptr @fn_node(i32 44) store ptr %t1240, ptr %t1241 %t1242 = load ptr, ptr %t1241 %t1243 = getelementptr inbounds %Cmp_Node, ptr %t1242, i32 0, i32 4 %t1244 = load ptr, ptr %t1 store ptr %t1244, ptr %t1243 %t1245 = load ptr, ptr %t1241 %t1246 = getelementptr inbounds %Cmp_Node, ptr %t1245, i32 0, i32 5 %t1247 = load ptr, ptr %t1235 store ptr %t1247, ptr %t1246 %t1248 = load ptr, ptr %t1241 %t1249 = getelementptr inbounds %Cmp_Node, ptr %t1248, i32 0, i32 6 %t1250 = call ptr @fn_expr() store ptr %t1250, ptr %t1249 call void @fn_eat_op(ptr @.str158) %t1251 = load ptr, ptr %t1241 store ptr %t1251, ptr %t1 br label %ifend277 else276: %t1252 = call ptr @fn_node(i32 36) store ptr %t1252, ptr %t1253 %t1254 = load ptr, ptr %t1253 %t1255 = getelementptr inbounds %Cmp_Node, ptr %t1254, i32 0, i32 4 %t1256 = load ptr, ptr %t1 store ptr %t1256, ptr %t1255 %t1257 = load ptr, ptr %t1253 %t1258 = getelementptr inbounds %Cmp_Node, ptr %t1257, i32 0, i32 5 %t1259 = load ptr, ptr %t1235 store ptr %t1259, ptr %t1258 call void @fn_eat_op(ptr @.str159) %t1260 = load ptr, ptr %t1253 store ptr %t1260, ptr %t1 br label %ifend277 ifend277: br label %ifend274 else273: %t1261 = call i32 @fn_is_op(ptr @.str160) %t1262 = icmp ne i32 %t1261, 0 br i1 %t1262, label %then278, label %else279 then278: %t1263 = call ptr @fn_node(i32 34) store ptr %t1263, ptr %t1264 %t1265 = load ptr, ptr %t1264 %t1266 = getelementptr inbounds %Cmp_Node, ptr %t1265, i32 0, i32 4 %t1267 = load ptr, ptr %t1 store ptr %t1267, ptr %t1266 %t1268 = load ptr, ptr %t1264 %t1269 = getelementptr inbounds %Cmp_Node, ptr %t1268, i32 0, i32 8 %t1270 = load ptr, ptr @g_toks %t1271 = getelementptr inbounds %LSlice, ptr %t1270, i32 0, i32 0 %t1272 = load ptr, ptr %t1271 %t1273 = load i32, ptr @g_pi %t1274 = getelementptr inbounds ptr, ptr %t1272, i32 %t1273 %t1275 = load ptr, ptr %t1274 %t1276 = getelementptr inbounds %Cmp_Tok, ptr %t1275, i32 0, i32 3 %t1277 = load i32, ptr %t1276 store i32 %t1277, ptr %t1269 %t1278 = load ptr, ptr %t1264 call void @fn_args_call(ptr %t1278) %t1279 = load ptr, ptr %t1264 store ptr %t1279, ptr %t1 %t1281 = load ptr, ptr %t1264 %t1282 = getelementptr inbounds %Cmp_Node, ptr %t1281, i32 0, i32 4 %t1283 = load ptr, ptr %t1282 %t1284 = getelementptr inbounds %Cmp_Node, ptr %t1283, i32 0, i32 0 %t1285 = load i32, ptr %t1284 %t1286 = icmp eq i32 %t1285, 33 %t1287 = zext i1 %t1286 to i32 %t1288 = icmp ne i32 %t1287, 0 %t1289 = zext i1 %t1288 to i32 store i32 %t1289, ptr %t1280 br i1 %t1288, label %sc281, label %scend282 sc281: %t1291 = load ptr, ptr %t1264 %t1292 = getelementptr inbounds %Cmp_Node, ptr %t1291, i32 0, i32 4 %t1293 = load ptr, ptr %t1292 %t1294 = getelementptr inbounds %Cmp_Node, ptr %t1293, i32 0, i32 1 %t1295 = load ptr, ptr %t1294 %t1296 = call i32 @lp_str_eq(ptr %t1295, ptr @.str161) %t1297 = icmp ne i32 %t1296, 0 %t1298 = zext i1 %t1297 to i32 store i32 %t1298, ptr %t1290 br i1 %t1297, label %scend284, label %sc283 sc283: %t1299 = load ptr, ptr %t1264 %t1300 = getelementptr inbounds %Cmp_Node, ptr %t1299, i32 0, i32 4 %t1301 = load ptr, ptr %t1300 %t1302 = getelementptr inbounds %Cmp_Node, ptr %t1301, i32 0, i32 1 %t1303 = load ptr, ptr %t1302 %t1304 = call i32 @lp_str_eq(ptr %t1303, ptr @.str162) %t1305 = icmp ne i32 %t1304, 0 %t1306 = zext i1 %t1305 to i32 store i32 %t1306, ptr %t1290 br label %scend284 scend284: %t1307 = load i32, ptr %t1290 %t1308 = icmp ne i32 %t1307, 0 %t1309 = zext i1 %t1308 to i32 store i32 %t1309, ptr %t1280 br label %scend282 scend282: %t1310 = load i32, ptr %t1280 %t1311 = icmp ne i32 %t1310, 0 br i1 %t1311, label %then285, label %ifend287 then285: %t1312 = load ptr, ptr %t1264 %t1313 = getelementptr inbounds %Cmp_Node, ptr %t1312, i32 0, i32 4 %t1314 = load ptr, ptr %t1313 %t1315 = getelementptr inbounds %Cmp_Node, ptr %t1314, i32 0, i32 1 %t1316 = load ptr, ptr %t1315 call void @fn_warn_draw_sprite(ptr %t1316) br label %ifend287 ifend287: br label %ifend280 else279: br label %wend2 ifend280: br label %ifend274 ifend274: br label %ifend5 ifend5: br label %wcond0 wend2: %t1317 = load ptr, ptr %t1 store ptr %t1317, ptr %retval br label %ret ret: %t1318 = load ptr, ptr %retval ret ptr %t1318 } 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 @.str163) %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 @.str164, 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 @.str165) %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 @.str166, 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 @.str167) %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 @.str168, 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 %t47 = alloca ptr %t0 = call ptr @fn_p_unary() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str169) %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 @.str170) %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 @.str171) %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 @.str172) %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 @.str173) %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 @.str174) %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 ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load i32, ptr @g_pi %t49 = add i32 %t48, 1 store i32 %t49, ptr @g_pi %t50 = load ptr, ptr %t47 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_p_unary() %t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52) store ptr %t53, ptr %t1 br label %wcond0 wend2: %t54 = load ptr, ptr %t1 store ptr %t54, ptr %retval br label %ret ret: %t55 = load ptr, ptr %retval ret ptr %t55 } define ptr @fn_p_add() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t33 = alloca ptr %t0 = call ptr @fn_p_mul() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t5 = call i32 @fn_is_op(ptr @.str175) %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 @.str176) %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 @.str177) %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 @.str178) %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 ptr, ptr %t27, i32 %t28 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load i32, ptr @g_pi %t35 = add i32 %t34, 1 store i32 %t35, ptr @g_pi %t36 = load ptr, ptr %t33 %t37 = load ptr, ptr %t1 %t38 = call ptr @fn_p_mul() %t39 = call ptr @fn_mkbin(ptr %t36, ptr %t37, ptr %t38) store ptr %t39, ptr %t1 br label %wcond0 wend2: %t40 = load ptr, ptr %t1 store ptr %t40, ptr %retval br label %ret ret: %t41 = load ptr, ptr %retval ret ptr %t41 } 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 %t47 = alloca ptr %t0 = call ptr @fn_p_add() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str179) %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 @.str180) %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 @.str181) %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 @.str182) %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 @.str183) %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 @.str184) %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 ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load i32, ptr @g_pi %t49 = add i32 %t48, 1 store i32 %t49, ptr @g_pi %t50 = load ptr, ptr %t47 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_p_add() %t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52) store ptr %t53, ptr %t1 br label %wcond0 wend2: %t54 = load ptr, ptr %t1 store ptr %t54, ptr %retval br label %ret ret: %t55 = load ptr, ptr %retval ret ptr %t55 } 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 @.str185) %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 @.str186, 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 @.str187) %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 @.str188, 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 @.str189) %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 @.str190) %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 @.str191) %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 @.str192) %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 @.str193) %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 %t37 = alloca i32 call void @fn_skipnl() call void @fn_eat_op(ptr @.str194) %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 @.str195) %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 ptr, ptr %t29, i32 %t30 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Tok, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp eq i32 %t34, 4 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t37 %t38 = call i32 @fn_is_op(ptr @.str196) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: store i32 1, ptr %t37 br label %ifend10 ifend10: %t40 = load i32, ptr %t37 %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: call void @fn_perr(ptr @.str197) br label %ifend13 ifend13: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str198) %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_stmt() { entry: %retval = alloca ptr %t8 = alloca i32 %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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3 %t7 = load i32, ptr %t6 store i32 %t7, ptr %t8 %t9 = call ptr @fn_stmt_body() store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8 %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 %then0, label %ifend2 then0: %t17 = load ptr, ptr %t10 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8 %t19 = load i32, ptr %t8 store i32 %t19, ptr %t18 br label %ifend2 ifend2: %t20 = load ptr, ptr %t10 store ptr %t20, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define ptr @fn_stmt_body() { entry: %retval = alloca ptr %t6 = alloca ptr %t13 = alloca i32 %t28 = alloca i32 %t37 = alloca ptr %t77 = alloca ptr %t78 = alloca i32 %t110 = alloca ptr %t118 = alloca i32 %t141 = alloca ptr %t160 = alloca ptr %t165 = alloca ptr %t190 = alloca ptr %t194 = alloca i32 %t199 = alloca ptr %t201 = alloca ptr %t243 = alloca i32 %t274 = alloca ptr %t287 = alloca ptr %t292 = alloca i32 %t307 = alloca i32 %t316 = alloca ptr %t388 = alloca ptr %t415 = alloca ptr %t461 = alloca ptr %t469 = alloca ptr %t503 = alloca ptr %t553 = alloca ptr %t554 = alloca i32 %t555 = alloca i32 %t556 = alloca i32 %t557 = alloca i32 %t585 = alloca ptr %t616 = 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 %t9 = load i32, 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: %t14 = load ptr, ptr %t6 %t15 = getelementptr inbounds %Cmp_Tok, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str199) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 br i1 %t18, label %scend4, label %sc3 sc3: %t20 = load ptr, ptr %t6 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str200) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t13 br label %scend4 scend4: %t26 = load i32, ptr %t13 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: store i32 0, ptr %t28 %t29 = load ptr, ptr %t6 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str201) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: store i32 1, ptr %t28 br label %ifend10 ifend10: %t34 = load i32, ptr @g_pi %t35 = add i32 %t34, 1 store i32 %t35, ptr @g_pi %t36 = call ptr @fn_node(i32 10) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 2 %t40 = load i32, ptr %t28 store i32 %t40, ptr %t39 %t41 = load ptr, ptr %t37 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8 %t43 = load ptr, ptr @g_toks %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr @g_pi %t47 = getelementptr inbounds ptr, ptr %t45, i32 %t46 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 3 %t50 = load i32, ptr %t49 store i32 %t50, ptr %t42 %t51 = load ptr, ptr %t37 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = call ptr @fn_eat_id() store ptr %t53, ptr %t52 %t54 = call i32 @fn_is_op(ptr @.str202) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then11, label %ifend13 then11: %t56 = load i32, ptr @g_pi %t57 = add i32 %t56, 1 store i32 %t57, ptr @g_pi %t58 = load ptr, ptr %t37 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = call ptr @fn_ptype() store ptr %t60, ptr %t59 br label %ifend13 ifend13: %t61 = call i32 @fn_is_op(ptr @.str203) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then14, label %ifend16 then14: %t63 = load i32, ptr @g_pi %t64 = add i32 %t63, 1 store i32 %t64, ptr @g_pi %t65 = load ptr, ptr %t37 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = call ptr @fn_expr() store ptr %t67, ptr %t66 br label %ifend16 ifend16: %t68 = load ptr, ptr %t37 store ptr %t68, ptr %retval br label %ret ifend7: %t69 = load ptr, ptr %t6 %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str204) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: %t74 = load i32, ptr @g_pi %t75 = add i32 %t74, 1 store i32 %t75, ptr @g_pi %t76 = call ptr @fn_node(i32 15) store ptr %t76, ptr %t77 %t79 = load ptr, ptr @g_toks %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = load i32, ptr @g_pi %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Tok, ptr %t84, i32 0, i32 0 %t86 = load i32, ptr %t85 %t87 = icmp ne i32 %t86, 4 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t78 br i1 %t89, label %sc20, label %scend21 sc20: %t91 = call i32 @fn_is_op(ptr @.str205) %t92 = icmp eq i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t78 br label %scend21 scend21: %t96 = load i32, ptr %t78 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then22, label %ifend24 then22: %t98 = load ptr, ptr %t77 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 %t100 = call ptr @fn_expr() store ptr %t100, ptr %t99 br label %ifend24 ifend24: %t101 = load ptr, ptr %t77 store ptr %t101, ptr %retval br label %ret ifend19: %t102 = load ptr, ptr %t6 %t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str206) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: %t107 = load i32, ptr @g_pi %t108 = add i32 %t107, 1 store i32 %t108, ptr @g_pi %t109 = call ptr @fn_node(i32 12) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = call ptr @fn_expr() store ptr %t113, ptr %t112 %t114 = load ptr, ptr %t110 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5 %t116 = call ptr @fn_block() store ptr %t116, ptr %t115 %t117 = load i32, ptr @g_pi store i32 %t117, ptr %t118 call void @fn_skipnl() %t119 = call i32 @fn_is_id(ptr @.str207) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then28, label %else29 then28: %t121 = load i32, ptr @g_pi %t122 = add i32 %t121, 1 store i32 %t122, ptr @g_pi call void @fn_skipnl() %t123 = call i32 @fn_is_id(ptr @.str208) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then31, label %else32 then31: %t125 = load ptr, ptr %t110 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 6 %t127 = call ptr @fn_stmt() store ptr %t127, ptr %t126 br label %ifend33 else32: %t128 = load ptr, ptr %t110 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 6 %t130 = call ptr @fn_block() store ptr %t130, ptr %t129 br label %ifend33 ifend33: br label %ifend30 else29: %t131 = load i32, ptr %t118 store i32 %t131, ptr @g_pi br label %ifend30 ifend30: %t132 = load ptr, ptr %t110 store ptr %t132, ptr %retval br label %ret ifend27: %t133 = load ptr, ptr %t6 %t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str209) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then34, label %ifend36 then34: %t138 = load i32, ptr @g_pi %t139 = add i32 %t138, 1 store i32 %t139, ptr @g_pi %t140 = call ptr @fn_node(i32 13) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4 %t144 = call ptr @fn_expr() store ptr %t144, ptr %t143 %t145 = load ptr, ptr %t141 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 5 %t147 = call ptr @fn_block() store ptr %t147, ptr %t146 %t148 = load ptr, ptr %t141 store ptr %t148, ptr %retval br label %ret ifend36: %t149 = load ptr, ptr %t6 %t150 = getelementptr inbounds %Cmp_Tok, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str210) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then37, label %ifend39 then37: %t154 = load i32, ptr @g_pi %t155 = add i32 %t154, 1 store i32 %t155, ptr @g_pi %t156 = call i32 @fn_is_op(ptr @.str211) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then40, label %ifend42 then40: %t158 = call ptr @fn_parse_query_for() store ptr %t158, ptr %retval br label %ret ifend42: %t159 = call ptr @fn_node(i32 14) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1 %t163 = call ptr @fn_eat_id() store ptr %t163, ptr %t162 %t164 = call ptr @fn_eat_id() store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t160 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = call ptr @fn_expr() store ptr %t168, ptr %t167 call void @fn_eat_op(ptr @.str212) %t169 = load ptr, ptr %t160 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5 %t171 = call ptr @fn_expr() store ptr %t171, ptr %t170 %t172 = load ptr, ptr %t160 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 6 %t174 = call ptr @fn_block() store ptr %t174, ptr %t173 %t175 = load ptr, ptr %t160 store ptr %t175, ptr %retval br label %ret ifend39: %t176 = load ptr, ptr %t6 %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 @.str213) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then43, label %ifend45 then43: %t181 = call ptr @fn_parse_spawn() store ptr %t181, ptr %retval br label %ret ifend45: %t182 = load ptr, ptr %t6 %t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 1 %t184 = load ptr, ptr %t183 %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str214) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then46, label %ifend48 then46: %t187 = load i32, ptr @g_pi %t188 = add i32 %t187, 1 store i32 %t188, ptr @g_pi %t189 = call ptr @fn_node(i32 24) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4 %t193 = call ptr @fn_expr() store ptr %t193, ptr %t192 call void @fn_skipnl() call void @fn_eat_op(ptr @.str215) store i32 0, ptr %t194 br label %wcond49 wcond49: %t195 = icmp ne i32 1, 0 br i1 %t195, label %wbody50, label %wend51 wbody50: call void @fn_skipnl() %t196 = call i32 @fn_is_op(ptr @.str216) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then52, label %ifend54 then52: br label %wend51 ifend54: %t198 = call ptr @fn_eat_id() store ptr %t198, ptr %t199 %t200 = call ptr @fn_node(i32 25) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 %t204 = call ptr @fn_eat_id() store ptr %t204, ptr %t203 %t205 = call i32 @fn_is_op(ptr @.str217) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then55, label %ifend57 then55: %t207 = load i32, ptr @g_pi %t208 = add i32 %t207, 1 store i32 %t208, ptr @g_pi %t209 = load ptr, ptr %t201 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5 %t211 = call ptr @fn_expr() store ptr %t211, ptr %t210 br label %ifend57 ifend57: %t212 = load ptr, ptr %t201 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 2 %t214 = load i32, ptr %t194 store i32 %t214, ptr %t213 call void @fn_skipnl() %t215 = load ptr, ptr %t201 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 %t217 = call ptr @fn_block() store ptr %t217, ptr %t216 %t218 = load ptr, ptr %t190 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 %t220 = load ptr, ptr %t219 %t221 = load ptr, ptr %t201 %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 2 %t224 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t225 = load i32, ptr %t222 %t226 = load i32, ptr %t223 %t227 = icmp sge i32 %t225, %t226 br i1 %t227, label %grow58, label %put59 grow58: %t228 = mul i32 %t226, 2 %t229 = icmp eq i32 %t226, 0 %t230 = select i1 %t229, i32 8, i32 %t228 %t231 = getelementptr ptr, ptr null, i32 1 %t232 = ptrtoint ptr %t231 to i64 %t233 = zext i32 %t230 to i64 %t234 = mul i64 %t233, %t232 %t235 = load ptr, ptr %t224 %t236 = call ptr @realloc(ptr %t235, i64 %t234) store ptr %t236, ptr %t224 store i32 %t230, ptr %t223 br label %put59 put59: %t237 = load ptr, ptr %t224 %t238 = getelementptr inbounds ptr, ptr %t237, i32 %t225 store ptr %t221, ptr %t238 %t239 = add i32 %t225, 1 store i32 %t239, ptr %t222 %t240 = load i32, ptr %t194 %t241 = add i32 %t240, 1 store i32 %t241, ptr %t194 br label %wcond49 wend51: call void @fn_eat_op(ptr @.str218) %t242 = load ptr, ptr %t190 store ptr %t242, ptr %retval br label %ret ifend48: %t244 = load ptr, ptr %t6 %t245 = getelementptr inbounds %Cmp_Tok, ptr %t244, i32 0, i32 1 %t246 = load ptr, ptr %t245 %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str219) %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t243 br i1 %t248, label %sc60, label %scend61 sc60: %t250 = load ptr, ptr @g_toks %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = load i32, ptr @g_pi %t254 = add i32 %t253, 1 %t255 = getelementptr inbounds ptr, ptr %t252, i32 %t254 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %Cmp_Tok, ptr %t256, i32 0, i32 0 %t258 = load i32, ptr %t257 %t259 = icmp eq i32 %t258, 0 %t260 = zext i1 %t259 to i32 %t261 = icmp ne i32 %t260, 0 %t262 = zext i1 %t261 to i32 store i32 %t262, ptr %t243 br label %scend61 scend61: %t263 = load i32, ptr %t243 %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then62, label %ifend64 then62: %t265 = call ptr @fn_parse_emit() store ptr %t265, ptr %retval br label %ret ifend64: %t266 = load ptr, ptr %t6 %t267 = getelementptr inbounds %Cmp_Tok, ptr %t266, i32 0, i32 1 %t268 = load ptr, ptr %t267 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str220) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then65, label %ifend67 then65: %t271 = load i32, ptr @g_pi %t272 = add i32 %t271, 1 store i32 %t272, ptr @g_pi %t273 = call ptr @fn_node(i32 26) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 %t277 = call ptr @fn_eat_id() store ptr %t277, ptr %t276 %t278 = load ptr, ptr %t274 store ptr %t278, ptr %retval br label %ret ifend67: %t279 = load ptr, ptr %t6 %t280 = getelementptr inbounds %Cmp_Tok, ptr %t279, i32 0, i32 1 %t281 = load ptr, ptr %t280 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str221) %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then68, label %ifend70 then68: %t284 = load i32, ptr @g_pi %t285 = add i32 %t284, 1 store i32 %t285, ptr @g_pi %t286 = call ptr @fn_node(i32 23) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 4 %t290 = call ptr @fn_expr() store ptr %t290, ptr %t289 %t291 = load ptr, ptr %t287 store ptr %t291, ptr %retval br label %ret ifend70: %t293 = load ptr, ptr %t6 %t294 = getelementptr inbounds %Cmp_Tok, ptr %t293, i32 0, i32 1 %t295 = load ptr, ptr %t294 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str222) %t297 = icmp ne i32 %t296, 0 %t298 = zext i1 %t297 to i32 store i32 %t298, ptr %t292 br i1 %t297, label %scend72, label %sc71 sc71: %t299 = load ptr, ptr %t6 %t300 = getelementptr inbounds %Cmp_Tok, ptr %t299, i32 0, i32 1 %t301 = load ptr, ptr %t300 %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str223) %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t292 br label %scend72 scend72: %t305 = load i32, ptr %t292 %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then73, label %ifend75 then73: store i32 0, ptr %t307 %t308 = load ptr, ptr %t6 %t309 = getelementptr inbounds %Cmp_Tok, ptr %t308, i32 0, i32 1 %t310 = load ptr, ptr %t309 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str224) %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then76, label %ifend78 then76: store i32 1, ptr %t307 br label %ifend78 ifend78: %t313 = load i32, ptr @g_pi %t314 = add i32 %t313, 1 store i32 %t314, ptr @g_pi %t315 = call ptr @fn_node(i32 28) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t316 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 2 %t319 = load i32, ptr %t307 store i32 %t319, ptr %t318 %t320 = call i32 @fn_is_id(ptr @.str225) %t321 = icmp ne i32 %t320, 0 br i1 %t321, label %then79, label %ifend81 then79: %t322 = load i32, ptr @g_pi %t323 = add i32 %t322, 1 store i32 %t323, ptr @g_pi %t324 = load ptr, ptr %t316 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 3 store ptr @.str226, ptr %t325 %t326 = load ptr, ptr %t316 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1 %t328 = call ptr @fn_eat_id() store ptr %t328, ptr %t327 %t329 = load ptr, ptr %t316 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 %t331 = load ptr, ptr %t330 call void @fn_note_toggled_layer(ptr %t331) %t332 = load ptr, ptr %t316 store ptr %t332, ptr %retval br label %ret ifend81: %t333 = call i32 @fn_is_id(ptr @.str227) %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then82, label %ifend84 then82: %t335 = load i32, ptr @g_pi %t336 = add i32 %t335, 1 store i32 %t336, ptr @g_pi %t337 = load ptr, ptr %t316 %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 3 store ptr @.str228, ptr %t338 %t339 = load ptr, ptr %t316 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 1 %t341 = call ptr @fn_eat_id() store ptr %t341, ptr %t340 %t342 = load i32, ptr %t307 %t343 = icmp eq i32 %t342, 0 %t344 = zext i1 %t343 to i32 %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then85, label %ifend87 then85: %t346 = load ptr, ptr @g_g_disabled_sys %t347 = load ptr, ptr %t316 %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 1 %t349 = load ptr, ptr %t348 %t350 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 %t351 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 2 %t352 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 %t353 = load i32, ptr %t350 %t354 = load i32, ptr %t351 %t355 = icmp sge i32 %t353, %t354 br i1 %t355, label %grow88, label %put89 grow88: %t356 = mul i32 %t354, 2 %t357 = icmp eq i32 %t354, 0 %t358 = select i1 %t357, i32 8, i32 %t356 %t359 = getelementptr ptr, ptr null, i32 1 %t360 = ptrtoint ptr %t359 to i64 %t361 = zext i32 %t358 to i64 %t362 = mul i64 %t361, %t360 %t363 = load ptr, ptr %t352 %t364 = call ptr @realloc(ptr %t363, i64 %t362) store ptr %t364, ptr %t352 store i32 %t358, ptr %t351 br label %put89 put89: %t365 = load ptr, ptr %t352 %t366 = getelementptr inbounds ptr, ptr %t365, i32 %t353 store ptr %t349, ptr %t366 %t367 = add i32 %t353, 1 store i32 %t367, ptr %t350 br label %ifend87 ifend87: %t368 = load ptr, ptr %t316 store ptr %t368, ptr %retval br label %ret ifend84: %t369 = load ptr, ptr %t316 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1 %t371 = call ptr @fn_eat_id() store ptr %t371, ptr %t370 %t372 = call i32 @fn_is_id(ptr @.str229) %t373 = icmp ne i32 %t372, 0 br i1 %t373, label %then90, label %ifend92 then90: %t374 = load i32, ptr @g_pi %t375 = add i32 %t374, 1 store i32 %t375, ptr @g_pi %t376 = load ptr, ptr %t316 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 4 %t378 = call ptr @fn_expr() store ptr %t378, ptr %t377 br label %ifend92 ifend92: %t379 = load ptr, ptr %t316 store ptr %t379, ptr %retval br label %ret ifend75: %t380 = load ptr, ptr %t6 %t381 = getelementptr inbounds %Cmp_Tok, ptr %t380, i32 0, i32 1 %t382 = load ptr, ptr %t381 %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str230) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then93, label %ifend95 then93: %t385 = load i32, ptr @g_pi %t386 = add i32 %t385, 1 store i32 %t386, ptr @g_pi %t387 = call ptr @fn_node(i32 46) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 1 %t391 = call ptr @fn_eat_id() store ptr %t391, ptr %t390 %t392 = call i32 @fn_is_id(ptr @.str231) %t393 = icmp eq i32 %t392, 0 %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then96, label %ifend98 then96: call void @fn_perr(ptr @.str232) br label %ifend98 ifend98: %t396 = load i32, ptr @g_pi %t397 = add i32 %t396, 1 store i32 %t397, ptr @g_pi %t398 = load ptr, ptr %t388 %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 4 %t400 = call ptr @fn_expr() store ptr %t400, ptr %t399 %t401 = call i32 @fn_is_op(ptr @.str233) %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then99, label %ifend101 then99: %t403 = load ptr, ptr %t388 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 5 %t405 = call ptr @fn_record() store ptr %t405, ptr %t404 br label %ifend101 ifend101: %t406 = load ptr, ptr %t388 store ptr %t406, ptr %retval br label %ret ifend95: %t407 = load ptr, ptr %t6 %t408 = getelementptr inbounds %Cmp_Tok, ptr %t407, i32 0, i32 1 %t409 = load ptr, ptr %t408 %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str234) %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then102, label %ifend104 then102: %t412 = load i32, ptr @g_pi %t413 = add i32 %t412, 1 store i32 %t413, ptr @g_pi %t414 = call ptr @fn_node(i32 47) store ptr %t414, ptr %t415 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 %t418 = call ptr @fn_eat_id() store ptr %t418, ptr %t417 %t419 = call i32 @fn_is_id(ptr @.str235) %t420 = icmp eq i32 %t419, 0 %t421 = zext i1 %t420 to i32 %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then105, label %ifend107 then105: call void @fn_perr(ptr @.str236) br label %ifend107 ifend107: %t423 = load i32, ptr @g_pi %t424 = add i32 %t423, 1 store i32 %t424, ptr @g_pi %t425 = load ptr, ptr %t415 %t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 4 %t427 = call ptr @fn_expr() store ptr %t427, ptr %t426 %t428 = load ptr, ptr %t415 store ptr %t428, ptr %retval br label %ret ifend104: %t429 = load ptr, ptr %t6 %t430 = getelementptr inbounds %Cmp_Tok, ptr %t429, i32 0, i32 1 %t431 = load ptr, ptr %t430 %t432 = call i32 @lp_str_eq(ptr %t431, ptr @.str237) %t433 = icmp ne i32 %t432, 0 br i1 %t433, label %then108, label %ifend110 then108: %t434 = load i32, ptr @g_pi %t435 = add i32 %t434, 1 store i32 %t435, ptr @g_pi %t436 = call ptr @fn_node(i32 17) store ptr %t436, ptr %retval br label %ret ifend110: %t437 = load ptr, ptr %t6 %t438 = getelementptr inbounds %Cmp_Tok, ptr %t437, i32 0, i32 1 %t439 = load ptr, ptr %t438 %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str238) %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then111, label %ifend113 then111: %t442 = load i32, ptr @g_pi %t443 = add i32 %t442, 1 store i32 %t443, ptr @g_pi %t444 = call ptr @fn_node(i32 18) store ptr %t444, ptr %retval br label %ret ifend113: %t445 = load ptr, ptr %t6 %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 @.str239) %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then114, label %ifend116 then114: %t450 = load i32, ptr @g_pi %t451 = add i32 %t450, 1 store i32 %t451, ptr @g_pi %t452 = call ptr @fn_node(i32 50) store ptr %t452, ptr %retval br label %ret ifend116: %t453 = load ptr, ptr %t6 %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 @.str240) %t457 = icmp ne i32 %t456, 0 br i1 %t457, label %then117, label %ifend119 then117: %t458 = load i32, ptr @g_pi %t459 = add i32 %t458, 1 store i32 %t459, ptr @g_pi %t460 = call ptr @fn_node(i32 19) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t461 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 4 %t464 = call ptr @fn_expr() store ptr %t464, ptr %t463 call void @fn_skipnl() call void @fn_eat_op(ptr @.str241) br label %wcond120 wcond120: %t465 = icmp ne i32 1, 0 br i1 %t465, label %wbody121, label %wend122 wbody121: call void @fn_skipnl() %t466 = call i32 @fn_is_op(ptr @.str242) %t467 = icmp ne i32 %t466, 0 br i1 %t467, label %then123, label %ifend125 then123: br label %wend122 ifend125: %t468 = call ptr @fn_node(i32 20) store ptr %t468, ptr %t469 br label %wcond126 wcond126: %t470 = icmp ne i32 1, 0 br i1 %t470, label %wbody127, label %wend128 wbody127: %t471 = load ptr, ptr %t469 %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 7 %t473 = load ptr, ptr %t472 %t474 = call ptr @fn_expr() %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2 %t477 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 %t478 = load i32, ptr %t475 %t479 = load i32, ptr %t476 %t480 = icmp sge i32 %t478, %t479 br i1 %t480, label %grow129, label %put130 grow129: %t481 = mul i32 %t479, 2 %t482 = icmp eq i32 %t479, 0 %t483 = select i1 %t482, i32 8, i32 %t481 %t484 = getelementptr ptr, ptr null, i32 1 %t485 = ptrtoint ptr %t484 to i64 %t486 = zext i32 %t483 to i64 %t487 = mul i64 %t486, %t485 %t488 = load ptr, ptr %t477 %t489 = call ptr @realloc(ptr %t488, i64 %t487) store ptr %t489, ptr %t477 store i32 %t483, ptr %t476 br label %put130 put130: %t490 = load ptr, ptr %t477 %t491 = getelementptr inbounds ptr, ptr %t490, i32 %t478 store ptr %t474, ptr %t491 %t492 = add i32 %t478, 1 store i32 %t492, ptr %t475 %t493 = call i32 @fn_is_op(ptr @.str243) %t494 = icmp ne i32 %t493, 0 br i1 %t494, label %then131, label %ifend133 then131: %t495 = load i32, ptr @g_pi %t496 = add i32 %t495, 1 store i32 %t496, ptr @g_pi call void @fn_skipnl() br label %wcond126 ifend133: br label %wend128 wend128: call void @fn_eat_op(ptr @.str244) call void @fn_skipnl() %t497 = call i32 @fn_is_op(ptr @.str245) %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %then134, label %else135 then134: %t499 = load ptr, ptr %t469 %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 4 %t501 = call ptr @fn_block() store ptr %t501, ptr %t500 br label %ifend136 else135: %t502 = call ptr @fn_node(i32 7) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7 %t506 = load ptr, ptr %t505 %t507 = call ptr @fn_stmt() %t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1 %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2 %t510 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 %t511 = load i32, ptr %t508 %t512 = load i32, ptr %t509 %t513 = icmp sge i32 %t511, %t512 br i1 %t513, label %grow137, label %put138 grow137: %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 %put138 put138: %t523 = load ptr, ptr %t510 %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t511 store ptr %t507, ptr %t524 %t525 = add i32 %t511, 1 store i32 %t525, ptr %t508 %t526 = load ptr, ptr %t469 %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 4 %t528 = load ptr, ptr %t503 store ptr %t528, ptr %t527 br label %ifend136 ifend136: %t529 = load ptr, ptr %t461 %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 %t531 = load ptr, ptr %t530 %t532 = load ptr, ptr %t469 %t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 1 %t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2 %t535 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 %t536 = load i32, ptr %t533 %t537 = load i32, ptr %t534 %t538 = icmp sge i32 %t536, %t537 br i1 %t538, label %grow139, label %put140 grow139: %t539 = mul i32 %t537, 2 %t540 = icmp eq i32 %t537, 0 %t541 = select i1 %t540, i32 8, i32 %t539 %t542 = getelementptr ptr, ptr null, i32 1 %t543 = ptrtoint ptr %t542 to i64 %t544 = zext i32 %t541 to i64 %t545 = mul i64 %t544, %t543 %t546 = load ptr, ptr %t535 %t547 = call ptr @realloc(ptr %t546, i64 %t545) store ptr %t547, ptr %t535 store i32 %t541, ptr %t534 br label %put140 put140: %t548 = load ptr, ptr %t535 %t549 = getelementptr inbounds ptr, ptr %t548, i32 %t536 store ptr %t532, ptr %t549 %t550 = add i32 %t536, 1 store i32 %t550, ptr %t533 br label %wcond120 wend122: call void @fn_eat_op(ptr @.str246) %t551 = load ptr, ptr %t461 store ptr %t551, ptr %retval br label %ret ifend119: br label %ifend2 ifend2: %t552 = call ptr @fn_expr() store ptr %t552, ptr %t553 %t558 = call i32 @fn_is_op(ptr @.str247) %t559 = icmp ne i32 %t558, 0 %t560 = zext i1 %t559 to i32 store i32 %t560, ptr %t557 br i1 %t559, label %scend142, label %sc141 sc141: %t561 = call i32 @fn_is_op(ptr @.str248) %t562 = icmp ne i32 %t561, 0 %t563 = zext i1 %t562 to i32 store i32 %t563, ptr %t557 br label %scend142 scend142: %t564 = load i32, ptr %t557 %t565 = icmp ne i32 %t564, 0 %t566 = zext i1 %t565 to i32 store i32 %t566, ptr %t556 br i1 %t565, label %scend144, label %sc143 sc143: %t567 = call i32 @fn_is_op(ptr @.str249) %t568 = icmp ne i32 %t567, 0 %t569 = zext i1 %t568 to i32 store i32 %t569, ptr %t556 br label %scend144 scend144: %t570 = load i32, ptr %t556 %t571 = icmp ne i32 %t570, 0 %t572 = zext i1 %t571 to i32 store i32 %t572, ptr %t555 br i1 %t571, label %scend146, label %sc145 sc145: %t573 = call i32 @fn_is_op(ptr @.str250) %t574 = icmp ne i32 %t573, 0 %t575 = zext i1 %t574 to i32 store i32 %t575, ptr %t555 br label %scend146 scend146: %t576 = load i32, ptr %t555 %t577 = icmp ne i32 %t576, 0 %t578 = zext i1 %t577 to i32 store i32 %t578, ptr %t554 br i1 %t577, label %scend148, label %sc147 sc147: %t579 = call i32 @fn_is_op(ptr @.str251) %t580 = icmp ne i32 %t579, 0 %t581 = zext i1 %t580 to i32 store i32 %t581, ptr %t554 br label %scend148 scend148: %t582 = load i32, ptr %t554 %t583 = icmp ne i32 %t582, 0 br i1 %t583, label %then149, label %ifend151 then149: %t584 = call ptr @fn_node(i32 11) store ptr %t584, ptr %t585 %t586 = load ptr, ptr %t585 %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 8 %t588 = load ptr, ptr @g_toks %t589 = getelementptr inbounds %LSlice, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 %t591 = load i32, ptr @g_pi %t592 = getelementptr inbounds ptr, ptr %t590, i32 %t591 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %Cmp_Tok, ptr %t593, i32 0, i32 3 %t595 = load i32, ptr %t594 store i32 %t595, ptr %t587 %t596 = load ptr, ptr %t585 %t597 = getelementptr inbounds %Cmp_Node, ptr %t596, i32 0, i32 1 %t598 = load ptr, ptr @g_toks %t599 = getelementptr inbounds %LSlice, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 %t601 = load i32, ptr @g_pi %t602 = getelementptr inbounds ptr, ptr %t600, i32 %t601 %t603 = load ptr, ptr %t602 %t604 = getelementptr inbounds %Cmp_Tok, ptr %t603, i32 0, i32 1 %t605 = load ptr, ptr %t604 store ptr %t605, ptr %t597 %t606 = load i32, ptr @g_pi %t607 = add i32 %t606, 1 store i32 %t607, ptr @g_pi %t608 = load ptr, ptr %t585 %t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 4 %t610 = load ptr, ptr %t553 store ptr %t610, ptr %t609 %t611 = load ptr, ptr %t585 %t612 = getelementptr inbounds %Cmp_Node, ptr %t611, i32 0, i32 5 %t613 = call ptr @fn_expr() store ptr %t613, ptr %t612 %t614 = load ptr, ptr %t585 store ptr %t614, ptr %retval br label %ret ifend151: %t615 = call ptr @fn_node(i32 16) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t616 %t618 = getelementptr inbounds %Cmp_Node, ptr %t617, i32 0, i32 4 %t619 = load ptr, ptr %t553 store ptr %t619, ptr %t618 %t620 = load ptr, ptr %t616 store ptr %t620, ptr %retval br label %ret ret: %t621 = load ptr, ptr %retval ret ptr %t621 } 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 @.str252) %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 @.str253) %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 @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286) %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 @.str287) %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 @.str288) %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 @.str289) %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 @.str290) %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 @.str291) %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 @.str292) %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 @.str293) %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 @.str294) %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 @.str295, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str296) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str297) %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 @.str298) %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 @.str299) %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 @.str300) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str301, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str302) %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 ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t14 %t16 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) %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 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 ptr, ptr %t85, i32 %t86 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr %t1 %t90 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t88, ptr %t89, ptr %t90) %t91 = load i32, ptr %t71 %t92 = add i32 %t91, 1 store i32 %t92, 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 @.str303) 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 @.str304) %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 @.str305) %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 @.str306) %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 @.str307) %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 @.str308) 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 @.str309) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str310) 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 ptr, ptr %t120, i32 %t121 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t109 %t126 = load ptr, ptr %t17 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr %t110 %t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129 %t131 = load ptr, ptr %t130 %t132 = call ptr @lp_str_concat(ptr %t125, ptr %t131) store ptr %t132, ptr %t124 %t133 = load i32, ptr %t110 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t110 br label %wcond18 wend20: store i32 0, ptr %t110 br label %wcond21 wcond21: %t135 = load i32, ptr %t110 %t136 = load ptr, ptr %t10 %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp slt i32 %t135, %t138 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %wbody22, label %wend23 wbody22: %t142 = load ptr, ptr %t10 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr %t110 %t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 4 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t17 %t151 = load ptr, ptr %t109 call void @fn_ns_rewrite_calls(ptr %t149, ptr %t150, ptr %t151) %t152 = load i32, ptr %t110 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t110 br label %wcond21 wend23: %t154 = load ptr, ptr %t3 call void @fn_register_namespace(ptr %t154) %t155 = load ptr, ptr @g_g_ns_blocks %t156 = load ptr, ptr %t3 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t158 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 2 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t160 = load i32, ptr %t157 %t161 = load i32, ptr %t158 %t162 = icmp sge i32 %t160, %t161 br i1 %t162, label %grow24, label %put25 grow24: %t163 = mul i32 %t161, 2 %t164 = icmp eq i32 %t161, 0 %t165 = select i1 %t164, i32 8, i32 %t163 %t166 = getelementptr ptr, ptr null, i32 1 %t167 = ptrtoint ptr %t166 to i64 %t168 = zext i32 %t165 to i64 %t169 = mul i64 %t168, %t167 %t170 = load ptr, ptr %t159 %t171 = call ptr @realloc(ptr %t170, i64 %t169) store ptr %t171, ptr %t159 store i32 %t165, ptr %t158 br label %put25 put25: %t172 = load ptr, ptr %t159 %t173 = getelementptr inbounds ptr, ptr %t172, i32 %t160 store ptr %t156, ptr %t173 %t174 = add i32 %t160, 1 store i32 %t174, ptr %t157 store i32 0, ptr %t110 br label %wcond26 wcond26: %t175 = load i32, ptr %t110 %t176 = load ptr, ptr %t10 %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp slt i32 %t175, %t178 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %wbody27, label %wend28 wbody27: %t182 = load ptr, ptr %t24 %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = load i32, ptr %t110 %t186 = getelementptr inbounds i32, ptr %t184, i32 %t185 %t187 = load i32, ptr %t186 %t188 = icmp eq i32 %t187, 1 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then29, label %ifend31 then29: %t191 = load ptr, ptr @g_g_ns_exports %t192 = load ptr, ptr %t10 %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = load i32, ptr %t110 %t196 = getelementptr inbounds ptr, ptr %t194, i32 %t195 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t201 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 %t202 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t203 = load i32, ptr %t200 %t204 = load i32, ptr %t201 %t205 = icmp sge i32 %t203, %t204 br i1 %t205, label %grow32, label %put33 grow32: %t206 = mul i32 %t204, 2 %t207 = icmp eq i32 %t204, 0 %t208 = select i1 %t207, i32 8, i32 %t206 %t209 = getelementptr ptr, ptr null, i32 1 %t210 = ptrtoint ptr %t209 to i64 %t211 = zext i32 %t208 to i64 %t212 = mul i64 %t211, %t210 %t213 = load ptr, ptr %t202 %t214 = call ptr @realloc(ptr %t213, i64 %t212) store ptr %t214, ptr %t202 store i32 %t208, ptr %t201 br label %put33 put33: %t215 = load ptr, ptr %t202 %t216 = getelementptr inbounds ptr, ptr %t215, i32 %t203 store ptr %t199, ptr %t216 %t217 = add i32 %t203, 1 store i32 %t217, ptr %t200 br label %ifend31 ifend31: %t218 = load ptr, ptr @g_prog %t219 = load ptr, ptr %t10 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = load i32, ptr %t110 %t223 = getelementptr inbounds ptr, ptr %t221, i32 %t222 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t226 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2 %t227 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t228 = load i32, ptr %t225 %t229 = load i32, ptr %t226 %t230 = icmp sge i32 %t228, %t229 br i1 %t230, label %grow34, label %put35 grow34: %t231 = mul i32 %t229, 2 %t232 = icmp eq i32 %t229, 0 %t233 = select i1 %t232, i32 8, i32 %t231 %t234 = getelementptr ptr, ptr null, i32 1 %t235 = ptrtoint ptr %t234 to i64 %t236 = zext i32 %t233 to i64 %t237 = mul i64 %t236, %t235 %t238 = load ptr, ptr %t227 %t239 = call ptr @realloc(ptr %t238, i64 %t237) store ptr %t239, ptr %t227 store i32 %t233, ptr %t226 br label %put35 put35: %t240 = load ptr, ptr %t227 %t241 = getelementptr inbounds ptr, ptr %t240, i32 %t228 store ptr %t224, ptr %t241 %t242 = add i32 %t228, 1 store i32 %t242, ptr %t225 %t243 = load i32, ptr %t110 %t244 = add i32 %t243, 1 store i32 %t244, ptr %t110 br label %wcond26 wend28: br label %ret ret: ret void } define i32 @fn_host_is_windows() { entry: %retval = alloca i32 %t1 = alloca ptr %t0 = call ptr @getenv(ptr @.str311) 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 @.str312) 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 @.str313, 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 @.str314) 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 @.str315, 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 @.str316) %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 @.str317) 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 @.str318, 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 @.str319) 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 @.str320) %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str321) 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 @.str322, 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 @.str323, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str324) 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: %t20 = load ptr, ptr @g_g_namespaces %t21 = load ptr, ptr %t0 %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 %grow6, label %put7 grow6: %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 %put7 put7: %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 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 %t147 = alloca ptr %t157 = alloca ptr %t186 = alloca ptr %t198 = alloca ptr %t201 = alloca i32 %t245 = alloca ptr %t297 = alloca ptr %t442 = alloca ptr %t559 = 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 @.str325) %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 @.str326) %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 @.str327) %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 @.str328) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str329) %t36 = call ptr @fn_eat_id() store ptr %t36, ptr %t9 call void @fn_eat_op(ptr @.str330) br label %ifend11 else10: %t37 = load ptr, ptr %t26 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str331) %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 @.str332) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str333) %t44 = call ptr @fn_eat_id() store ptr %t44, ptr %t2 call void @fn_eat_op(ptr @.str334) br label %ifend17 else16: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str335) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str336) %t48 = call ptr @fn_eat_id() store ptr %t48, ptr %t3 %t49 = call i32 @fn_is_op(ptr @.str337) %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 @.str338) %t54 = call ptr @fn_eat_id() store ptr %t54, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str339) br label %ifend20 else19: %t55 = load ptr, ptr %t26 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str340) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str341) %t58 = call ptr @fn_eat_id() store ptr %t58, ptr %t5 call void @fn_eat_op(ptr @.str342) br label %ifend26 else25: %t59 = load ptr, ptr %t26 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str343) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str344) %t62 = call ptr @fn_eat_id() store ptr %t62, ptr %t6 call void @fn_eat_op(ptr @.str345) br label %ifend29 else28: %t63 = load ptr, ptr %t26 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str346) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str347) %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t7 call void @fn_eat_op(ptr @.str348) br label %ifend32 else31: %t67 = load ptr, ptr %t26 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str349) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str350) %t70 = call ptr @fn_eat_id() store ptr %t70, ptr %t8 call void @fn_eat_op(ptr @.str351) br label %ifend35 else34: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str352) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then36, label %else37 then36: store ptr @.str353, ptr %t11 br label %ifend38 else37: %t74 = load ptr, ptr %t26 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str354) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then39, label %else40 then39: store ptr @.str355, ptr %t11 br label %ifend41 else40: %t77 = load ptr, ptr %t26 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str356) %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 @.str357) %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 @.str358) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then48, label %else49 then48: store ptr @.str359, ptr %t14 br label %ifend50 else49: %t86 = load ptr, ptr %t26 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str360) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then51, label %else52 then51: store ptr @.str361, ptr %t14 br label %ifend53 else52: %t89 = load ptr, ptr %t26 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str362) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then54, label %else55 then54: store ptr @.str363, ptr %t15 br label %ifend56 else55: %t92 = load ptr, ptr %t26 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str364) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then57, label %else58 then57: store ptr @.str365, ptr %t15 br label %ifend59 else58: %t95 = load ptr, ptr %t26 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str366) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then60, label %else61 then60: store ptr @.str367, ptr %t16 %t98 = call i32 @fn_is_op(ptr @.str368) %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 @.str369) br label %ifend65 ifend65: br label %ifend62 else61: %t103 = load ptr, ptr %t26 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str370) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str371) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t17 call void @fn_eat_op(ptr @.str372) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t18 call void @fn_eat_op(ptr @.str373) br label %ifend68 else67: %t108 = load ptr, ptr %t26 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str374) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str375) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t19 call void @fn_eat_op(ptr @.str376) br label %ifend71 else70: %t112 = load ptr, ptr %t26 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str377) %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 @.str378) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then75, label %else76 then75: call void @fn_eat_op(ptr @.str379) %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 @.str380) br label %ifend77 else76: %t119 = call i32 @fn_is_op(ptr @.str381) %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 @.str382) %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 @.str383) %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: %t137 = call i32 @fn_is_id(ptr @.str384) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then93, label %ifend95 then93: %t139 = load i32, ptr @g_pi %t140 = add i32 %t139, 1 store i32 %t140, ptr @g_pi %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 = getelementptr inbounds ptr, ptr %t143, i32 %t144 %t146 = load ptr, ptr %t145 store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %Cmp_Tok, ptr %t148, i32 0, i32 0 %t150 = load i32, ptr %t149 %t151 = icmp ne i32 %t150, 2 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then96, label %ifend98 then96: call void @fn_perr(ptr @.str385) br label %ifend98 ifend98: %t154 = load ptr, ptr %t147 %t155 = getelementptr inbounds %Cmp_Tok, ptr %t154, i32 0, i32 1 %t156 = load ptr, ptr %t155 store ptr %t156, ptr %t157 %t158 = load i32, ptr @g_pi %t159 = add i32 %t158, 1 store i32 %t159, ptr @g_pi %t160 = load ptr, ptr %t157 call void @fn_do_import(ptr %t160) br label %ret ifend95: %t161 = call i32 @fn_is_id(ptr @.str386) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then99, label %ifend101 then99: %t163 = load ptr, ptr @g_prog %t164 = call ptr @fn_parse_enum() %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 %grow102, label %put103 grow102: %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 %put103 put103: %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 br label %ret ifend101: %t183 = call i32 @fn_is_id(ptr @.str387) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then104, label %ifend106 then104: %t185 = call ptr @fn_parse_event() store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t15 %t188 = icmp ne ptr %t187, null %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then107, label %ifend109 then107: %t191 = load ptr, ptr %t186 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 3 %t193 = load ptr, ptr %t15 store ptr %t193, ptr %t192 br label %ifend109 ifend109: %t194 = load ptr, ptr %t186 call void @fn_register_event(ptr %t194) br label %ret ifend106: %t195 = call i32 @fn_is_id(ptr @.str388) %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then110, label %ifend112 then110: %t197 = call ptr @fn_parse_component() store ptr %t197, ptr %t198 %t199 = load i32, ptr %t12 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then113, label %ifend115 then113: store i32 0, ptr %t201 br label %wcond116 wcond116: %t202 = load i32, ptr %t201 %t203 = load ptr, ptr %t198 %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 1 %t207 = load i32, ptr %t206 %t208 = icmp slt i32 %t202, %t207 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %wbody117, label %wend118 wbody117: %t211 = load ptr, ptr %t198 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = load i32, ptr %t201 %t217 = getelementptr inbounds ptr, ptr %t215, i32 %t216 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 2 store i32 1, ptr %t219 %t220 = load i32, ptr %t201 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t201 br label %wcond116 wend118: br label %ifend115 ifend115: %t222 = load ptr, ptr @g_prog %t223 = load ptr, ptr %t198 %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 2 %t226 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t227 = load i32, ptr %t224 %t228 = load i32, ptr %t225 %t229 = icmp sge i32 %t227, %t228 br i1 %t229, label %grow119, label %put120 grow119: %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 %put120 put120: %t239 = load ptr, ptr %t226 %t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227 store ptr %t223, ptr %t240 %t241 = add i32 %t227, 1 store i32 %t241, ptr %t224 br label %ret ifend112: %t242 = call i32 @fn_is_id(ptr @.str389) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then121, label %ifend123 then121: %t244 = call ptr @fn_parse_archetype() store ptr %t244, ptr %t245 %t246 = load i32, ptr %t13 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then124, label %ifend126 then124: %t248 = load ptr, ptr %t245 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 2 store i32 1, ptr %t249 br label %ifend126 ifend126: %t250 = load ptr, ptr @g_prog %t251 = load ptr, ptr %t245 %t252 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 1 %t253 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 2 %t254 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t255 = load i32, ptr %t252 %t256 = load i32, ptr %t253 %t257 = icmp sge i32 %t255, %t256 br i1 %t257, label %grow127, label %put128 grow127: %t258 = mul i32 %t256, 2 %t259 = icmp eq i32 %t256, 0 %t260 = select i1 %t259, i32 8, i32 %t258 %t261 = getelementptr ptr, ptr null, i32 1 %t262 = ptrtoint ptr %t261 to i64 %t263 = zext i32 %t260 to i64 %t264 = mul i64 %t263, %t262 %t265 = load ptr, ptr %t254 %t266 = call ptr @realloc(ptr %t265, i64 %t264) store ptr %t266, ptr %t254 store i32 %t260, ptr %t253 br label %put128 put128: %t267 = load ptr, ptr %t254 %t268 = getelementptr inbounds ptr, ptr %t267, i32 %t255 store ptr %t251, ptr %t268 %t269 = add i32 %t255, 1 store i32 %t269, ptr %t252 br label %ret ifend123: %t270 = call i32 @fn_is_id(ptr @.str390) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then129, label %ifend131 then129: call void @fn_parse_scene() br label %ret ifend131: %t272 = call i32 @fn_is_id(ptr @.str391) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then132, label %ifend134 then132: %t274 = load ptr, ptr @g_prog %t275 = call ptr @fn_parse_prefab() %t276 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 1 %t277 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 2 %t278 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 0 %t279 = load i32, ptr %t276 %t280 = load i32, ptr %t277 %t281 = icmp sge i32 %t279, %t280 br i1 %t281, label %grow135, label %put136 grow135: %t282 = mul i32 %t280, 2 %t283 = icmp eq i32 %t280, 0 %t284 = select i1 %t283, i32 8, i32 %t282 %t285 = getelementptr ptr, ptr null, i32 1 %t286 = ptrtoint ptr %t285 to i64 %t287 = zext i32 %t284 to i64 %t288 = mul i64 %t287, %t286 %t289 = load ptr, ptr %t278 %t290 = call ptr @realloc(ptr %t289, i64 %t288) store ptr %t290, ptr %t278 store i32 %t284, ptr %t277 br label %put136 put136: %t291 = load ptr, ptr %t278 %t292 = getelementptr inbounds ptr, ptr %t291, i32 %t279 store ptr %t275, ptr %t292 %t293 = add i32 %t279, 1 store i32 %t293, ptr %t276 br label %ret ifend134: %t294 = call i32 @fn_is_id(ptr @.str392) %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then137, label %ifend139 then137: %t296 = call ptr @fn_parse_system() store ptr %t296, ptr %t297 %t298 = load i32, ptr %t20 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then140, label %ifend142 then140: %t300 = load ptr, ptr @g_g_det_names %t301 = load ptr, ptr %t297 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 1 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %LSlice, ptr %t300, i32 0, i32 1 %t305 = getelementptr inbounds %LSlice, ptr %t300, i32 0, i32 2 %t306 = getelementptr inbounds %LSlice, ptr %t300, i32 0, i32 0 %t307 = load i32, ptr %t304 %t308 = load i32, ptr %t305 %t309 = icmp sge i32 %t307, %t308 br i1 %t309, label %grow143, label %put144 grow143: %t310 = mul i32 %t308, 2 %t311 = icmp eq i32 %t308, 0 %t312 = select i1 %t311, i32 8, i32 %t310 %t313 = getelementptr ptr, ptr null, i32 1 %t314 = ptrtoint ptr %t313 to i64 %t315 = zext i32 %t312 to i64 %t316 = mul i64 %t315, %t314 %t317 = load ptr, ptr %t306 %t318 = call ptr @realloc(ptr %t317, i64 %t316) store ptr %t318, ptr %t306 store i32 %t312, ptr %t305 br label %put144 put144: %t319 = load ptr, ptr %t306 %t320 = getelementptr inbounds ptr, ptr %t319, i32 %t307 store ptr %t303, ptr %t320 %t321 = add i32 %t307, 1 store i32 %t321, ptr %t304 br label %ifend142 ifend142: %t322 = load ptr, ptr %t14 %t323 = icmp ne ptr %t322, null %t324 = zext i1 %t323 to i32 %t325 = icmp ne i32 %t324, 0 br i1 %t325, label %then145, label %ifend147 then145: %t326 = load ptr, ptr %t14 %t327 = call i32 @lp_str_eq(ptr %t326, ptr @.str393) %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then148, label %else149 then148: %t329 = load ptr, ptr %t297 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 2 store i32 1, ptr %t330 br label %ifend150 else149: %t331 = load ptr, ptr %t297 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 2 store i32 2, ptr %t332 br label %ifend150 ifend150: br label %ifend147 ifend147: %t333 = load ptr, ptr %t9 %t334 = icmp ne ptr %t333, null %t335 = zext i1 %t334 to i32 %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then151, label %ifend153 then151: %t337 = load ptr, ptr %t9 %t338 = load ptr, ptr %t297 %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 4 %t340 = load ptr, ptr %t339 call void @fn_register_onlisten(ptr %t337, ptr %t340) br label %ret ifend153: %t341 = load ptr, ptr %t2 %t342 = icmp ne ptr %t341, null %t343 = zext i1 %t342 to i32 %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then154, label %ifend156 then154: %t345 = load ptr, ptr %t2 %t346 = load ptr, ptr %t297 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 4 %t348 = load ptr, ptr %t347 call void @fn_register_onspawn(ptr %t345, ptr %t348) %t349 = load i32, ptr %t10 %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then157, label %ifend159 then157: %t351 = load ptr, ptr %t2 %t352 = call ptr @lp_str_concat(ptr @.str394, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str395) call void @fn_ensure_event(ptr %t353, i32 0) br label %ifend159 ifend159: br label %ret ifend156: %t354 = load ptr, ptr %t3 %t355 = icmp ne ptr %t354, null %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then160, label %ifend162 then160: %t358 = load ptr, ptr %t3 %t359 = load ptr, ptr %t297 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 4 %t361 = load ptr, ptr %t360 %t362 = load ptr, ptr %t4 call void @fn_register_ondespawn(ptr %t358, ptr %t361, ptr %t362) %t363 = load i32, ptr %t10 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then163, label %ifend165 then163: %t365 = load ptr, ptr %t3 %t366 = call ptr @lp_str_concat(ptr @.str396, ptr %t365) %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str397) call void @fn_ensure_event(ptr %t367, i32 1) br label %ifend165 ifend165: br label %ret ifend162: %t368 = load ptr, ptr %t5 %t369 = icmp ne ptr %t368, null %t370 = zext i1 %t369 to i32 %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then166, label %ifend168 then166: %t372 = load ptr, ptr %t5 %t373 = load ptr, ptr %t297 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 4 %t375 = load ptr, ptr %t374 call void @fn_register_onattach(ptr %t372, ptr %t375) %t376 = load i32, ptr %t10 %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then169, label %ifend171 then169: %t378 = load ptr, ptr %t5 %t379 = call ptr @lp_str_concat(ptr @.str398, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str399) call void @fn_ensure_event(ptr %t380, i32 0) br label %ifend171 ifend171: br label %ret ifend168: %t381 = load ptr, ptr %t6 %t382 = icmp ne ptr %t381, null %t383 = zext i1 %t382 to i32 %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then172, label %ifend174 then172: %t385 = load ptr, ptr %t6 %t386 = load ptr, ptr %t297 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 4 %t388 = load ptr, ptr %t387 call void @fn_register_ondetach(ptr %t385, ptr %t388) %t389 = load i32, ptr %t10 %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then175, label %ifend177 then175: %t391 = load ptr, ptr %t6 %t392 = call ptr @lp_str_concat(ptr @.str400, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str401) call void @fn_ensure_event(ptr %t393, i32 0) br label %ifend177 ifend177: br label %ret ifend174: %t394 = load ptr, ptr %t7 %t395 = icmp ne ptr %t394, null %t396 = zext i1 %t395 to i32 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then178, label %ifend180 then178: %t398 = load ptr, ptr %t7 %t399 = load ptr, ptr %t297 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 4 %t401 = load ptr, ptr %t400 call void @fn_register_onenable(ptr %t398, ptr %t401) %t402 = load i32, ptr %t10 %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then181, label %ifend183 then181: %t404 = load ptr, ptr %t7 %t405 = call ptr @lp_str_concat(ptr @.str402, ptr %t404) %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str403) call void @fn_ensure_event(ptr %t406, i32 0) br label %ifend183 ifend183: br label %ret ifend180: %t407 = load ptr, ptr %t8 %t408 = icmp ne ptr %t407, null %t409 = zext i1 %t408 to i32 %t410 = icmp ne i32 %t409, 0 br i1 %t410, label %then184, label %ifend186 then184: %t411 = load ptr, ptr %t8 %t412 = load ptr, ptr %t297 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 4 %t414 = load ptr, ptr %t413 call void @fn_register_ondisable(ptr %t411, ptr %t414) %t415 = load i32, ptr %t10 %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then187, label %ifend189 then187: %t417 = load ptr, ptr %t8 %t418 = call ptr @lp_str_concat(ptr @.str404, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str405) call void @fn_ensure_event(ptr %t419, i32 0) br label %ifend189 ifend189: br label %ret ifend186: %t420 = load ptr, ptr %t11 %t421 = icmp ne ptr %t420, null %t422 = zext i1 %t421 to i32 %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then190, label %ifend192 then190: %t424 = load ptr, ptr %t297 %t425 = getelementptr inbounds %Cmp_Node, ptr %t424, i32 0, i32 3 %t426 = load ptr, ptr %t11 store ptr %t426, ptr %t425 %t427 = load i32, ptr %t10 %t428 = icmp ne i32 %t427, 0 br i1 %t428, label %then193, label %ifend195 then193: %t429 = load ptr, ptr %t11 %t430 = call i32 @lp_str_eq(ptr %t429, ptr @.str406) %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then196, label %else197 then196: call void @fn_ensure_event_empty(ptr @.str407) br label %ifend198 else197: call void @fn_ensure_event_empty(ptr @.str408) br label %ifend198 ifend198: br label %ifend195 ifend195: br label %ifend192 ifend192: %t432 = load ptr, ptr %t1 %t433 = icmp ne ptr %t432, null %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %then199, label %ifend201 then199: %t436 = load ptr, ptr %t1 %t437 = getelementptr inbounds %Cmp_Node, ptr %t436, i32 0, i32 4 %t438 = load ptr, ptr %t297 %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 4 %t440 = load ptr, ptr %t439 store ptr %t440, ptr %t437 %t441 = call ptr @fn_node(i32 7) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t442 %t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 7 %t445 = load ptr, ptr %t444 %t446 = load ptr, ptr %t1 %t447 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 1 %t448 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 2 %t449 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 0 %t450 = load i32, ptr %t447 %t451 = load i32, ptr %t448 %t452 = icmp sge i32 %t450, %t451 br i1 %t452, label %grow202, label %put203 grow202: %t453 = mul i32 %t451, 2 %t454 = icmp eq i32 %t451, 0 %t455 = select i1 %t454, i32 8, i32 %t453 %t456 = getelementptr ptr, ptr null, i32 1 %t457 = ptrtoint ptr %t456 to i64 %t458 = zext i32 %t455 to i64 %t459 = mul i64 %t458, %t457 %t460 = load ptr, ptr %t449 %t461 = call ptr @realloc(ptr %t460, i64 %t459) store ptr %t461, ptr %t449 store i32 %t455, ptr %t448 br label %put203 put203: %t462 = load ptr, ptr %t449 %t463 = getelementptr inbounds ptr, ptr %t462, i32 %t450 store ptr %t446, ptr %t463 %t464 = add i32 %t450, 1 store i32 %t464, ptr %t447 %t465 = load ptr, ptr %t297 %t466 = getelementptr inbounds %Cmp_Node, ptr %t465, i32 0, i32 4 %t467 = load ptr, ptr %t442 store ptr %t467, ptr %t466 br label %ifend201 ifend201: %t468 = load ptr, ptr @g_prog %t469 = load ptr, ptr %t297 %t470 = getelementptr inbounds %LSlice, ptr %t468, i32 0, i32 1 %t471 = getelementptr inbounds %LSlice, ptr %t468, i32 0, i32 2 %t472 = getelementptr inbounds %LSlice, ptr %t468, i32 0, i32 0 %t473 = load i32, ptr %t470 %t474 = load i32, ptr %t471 %t475 = icmp sge i32 %t473, %t474 br i1 %t475, label %grow204, label %put205 grow204: %t476 = mul i32 %t474, 2 %t477 = icmp eq i32 %t474, 0 %t478 = select i1 %t477, i32 8, i32 %t476 %t479 = getelementptr ptr, ptr null, i32 1 %t480 = ptrtoint ptr %t479 to i64 %t481 = zext i32 %t478 to i64 %t482 = mul i64 %t481, %t480 %t483 = load ptr, ptr %t472 %t484 = call ptr @realloc(ptr %t483, i64 %t482) store ptr %t484, ptr %t472 store i32 %t478, ptr %t471 br label %put205 put205: %t485 = load ptr, ptr %t472 %t486 = getelementptr inbounds ptr, ptr %t485, i32 %t473 store ptr %t469, ptr %t486 %t487 = add i32 %t473, 1 store i32 %t487, ptr %t470 br label %ret ifend139: %t488 = call i32 @fn_is_id(ptr @.str409) %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %then206, label %ifend208 then206: %t490 = load ptr, ptr @g_prog %t491 = call ptr @fn_parse_ui() %t492 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 1 %t493 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 2 %t494 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0 %t495 = load i32, ptr %t492 %t496 = load i32, ptr %t493 %t497 = icmp sge i32 %t495, %t496 br i1 %t497, label %grow209, label %put210 grow209: %t498 = mul i32 %t496, 2 %t499 = icmp eq i32 %t496, 0 %t500 = select i1 %t499, i32 8, i32 %t498 %t501 = getelementptr ptr, ptr null, i32 1 %t502 = ptrtoint ptr %t501 to i64 %t503 = zext i32 %t500 to i64 %t504 = mul i64 %t503, %t502 %t505 = load ptr, ptr %t494 %t506 = call ptr @realloc(ptr %t505, i64 %t504) store ptr %t506, ptr %t494 store i32 %t500, ptr %t493 br label %put210 put210: %t507 = load ptr, ptr %t494 %t508 = getelementptr inbounds ptr, ptr %t507, i32 %t495 store ptr %t491, ptr %t508 %t509 = add i32 %t495, 1 store i32 %t509, ptr %t492 br label %ret ifend208: %t510 = call i32 @fn_is_id(ptr @.str410) %t511 = icmp ne i32 %t510, 0 br i1 %t511, label %then211, label %ifend213 then211: call void @fn_parse_namespace() br label %ret ifend213: %t512 = call i32 @fn_is_id(ptr @.str411) %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then214, label %ifend216 then214: %t514 = load ptr, ptr @g_prog %t515 = call ptr @fn_parse_var() %t516 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 1 %t517 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 2 %t518 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 0 %t519 = load i32, ptr %t516 %t520 = load i32, ptr %t517 %t521 = icmp sge i32 %t519, %t520 br i1 %t521, label %grow217, label %put218 grow217: %t522 = mul i32 %t520, 2 %t523 = icmp eq i32 %t520, 0 %t524 = select i1 %t523, i32 8, i32 %t522 %t525 = getelementptr ptr, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 %t527 = zext i32 %t524 to i64 %t528 = mul i64 %t527, %t526 %t529 = load ptr, ptr %t518 %t530 = call ptr @realloc(ptr %t529, i64 %t528) store ptr %t530, ptr %t518 store i32 %t524, ptr %t517 br label %put218 put218: %t531 = load ptr, ptr %t518 %t532 = getelementptr inbounds ptr, ptr %t531, i32 %t519 store ptr %t515, ptr %t532 %t533 = add i32 %t519, 1 store i32 %t533, ptr %t516 br label %ret ifend216: %t534 = call i32 @fn_is_id(ptr @.str412) %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then219, label %ifend221 then219: %t536 = load ptr, ptr @g_prog %t537 = call ptr @fn_parse_const() %t538 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 1 %t539 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 2 %t540 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 0 %t541 = load i32, ptr %t538 %t542 = load i32, ptr %t539 %t543 = icmp sge i32 %t541, %t542 br i1 %t543, label %grow222, label %put223 grow222: %t544 = mul i32 %t542, 2 %t545 = icmp eq i32 %t542, 0 %t546 = select i1 %t545, i32 8, i32 %t544 %t547 = getelementptr ptr, ptr null, i32 1 %t548 = ptrtoint ptr %t547 to i64 %t549 = zext i32 %t546 to i64 %t550 = mul i64 %t549, %t548 %t551 = load ptr, ptr %t540 %t552 = call ptr @realloc(ptr %t551, i64 %t550) store ptr %t552, ptr %t540 store i32 %t546, ptr %t539 br label %put223 put223: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t541 store ptr %t537, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 br label %ret ifend221: %t556 = call i32 @fn_is_id(ptr @.str413) %t557 = icmp ne i32 %t556, 0 br i1 %t557, label %then224, label %ifend226 then224: %t558 = call ptr @fn_parse_fn() store ptr %t558, ptr %t559 %t560 = load i32, ptr %t20 %t561 = icmp ne i32 %t560, 0 br i1 %t561, label %then227, label %ifend229 then227: %t562 = load ptr, ptr @g_g_det_names %t563 = load ptr, ptr %t559 %t564 = getelementptr inbounds %Cmp_Node, ptr %t563, i32 0, i32 1 %t565 = load ptr, ptr %t564 %t566 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 1 %t567 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 2 %t568 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 %t569 = load i32, ptr %t566 %t570 = load i32, ptr %t567 %t571 = icmp sge i32 %t569, %t570 br i1 %t571, label %grow230, label %put231 grow230: %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 %put231 put231: %t581 = load ptr, ptr %t568 %t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569 store ptr %t565, ptr %t582 %t583 = add i32 %t569, 1 store i32 %t583, ptr %t566 br label %ifend229 ifend229: %t584 = load i32, ptr %t0 %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then232, label %ifend234 then232: %t586 = load ptr, ptr %t559 %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 2 store i32 1, ptr %t587 br label %ifend234 ifend234: %t588 = load ptr, ptr %t16 %t589 = icmp ne ptr %t588, null %t590 = zext i1 %t589 to i32 %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then235, label %ifend237 then235: %t592 = load ptr, ptr @g_g_mod_sys_fn %t593 = load ptr, ptr %t559 %t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 1 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 1 %t597 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 2 %t598 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 0 %t599 = load i32, ptr %t596 %t600 = load i32, ptr %t597 %t601 = icmp sge i32 %t599, %t600 br i1 %t601, label %grow238, label %put239 grow238: %t602 = mul i32 %t600, 2 %t603 = icmp eq i32 %t600, 0 %t604 = select i1 %t603, i32 8, i32 %t602 %t605 = getelementptr ptr, ptr null, i32 1 %t606 = ptrtoint ptr %t605 to i64 %t607 = zext i32 %t604 to i64 %t608 = mul i64 %t607, %t606 %t609 = load ptr, ptr %t598 %t610 = call ptr @realloc(ptr %t609, i64 %t608) store ptr %t610, ptr %t598 store i32 %t604, ptr %t597 br label %put239 put239: %t611 = load ptr, ptr %t598 %t612 = getelementptr inbounds ptr, ptr %t611, i32 %t599 store ptr %t595, ptr %t612 %t613 = add i32 %t599, 1 store i32 %t613, ptr %t596 %t614 = load ptr, ptr @g_g_mod_sys_phase %t615 = load ptr, ptr %t16 %t616 = getelementptr inbounds %LSlice, ptr %t614, i32 0, i32 1 %t617 = getelementptr inbounds %LSlice, ptr %t614, i32 0, i32 2 %t618 = getelementptr inbounds %LSlice, ptr %t614, i32 0, i32 0 %t619 = load i32, ptr %t616 %t620 = load i32, ptr %t617 %t621 = icmp sge i32 %t619, %t620 br i1 %t621, label %grow240, label %put241 grow240: %t622 = mul i32 %t620, 2 %t623 = icmp eq i32 %t620, 0 %t624 = select i1 %t623, i32 8, i32 %t622 %t625 = getelementptr ptr, ptr null, i32 1 %t626 = ptrtoint ptr %t625 to i64 %t627 = zext i32 %t624 to i64 %t628 = mul i64 %t627, %t626 %t629 = load ptr, ptr %t618 %t630 = call ptr @realloc(ptr %t629, i64 %t628) store ptr %t630, ptr %t618 store i32 %t624, ptr %t617 br label %put241 put241: %t631 = load ptr, ptr %t618 %t632 = getelementptr inbounds ptr, ptr %t631, i32 %t619 store ptr %t615, ptr %t632 %t633 = add i32 %t619, 1 store i32 %t633, ptr %t616 br label %ifend237 ifend237: %t634 = load ptr, ptr %t17 %t635 = icmp ne ptr %t634, null %t636 = zext i1 %t635 to i32 %t637 = icmp ne i32 %t636, 0 br i1 %t637, label %then242, label %ifend244 then242: %t638 = load ptr, ptr @g_g_esys_comp %t639 = load ptr, ptr %t17 %t640 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 1 %t641 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 2 %t642 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 0 %t643 = load i32, ptr %t640 %t644 = load i32, ptr %t641 %t645 = icmp sge i32 %t643, %t644 br i1 %t645, label %grow245, label %put246 grow245: %t646 = mul i32 %t644, 2 %t647 = icmp eq i32 %t644, 0 %t648 = select i1 %t647, i32 8, i32 %t646 %t649 = getelementptr ptr, ptr null, i32 1 %t650 = ptrtoint ptr %t649 to i64 %t651 = zext i32 %t648 to i64 %t652 = mul i64 %t651, %t650 %t653 = load ptr, ptr %t642 %t654 = call ptr @realloc(ptr %t653, i64 %t652) store ptr %t654, ptr %t642 store i32 %t648, ptr %t641 br label %put246 put246: %t655 = load ptr, ptr %t642 %t656 = getelementptr inbounds ptr, ptr %t655, i32 %t643 store ptr %t639, ptr %t656 %t657 = add i32 %t643, 1 store i32 %t657, ptr %t640 %t658 = load ptr, ptr @g_g_esys_fn %t659 = load ptr, ptr %t559 %t660 = getelementptr inbounds %Cmp_Node, ptr %t659, i32 0, i32 1 %t661 = load ptr, ptr %t660 %t662 = getelementptr inbounds %LSlice, ptr %t658, i32 0, i32 1 %t663 = getelementptr inbounds %LSlice, ptr %t658, i32 0, i32 2 %t664 = getelementptr inbounds %LSlice, ptr %t658, i32 0, i32 0 %t665 = load i32, ptr %t662 %t666 = load i32, ptr %t663 %t667 = icmp sge i32 %t665, %t666 br i1 %t667, label %grow247, label %put248 grow247: %t668 = mul i32 %t666, 2 %t669 = icmp eq i32 %t666, 0 %t670 = select i1 %t669, i32 8, i32 %t668 %t671 = getelementptr ptr, ptr null, i32 1 %t672 = ptrtoint ptr %t671 to i64 %t673 = zext i32 %t670 to i64 %t674 = mul i64 %t673, %t672 %t675 = load ptr, ptr %t664 %t676 = call ptr @realloc(ptr %t675, i64 %t674) store ptr %t676, ptr %t664 store i32 %t670, ptr %t663 br label %put248 put248: %t677 = load ptr, ptr %t664 %t678 = getelementptr inbounds ptr, ptr %t677, i32 %t665 store ptr %t661, ptr %t678 %t679 = add i32 %t665, 1 store i32 %t679, ptr %t662 %t680 = load ptr, ptr @g_g_esys_phase %t681 = load ptr, ptr %t18 %t682 = getelementptr inbounds %LSlice, ptr %t680, i32 0, i32 1 %t683 = getelementptr inbounds %LSlice, ptr %t680, i32 0, i32 2 %t684 = getelementptr inbounds %LSlice, ptr %t680, i32 0, i32 0 %t685 = load i32, ptr %t682 %t686 = load i32, ptr %t683 %t687 = icmp sge i32 %t685, %t686 br i1 %t687, label %grow249, label %put250 grow249: %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 %put250 put250: %t697 = load ptr, ptr %t684 %t698 = getelementptr inbounds ptr, ptr %t697, i32 %t685 store ptr %t681, ptr %t698 %t699 = add i32 %t685, 1 store i32 %t699, ptr %t682 br label %ifend244 ifend244: %t700 = load ptr, ptr %t19 %t701 = icmp ne ptr %t700, null %t702 = zext i1 %t701 to i32 %t703 = icmp ne i32 %t702, 0 br i1 %t703, label %then251, label %ifend253 then251: %t704 = load ptr, ptr %t19 call void @fn_register_namespace(ptr %t704) br label %ifend253 ifend253: %t705 = load ptr, ptr @g_prog %t706 = load ptr, ptr %t559 %t707 = getelementptr inbounds %LSlice, ptr %t705, i32 0, i32 1 %t708 = getelementptr inbounds %LSlice, ptr %t705, i32 0, i32 2 %t709 = getelementptr inbounds %LSlice, ptr %t705, i32 0, i32 0 %t710 = load i32, ptr %t707 %t711 = load i32, ptr %t708 %t712 = icmp sge i32 %t710, %t711 br i1 %t712, label %grow254, label %put255 grow254: %t713 = mul i32 %t711, 2 %t714 = icmp eq i32 %t711, 0 %t715 = select i1 %t714, i32 8, i32 %t713 %t716 = getelementptr ptr, ptr null, i32 1 %t717 = ptrtoint ptr %t716 to i64 %t718 = zext i32 %t715 to i64 %t719 = mul i64 %t718, %t717 %t720 = load ptr, ptr %t709 %t721 = call ptr @realloc(ptr %t720, i64 %t719) store ptr %t721, ptr %t709 store i32 %t715, ptr %t708 br label %put255 put255: %t722 = load ptr, ptr %t709 %t723 = getelementptr inbounds ptr, ptr %t722, i32 %t710 store ptr %t706, ptr %t723 %t724 = add i32 %t710, 1 store i32 %t724, ptr %t707 br label %ret ifend226: %t725 = call i32 @fn_is_id(ptr @.str414) %t726 = icmp ne i32 %t725, 0 br i1 %t726, label %then256, label %ifend258 then256: %t727 = load ptr, ptr @g_prog %t728 = call ptr @fn_parse_extern() %t729 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 1 %t730 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 2 %t731 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 0 %t732 = load i32, ptr %t729 %t733 = load i32, ptr %t730 %t734 = icmp sge i32 %t732, %t733 br i1 %t734, label %grow259, label %put260 grow259: %t735 = mul i32 %t733, 2 %t736 = icmp eq i32 %t733, 0 %t737 = select i1 %t736, i32 8, i32 %t735 %t738 = getelementptr ptr, ptr null, i32 1 %t739 = ptrtoint ptr %t738 to i64 %t740 = zext i32 %t737 to i64 %t741 = mul i64 %t740, %t739 %t742 = load ptr, ptr %t731 %t743 = call ptr @realloc(ptr %t742, i64 %t741) store ptr %t743, ptr %t731 store i32 %t737, ptr %t730 br label %put260 put260: %t744 = load ptr, ptr %t731 %t745 = getelementptr inbounds ptr, ptr %t744, i32 %t732 store ptr %t728, ptr %t745 %t746 = add i32 %t732, 1 store i32 %t746, ptr %t729 br label %ret ifend258: %t747 = call i32 @fn_is_id(ptr @.str415) %t748 = icmp ne i32 %t747, 0 br i1 %t748, label %then261, label %ifend263 then261: %t749 = load ptr, ptr @g_prog %t750 = call ptr @fn_parse_main() %t751 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 1 %t752 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 2 %t753 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 0 %t754 = load i32, ptr %t751 %t755 = load i32, ptr %t752 %t756 = icmp sge i32 %t754, %t755 br i1 %t756, label %grow264, label %put265 grow264: %t757 = mul i32 %t755, 2 %t758 = icmp eq i32 %t755, 0 %t759 = select i1 %t758, i32 8, i32 %t757 %t760 = getelementptr ptr, ptr null, i32 1 %t761 = ptrtoint ptr %t760 to i64 %t762 = zext i32 %t759 to i64 %t763 = mul i64 %t762, %t761 %t764 = load ptr, ptr %t753 %t765 = call ptr @realloc(ptr %t764, i64 %t763) store ptr %t765, ptr %t753 store i32 %t759, ptr %t752 br label %put265 put265: %t766 = load ptr, ptr %t753 %t767 = getelementptr inbounds ptr, ptr %t766, i32 %t754 store ptr %t750, ptr %t767 %t768 = add i32 %t754, 1 store i32 %t768, ptr %t751 br label %ret ifend263: %t769 = call i32 @fn_is_id(ptr @.str416) %t770 = icmp ne i32 %t769, 0 br i1 %t770, label %then266, label %ifend268 then266: %t771 = load ptr, ptr @g_g_tests %t772 = call ptr @fn_parse_test() %t773 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 1 %t774 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 2 %t775 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 0 %t776 = load i32, ptr %t773 %t777 = load i32, ptr %t774 %t778 = icmp sge i32 %t776, %t777 br i1 %t778, label %grow269, label %put270 grow269: %t779 = mul i32 %t777, 2 %t780 = icmp eq i32 %t777, 0 %t781 = select i1 %t780, i32 8, i32 %t779 %t782 = getelementptr ptr, ptr null, i32 1 %t783 = ptrtoint ptr %t782 to i64 %t784 = zext i32 %t781 to i64 %t785 = mul i64 %t784, %t783 %t786 = load ptr, ptr %t775 %t787 = call ptr @realloc(ptr %t786, i64 %t785) store ptr %t787, ptr %t775 store i32 %t781, ptr %t774 br label %put270 put270: %t788 = load ptr, ptr %t775 %t789 = getelementptr inbounds ptr, ptr %t788, i32 %t776 store ptr %t772, ptr %t789 %t790 = add i32 %t776, 1 store i32 %t790, ptr %t773 br label %ret ifend268: %t791 = call ptr @fn_tok_desc() %t792 = call ptr @lp_str_concat(ptr @.str417, ptr %t791) call void @fn_perr(ptr %t792) br label %ret ret: ret void } define ptr @fn_parse_test() { entry: %retval = alloca ptr %t8 = alloca i32 %t23 = 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 ptr, ptr %t2, i32 %t3 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3 %t7 = load i32, ptr %t6 store i32 %t7, ptr %t8 %t9 = load i32, ptr @g_pi %t10 = add i32 %t9, 1 store i32 %t10, ptr @g_pi %t11 = load ptr, ptr @g_toks %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr @g_pi %t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp ne i32 %t18, 2 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %ifend2 then0: call void @fn_perr(ptr @.str418) br label %ifend2 ifend2: %t22 = call ptr @fn_node(i32 51) 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 @g_toks %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr @g_pi %t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t25 %t34 = load ptr, ptr %t23 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 8 %t36 = load i32, ptr %t8 store i32 %t36, ptr %t35 %t37 = load i32, ptr @g_pi %t38 = add i32 %t37, 1 store i32 %t38, ptr @g_pi %t39 = load ptr, ptr %t23 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 %t41 = call ptr @fn_block() store ptr %t41, ptr %t40 %t42 = load ptr, ptr %t23 store ptr %t42, ptr %retval br label %ret ret: %t43 = load ptr, ptr %retval ret ptr %t43 } 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 @.str419) 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 %t62 = alloca ptr %t95 = alloca ptr %t99 = alloca i32 %t100 = 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 @.str420, 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 ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t12 %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = load i32, ptr %t28 %t49 = getelementptr inbounds ptr, ptr %t47, i32 %t48 %t50 = load ptr, ptr %t49 %t51 = call i32 @fn_str_less(ptr %t44, ptr %t50) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then9, label %ifend11 then9: %t53 = load i32, ptr %t31 store i32 %t53, ptr %t28 br label %ifend11 ifend11: %t54 = load i32, ptr %t31 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t31 br label %wcond6 wend8: %t56 = load ptr, ptr %t12 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = load i32, ptr %t19 %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t12 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t19 %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t68 = load ptr, ptr %t12 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = load i32, ptr %t28 %t72 = getelementptr inbounds ptr, ptr %t70, i32 %t71 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t67 %t74 = load ptr, ptr %t12 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t28 %t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77 %t79 = load ptr, ptr %t62 store ptr %t79, ptr %t78 %t80 = load i32, ptr %t19 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t19 br label %wcond3 wend5: store i32 0, ptr %t19 br label %wcond12 wcond12: %t82 = load i32, ptr %t19 %t83 = load ptr, ptr %t12 %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp slt i32 %t82, %t85 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %wbody13, label %wend14 wbody13: %t89 = load ptr, ptr %t12 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = load i32, ptr %t19 %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 %t94 = load ptr, ptr %t93 store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t95 %t97 = call i64 @strlen(ptr %t96) %t98 = trunc i64 %t97 to i32 store i32 %t98, ptr %t99 %t101 = load i32, ptr %t99 %t102 = icmp sgt i32 %t101, 6 %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 %sc15, label %scend16 sc15: %t106 = load ptr, ptr %t95 %t107 = load i32, ptr %t99 %t108 = sub i32 %t107, 6 %t109 = load i32, ptr %t99 %t110 = call ptr @lp_str_slice(ptr %t106, i32 %t108, i32 %t109) %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str421) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t100 br label %scend16 scend16: %t114 = load i32, ptr %t100 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then17, label %ifend19 then17: %t116 = load ptr, ptr %t7 %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str422) %t118 = load ptr, ptr %t95 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) call void @fn_do_import(ptr %t119) br label %ifend19 ifend19: %t120 = load i32, ptr %t19 %t121 = add i32 %t120, 1 store i32 %t121, ptr %t19 br label %wcond12 wend14: 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 @.str423) %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 @.str424, 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 @.str425) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str426) 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 %t189 = alloca ptr %t193 = alloca i32 %t194 = alloca i32 %t218 = alloca ptr %t220 = alloca i32 %t222 = alloca ptr %t224 = alloca ptr %t226 = 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 @.str427) %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 @.str428) %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 @.str429, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str430) %t52 = load ptr, ptr %t26 %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str431) 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 @.str432, ptr @.str433) %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 @.str434) %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 %t183 = load ptr, ptr %t62 %t184 = icmp eq ptr %t183, null %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then44, label %ifend46 then44: %t187 = load ptr, ptr %t59 %t188 = call ptr @lp_str_concat(ptr @.str435, ptr %t187) call void @fn_perr(ptr %t188) br label %ifend46 ifend46: store ptr @.str436, ptr %t189 %t190 = load ptr, ptr %t59 %t191 = call i64 @strlen(ptr %t190) %t192 = trunc i64 %t191 to i32 store i32 %t192, ptr %t193 %t195 = load i32, ptr %t193 %t196 = load ptr, ptr %t189 %t197 = call i64 @strlen(ptr %t196) %t198 = trunc i64 %t197 to i32 %t199 = icmp sge i32 %t195, %t198 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t194 br i1 %t201, label %sc47, label %scend48 sc47: %t203 = load ptr, ptr %t59 %t204 = load i32, ptr %t193 %t205 = load ptr, ptr %t189 %t206 = call i64 @strlen(ptr %t205) %t207 = trunc i64 %t206 to i32 %t208 = sub i32 %t204, %t207 %t209 = load i32, ptr %t193 %t210 = call ptr @lp_str_slice(ptr %t203, i32 %t208, i32 %t209) %t211 = load ptr, ptr %t189 %t212 = call i32 @lp_str_eq(ptr %t210, ptr %t211) %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t194 br label %scend48 scend48: %t215 = load i32, ptr %t194 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then49, label %ifend51 then49: store i32 1, ptr @g_g_uses_audio br label %ifend51 ifend51: %t217 = load ptr, ptr @g_toks store ptr %t217, ptr %t218 %t219 = load i32, ptr @g_pi store i32 %t219, ptr %t220 %t221 = load ptr, ptr @g_cur_dir store ptr %t221, ptr %t222 %t223 = load ptr, ptr @g_g_parse_file store ptr %t223, ptr %t224 %t225 = load i32, ptr @g_g_parsing store i32 %t225, ptr %t226 %t227 = load ptr, ptr %t59 %t228 = call ptr @fn_dir_of(ptr %t227) store ptr %t228, ptr @g_cur_dir %t229 = load ptr, ptr %t59 store ptr %t229, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t230 = load ptr, ptr %t62 call void @fn_lex(ptr %t230) store i32 0, ptr @g_pi call void @fn_skipnl() br label %wcond52 wcond52: %t231 = load ptr, ptr @g_toks %t232 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = load i32, ptr @g_pi %t235 = getelementptr inbounds ptr, ptr %t233, i32 %t234 %t236 = load ptr, ptr %t235 %t237 = getelementptr inbounds %Cmp_Tok, ptr %t236, i32 0, i32 0 %t238 = load i32, ptr %t237 %t239 = icmp ne i32 %t238, 5 %t240 = zext i1 %t239 to i32 %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %wbody53, label %wend54 wbody53: call void @fn_parse_one_decl() call void @fn_skipnl() br label %wcond52 wend54: %t242 = load ptr, ptr %t218 store ptr %t242, ptr @g_toks %t243 = load i32, ptr %t220 store i32 %t243, ptr @g_pi %t244 = load ptr, ptr %t222 store ptr %t244, ptr @g_cur_dir %t245 = load ptr, ptr %t224 store ptr %t245, ptr @g_g_parse_file %t246 = load i32, ptr %t226 store i32 %t246, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_maybe_splice_runtime() { entry: %t1 = alloca ptr %t75 = alloca i32 %t104 = 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 @.str437, ptr @g_cur_dir call void @fn_do_import(ptr @.str438) %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 @.str439, ptr @g_cur_dir call void @fn_do_import(ptr @.str440) call void @fn_do_import(ptr @.str441) %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 @.str442, ptr @g_cur_dir call void @fn_do_import(ptr @.str443) %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 @.str444, ptr @g_cur_dir call void @fn_do_import(ptr @.str445) %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 @.str446, ptr @g_cur_dir call void @fn_do_import(ptr @.str447) %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 @.str448, ptr @g_cur_dir call void @fn_do_import(ptr @.str449) %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 @.str450, ptr @g_cur_dir call void @fn_do_import(ptr @.str451) %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 @.str452, ptr @g_cur_dir call void @fn_do_import(ptr @.str453) %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 @.str454, ptr @g_cur_dir call void @fn_do_import(ptr @.str455) %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 @.str456, ptr @g_cur_dir call void @fn_do_import(ptr @.str457) %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 @.str458, ptr @g_cur_dir call void @fn_do_import(ptr @.str459) call void @fn_do_import(ptr @.str460) call void @fn_do_import(ptr @.str461) %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 @.str462, ptr @g_cur_dir call void @fn_do_import(ptr @.str463) call void @fn_do_import(ptr @.str464) %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 @.str465, ptr @g_cur_dir call void @fn_do_import(ptr @.str466) call void @fn_do_import(ptr @.str467) call void @fn_do_import(ptr @.str468) %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 @.str469, ptr @g_cur_dir call void @fn_do_import(ptr @.str470) call void @fn_do_import(ptr @.str471) call void @fn_do_import(ptr @.str472) call void @fn_do_import(ptr @.str473) call void @fn_do_import(ptr @.str474) call void @fn_do_import(ptr @.str475) call void @fn_do_import(ptr @.str476) %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 @.str477) 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 @.str478, ptr @g_cur_dir call void @fn_do_import(ptr @.str479) %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 @.str480, ptr @g_cur_dir call void @fn_do_import(ptr @.str481) call void @fn_do_import(ptr @.str482) %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 @.str483, ptr @g_cur_dir call void @fn_do_import(ptr @.str484) call void @fn_do_import(ptr @.str485) %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 @.str486, ptr @g_cur_dir call void @fn_do_import(ptr @.str487) %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 @.str488, ptr @g_cur_dir call void @fn_do_import(ptr @.str489) %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 @.str490, ptr @g_cur_dir call void @fn_do_import(ptr @.str491) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_gl %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store ptr @.str492, ptr @g_cur_dir call void @fn_do_import(ptr @.str493) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = load i32, ptr @g_g_uses_vk %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store ptr @.str494, ptr @g_cur_dir call void @fn_do_import(ptr @.str495) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend68 ifend68: %t70 = load i32, ptr @g_g_uses_anim_rt %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then69, label %ifend71 then69: store i32 1, ptr @g_g_uses_esys store ptr @.str496, ptr @g_cur_dir call void @fn_do_import(ptr @.str497) call void @fn_do_import(ptr @.str498) %t72 = load ptr, ptr %t1 store ptr %t72, ptr @g_cur_dir br label %ifend71 ifend71: %t73 = call i32 @fn_uses_engine_systems() %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_esys store ptr @.str499, ptr @g_cur_dir %t76 = call ptr @fn_find_comp(ptr @.str500) %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t75 br i1 %t79, label %scend76, label %sc75 sc75: %t81 = call ptr @fn_find_comp(ptr @.str501) %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 %t75 br label %scend76 scend76: %t86 = load i32, ptr %t75 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then77, label %ifend79 then77: call void @fn_do_import(ptr @.str502) br label %ifend79 ifend79: %t88 = call ptr @fn_find_comp(ptr @.str503) %t89 = icmp ne ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str504) call void @fn_do_import(ptr @.str505) br label %ifend82 ifend82: %t92 = call ptr @fn_find_comp(ptr @.str506) %t93 = icmp ne ptr %t92, null %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str507) call void @fn_do_import(ptr @.str508) br label %ifend85 ifend85: %t96 = call ptr @fn_find_comp(ptr @.str509) %t97 = icmp ne ptr %t96, null %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then86, label %ifend88 then86: call void @fn_do_import(ptr @.str510) call void @fn_do_import(ptr @.str511) br label %ifend88 ifend88: %t100 = call ptr @fn_find_comp(ptr @.str512) %t101 = icmp ne ptr %t100, null %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then89, label %ifend91 then89: call void @fn_do_import(ptr @.str513) br label %ifend91 ifend91: %t105 = call ptr @fn_find_comp(ptr @.str514) %t106 = icmp ne ptr %t105, null %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t104 br i1 %t108, label %scend93, label %sc92 sc92: %t110 = call ptr @fn_find_comp(ptr @.str515) %t111 = icmp ne ptr %t110, null %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t104 br label %scend93 scend93: %t115 = load i32, ptr %t104 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then94, label %ifend96 then94: call void @fn_do_import(ptr @.str516) call void @fn_do_import(ptr @.str517) store i32 1, ptr @g_g_uses_light br label %ifend96 ifend96: %t117 = load ptr, ptr %t1 store ptr %t117, ptr @g_cur_dir br label %ifend74 ifend74: br label %ret ret: ret void } define void @fn_parse_program() { entry: %t547 = alloca ptr %t551 = alloca ptr %t560 = alloca ptr %t563 = 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 @.str518, 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 @.str519, 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 @.str520, 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 @.str521, 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 @.str522, 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 @.str523, 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 @.str524, 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 @.str525, 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 @.str526, 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 @.str527, 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 @.str528, 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 @.str529, 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 @.str530, 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 @.str531, 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 @.str532, 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 @.str533, 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 @.str534, 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 @.str535, 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 @.str536, 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 @.str537, 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 @.str538, 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 @.str539, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str540) %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 ptr, ptr %t543, i32 %t544 %t546 = load ptr, ptr %t545 store ptr %t546, ptr %t547 %t548 = load ptr, ptr %t547 %t549 = getelementptr inbounds %Cmp_Tok, ptr %t548, i32 0, i32 1 %t550 = load ptr, ptr %t549 store ptr %t550, ptr %t551 %t552 = load i32, ptr @g_pi %t553 = add i32 %t552, 1 store i32 %t553, ptr @g_pi %t554 = load ptr, ptr %t551 call void @fn_do_import(ptr %t554) call void @fn_skipnl() br label %wcond42 wend44: br label %wcond45 wcond45: %t555 = call i32 @fn_is_op(ptr @.str541) %t556 = icmp ne i32 %t555, 0 br i1 %t556, label %wbody46, label %wend47 wbody46: %t557 = load i32, ptr @g_pi %t558 = add i32 %t557, 1 store i32 %t558, ptr @g_pi %t559 = call ptr @fn_eat_id() store ptr %t559, ptr %t560 %t561 = call i32 @fn_is_op(ptr @.str542) %t562 = icmp ne i32 %t561, 0 br i1 %t562, label %then48, label %ifend50 then48: store i32 0, ptr %t563 br label %wcond51 wcond51: %t564 = icmp ne i32 1, 0 br i1 %t564, label %wbody52, label %wend53 wbody52: %t565 = call i32 @fn_is_op(ptr @.str543) %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %then54, label %ifend56 then54: %t567 = load i32, ptr %t563 %t568 = add i32 %t567, 1 store i32 %t568, ptr %t563 br label %ifend56 ifend56: %t569 = call i32 @fn_is_op(ptr @.str544) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then57, label %ifend59 then57: %t571 = load i32, ptr %t563 %t572 = sub i32 %t571, 1 store i32 %t572, ptr %t563 br label %ifend59 ifend59: %t573 = load i32, ptr @g_pi %t574 = add i32 %t573, 1 store i32 %t574, ptr @g_pi %t575 = load i32, ptr %t563 %t576 = icmp eq i32 %t575, 0 %t577 = zext i1 %t576 to i32 %t578 = icmp ne i32 %t577, 0 br i1 %t578, label %then60, label %ifend62 then60: br label %wend53 ifend62: br label %wcond51 wend53: br label %ifend50 ifend50: call void @fn_skipnl() br label %wcond45 wend47: %t579 = call i32 @fn_is_id(ptr @.str545) %t580 = icmp ne i32 %t579, 0 br i1 %t580, label %then63, label %ifend65 then63: %t581 = load i32, ptr @g_pi %t582 = add i32 %t581, 1 store i32 %t582, ptr @g_pi %t583 = call ptr @fn_eat_id() store ptr %t583, ptr @g_g_game_name call void @fn_skipnl() call void @fn_eat_op(ptr @.str546) br label %ifend65 ifend65: br label %wcond66 wcond66: %t584 = icmp ne i32 1, 0 br i1 %t584, label %wbody67, label %wend68 wbody67: call void @fn_skipnl() %t585 = load ptr, ptr @g_toks %t586 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 0 %t587 = load ptr, ptr %t586 %t588 = load i32, ptr @g_pi %t589 = getelementptr inbounds ptr, ptr %t587, i32 %t588 %t590 = load ptr, ptr %t589 %t591 = getelementptr inbounds %Cmp_Tok, ptr %t590, i32 0, i32 0 %t592 = load i32, ptr %t591 %t593 = icmp eq i32 %t592, 5 %t594 = zext i1 %t593 to i32 %t595 = icmp ne i32 %t594, 0 br i1 %t595, label %then69, label %ifend71 then69: br label %wend68 ifend71: %t596 = call i32 @fn_is_op(ptr @.str547) %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then72, label %ifend74 then72: br label %wend68 ifend74: call void @fn_parse_one_decl() br label %wcond66 wend68: 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 @.str548) 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 @.str549) %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 @.str550) %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 @.str551) %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 @.str552) %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 @.str553) %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 @.str554) %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 @.str555) %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 @.str556) %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 @.str557) %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 @.str558) 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 @.str559) %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 @.str560) %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 @.str561) %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 @.str562) %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 @.str563) %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 @.str564, 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 @.str565) %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 @.str566) %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 @.str567) %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 @.str568) %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 @.str569) %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 @.str570, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str571) 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 @.str572) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str573) %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 @.str574) %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 @.str575) 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 @.str576) %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 @.str577) %t72 = call i32 @fn_is_id(ptr @.str578) %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 @.str579) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str580) %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 @.str581) %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 @.str582) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str583) %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 @.str584) 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 @.str585, 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 @.str586) %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 @.str587) %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 @.str588) %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 @.str589) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str590) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str591) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str592) %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 @.str593) %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 @.str594) %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 @.str595) %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 @.str596) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str597) %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 @.str598) %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 @.str599) %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 @.str600) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str601) %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 @.str602) %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 @.str603) %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 @.str604) %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 @.str605) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str606) %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 @.str607) %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 @.str608) %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 @.str609) %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 @.str610) %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 @.str611) %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 @.str612) %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 @.str613) %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 @.str614) %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 @.str615) %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 @.str616) 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 @.str617) %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 @.str618) %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 @.str619) 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 @.str620, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str621) 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 @.str622, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str623) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str624) 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 @.str625) %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 @.str626) %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 @.str627) %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 @.str628) %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 @.str629) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str630) %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 @.str631) %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 @.str632, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str633) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str634, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str635) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str636) %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 @.str637) %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 @.str638) %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 @.str639) %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 @.str640, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str641) 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 @.str642) %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 @.str643) 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 @.str644) %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 @.str645) br label %wcond32 ifend49: call void @fn_perr(ptr @.str646) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str647) %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 @.str648) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str649, 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 @.str650, 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 @.str651, 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 @.str652, 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 @.str653, 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 @.str654) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str655, 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 @.str656, 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 %t136 = alloca ptr %t149 = alloca ptr %t151 = alloca ptr %t155 = alloca ptr %t163 = alloca ptr %t192 = alloca ptr %t196 = alloca ptr %t204 = alloca ptr %t211 = alloca ptr %t219 = 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 @.str657, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str658) 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 @.str659, 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 @.str660, 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 ptr, ptr %t106, i32 %t107 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t99, 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 %t109, ptr %t126 %t127 = add i32 %t113, 1 store i32 %t127, ptr %t110 %t128 = load i32, ptr %t87 %t129 = add i32 %t128, 1 store i32 %t129, ptr %t87 br label %wcond7 wend9: %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 4 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t66 store ptr %t134, ptr %t133 %t135 = call ptr @fn_node(i32 9) store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %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 %t141, ptr @.str661) store ptr %t142, ptr %t138 %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 store ptr @.str662, ptr %t144 %t145 = load ptr, ptr %t136 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 6 %t147 = load ptr, ptr %t0 store ptr %t147, ptr %t146 %t148 = call ptr @fn_node(i32 7) store ptr %t148, ptr %t149 %t150 = call ptr @fn_node(i32 11) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 store ptr @.str663, ptr %t153 %t154 = call ptr @fn_node(i32 33) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1 %t158 = load ptr, ptr %t8 store ptr %t158, ptr %t157 %t159 = load ptr, ptr %t151 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 %t161 = load ptr, ptr %t155 store ptr %t161, ptr %t160 %t162 = call ptr @fn_node(i32 30) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 2 store i32 1, ptr %t165 %t166 = load ptr, ptr %t151 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 5 %t168 = load ptr, ptr %t163 store ptr %t168, ptr %t167 %t169 = load ptr, ptr %t149 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 %t171 = load ptr, ptr %t170 %t172 = load ptr, ptr %t151 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t176 = load i32, ptr %t173 %t177 = load i32, ptr %t174 %t178 = icmp sge i32 %t176, %t177 br i1 %t178, label %grow12, label %put13 grow12: %t179 = mul i32 %t177, 2 %t180 = icmp eq i32 %t177, 0 %t181 = select i1 %t180, i32 8, i32 %t179 %t182 = getelementptr ptr, ptr null, i32 1 %t183 = ptrtoint ptr %t182 to i64 %t184 = zext i32 %t181 to i64 %t185 = mul i64 %t184, %t183 %t186 = load ptr, ptr %t175 %t187 = call ptr @realloc(ptr %t186, i64 %t185) store ptr %t187, ptr %t175 store i32 %t181, ptr %t174 br label %put13 put13: %t188 = load ptr, ptr %t175 %t189 = getelementptr inbounds ptr, ptr %t188, i32 %t176 store ptr %t172, ptr %t189 %t190 = add i32 %t176, 1 store i32 %t190, ptr %t173 %t191 = call ptr @fn_node(i32 37) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 1 store ptr @.str664, ptr %t194 %t195 = call ptr @fn_node(i32 33) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t8 store ptr %t199, ptr %t198 %t200 = load ptr, ptr %t192 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 4 %t202 = load ptr, ptr %t196 store ptr %t202, ptr %t201 %t203 = call ptr @fn_node(i32 30) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2 store i32 0, ptr %t206 %t207 = load ptr, ptr %t192 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 5 %t209 = load ptr, ptr %t204 store ptr %t209, ptr %t208 %t210 = call ptr @fn_node(i32 12) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 4 %t214 = load ptr, ptr %t192 store ptr %t214, ptr %t213 %t215 = load ptr, ptr %t211 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 5 %t217 = call ptr @fn_node(i32 7) store ptr %t217, ptr %t216 %t218 = call ptr @fn_node(i32 26) store ptr %t218, ptr %t219 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 %t222 = load ptr, ptr %t2 store ptr %t222, ptr %t221 %t223 = load ptr, ptr %t211 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 5 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 7 %t227 = load ptr, ptr %t226 %t228 = load ptr, ptr %t219 %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t230 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 2 %t231 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 %t232 = load i32, ptr %t229 %t233 = load i32, ptr %t230 %t234 = icmp sge i32 %t232, %t233 br i1 %t234, label %grow14, label %put15 grow14: %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 %put15 put15: %t244 = load ptr, ptr %t231 %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 store ptr %t228, ptr %t245 %t246 = add i32 %t232, 1 store i32 %t246, ptr %t229 %t247 = load ptr, ptr %t149 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 %t249 = load ptr, ptr %t248 %t250 = load ptr, ptr %t211 %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 2 %t253 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t254 = load i32, ptr %t251 %t255 = load i32, ptr %t252 %t256 = icmp sge i32 %t254, %t255 br i1 %t256, label %grow16, label %put17 grow16: %t257 = mul i32 %t255, 2 %t258 = icmp eq i32 %t255, 0 %t259 = select i1 %t258, i32 8, i32 %t257 %t260 = getelementptr ptr, ptr null, i32 1 %t261 = ptrtoint ptr %t260 to i64 %t262 = zext i32 %t259 to i64 %t263 = mul i64 %t262, %t261 %t264 = load ptr, ptr %t253 %t265 = call ptr @realloc(ptr %t264, i64 %t263) store ptr %t265, ptr %t253 store i32 %t259, ptr %t252 br label %put17 put17: %t266 = load ptr, ptr %t253 %t267 = getelementptr inbounds ptr, ptr %t266, i32 %t254 store ptr %t250, ptr %t267 %t268 = add i32 %t254, 1 store i32 %t268, ptr %t251 %t269 = load ptr, ptr %t136 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 4 %t271 = load ptr, ptr %t149 store ptr %t271, ptr %t270 %t272 = load ptr, ptr @g_prog %t273 = load ptr, ptr %t136 %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 2 %t276 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t277 = load i32, ptr %t274 %t278 = load i32, ptr %t275 %t279 = icmp sge i32 %t277, %t278 br i1 %t279, label %grow18, label %put19 grow18: %t280 = mul i32 %t278, 2 %t281 = icmp eq i32 %t278, 0 %t282 = select i1 %t281, i32 8, i32 %t280 %t283 = getelementptr ptr, ptr null, i32 1 %t284 = ptrtoint ptr %t283 to i64 %t285 = zext i32 %t282 to i64 %t286 = mul i64 %t285, %t284 %t287 = load ptr, ptr %t276 %t288 = call ptr @realloc(ptr %t287, i64 %t286) store ptr %t288, ptr %t276 store i32 %t282, ptr %t275 br label %put19 put19: %t289 = load ptr, ptr %t276 %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t277 store ptr %t273, ptr %t290 %t291 = add i32 %t277, 1 store i32 %t291, ptr %t274 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 12 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br i1 %t19, label %sc3, label %scend4 sc3: %t21 = load ptr, ptr @g_prog %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 1 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend4 scend4: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %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 %t0 %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 call void @fn_ui_gotos_in(ptr %t42) br label %ifend7 ifend7: %t43 = load i32, ptr %t0 %t44 = add i32 %t43, 1 store i32 %t44, 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 %t25 = alloca ptr %t26 = alloca i32 %t49 = alloca i32 %t74 = alloca i32 %t88 = alloca ptr %t90 = alloca ptr %t94 = alloca ptr %t101 = alloca ptr %t110 = alloca ptr %t118 = alloca ptr %t169 = 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 ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t27 = load ptr, ptr %t25 %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 @.str665) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t26 br i1 %t31, label %sc3, label %scend4 sc3: %t33 = load ptr, ptr %t25 %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 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 33 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t26 br label %scend4 scend4: %t42 = load i32, ptr %t26 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then5, label %ifend7 then5: %t44 = load ptr, ptr %t25 %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 1 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t1 br label %ifend7 ifend7: %t50 = load ptr, ptr %t25 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str666) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t49 br i1 %t54, label %sc8, label %scend9 sc8: %t56 = load ptr, ptr %t25 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 0 %t60 = load i32, ptr %t59 %t61 = icmp eq i32 %t60, 33 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t49 br label %scend9 scend9: %t65 = load i32, ptr %t49 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then10, label %ifend12 then10: %t67 = load ptr, ptr %t25 %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 1 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %t2 br label %ifend12 ifend12: %t72 = load i32, ptr %t3 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t3 br label %wcond0 wend2: %t75 = load ptr, ptr %t1 %t76 = icmp ne ptr %t75, null %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t74 br i1 %t78, label %sc13, label %scend14 sc13: %t80 = load ptr, ptr %t2 %t81 = icmp ne ptr %t80, null %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t74 br label %scend14 scend14: %t85 = load i32, ptr %t74 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then15, label %ifend17 then15: %t87 = call ptr @fn_node(i32 7) store ptr %t87, ptr %t88 %t89 = call ptr @fn_node(i32 37) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 store ptr @.str667, 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 @.str668, ptr %t96 %t97 = load ptr, ptr %t90 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 %t99 = load ptr, ptr %t94 store ptr %t99, ptr %t98 %t100 = call ptr @fn_node(i32 33) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t1 %t105 = call ptr @lp_str_concat(ptr @.str669, ptr %t104) store ptr %t105, ptr %t103 %t106 = load ptr, ptr %t90 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 5 %t108 = load ptr, ptr %t101 store ptr %t108, ptr %t107 %t109 = call ptr @fn_node(i32 12) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = load ptr, ptr %t90 store ptr %t113, ptr %t112 %t114 = load ptr, ptr %t110 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5 %t116 = call ptr @fn_node(i32 7) store ptr %t116, ptr %t115 %t117 = call ptr @fn_node(i32 26) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t2 store ptr %t121, ptr %t120 %t122 = load ptr, ptr %t110 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 5 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 %t126 = load ptr, ptr %t125 %t127 = load ptr, ptr %t118 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t129 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t131 = load i32, ptr %t128 %t132 = load i32, ptr %t129 %t133 = icmp sge i32 %t131, %t132 br i1 %t133, label %grow18, label %put19 grow18: %t134 = mul i32 %t132, 2 %t135 = icmp eq i32 %t132, 0 %t136 = select i1 %t135, i32 8, i32 %t134 %t137 = getelementptr ptr, ptr null, i32 1 %t138 = ptrtoint ptr %t137 to i64 %t139 = zext i32 %t136 to i64 %t140 = mul i64 %t139, %t138 %t141 = load ptr, ptr %t130 %t142 = call ptr @realloc(ptr %t141, i64 %t140) store ptr %t142, ptr %t130 store i32 %t136, ptr %t129 br label %put19 put19: %t143 = load ptr, ptr %t130 %t144 = getelementptr inbounds ptr, ptr %t143, i32 %t131 store ptr %t127, ptr %t144 %t145 = add i32 %t131, 1 store i32 %t145, ptr %t128 %t146 = load ptr, ptr %t88 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 %t148 = load ptr, ptr %t147 %t149 = load ptr, ptr %t110 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2 %t152 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t153 = load i32, ptr %t150 %t154 = load i32, ptr %t151 %t155 = icmp sge i32 %t153, %t154 br i1 %t155, label %grow20, label %put21 grow20: %t156 = mul i32 %t154, 2 %t157 = icmp eq i32 %t154, 0 %t158 = select i1 %t157, i32 8, i32 %t156 %t159 = getelementptr ptr, ptr null, i32 1 %t160 = ptrtoint ptr %t159 to i64 %t161 = zext i32 %t158 to i64 %t162 = mul i64 %t161, %t160 %t163 = load ptr, ptr %t152 %t164 = call ptr @realloc(ptr %t163, i64 %t162) store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put21 put21: %t165 = load ptr, ptr %t152 %t166 = getelementptr inbounds ptr, ptr %t165, i32 %t153 store ptr %t149, ptr %t166 %t167 = add i32 %t153, 1 store i32 %t167, ptr %t150 %t168 = load ptr, ptr %t88 call void @fn_register_onlisten(ptr @.str670, ptr %t168) br label %ifend17 ifend17: store i32 0, ptr %t169 br label %wcond22 wcond22: %t170 = load i32, ptr %t169 %t171 = load ptr, ptr %t0 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp slt i32 %t170, %t175 %t177 = zext i1 %t176 to i32 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %wbody23, label %wend24 wbody23: %t179 = load ptr, ptr %t0 %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 0 %t183 = load ptr, ptr %t182 %t184 = load i32, ptr %t169 %t185 = getelementptr inbounds ptr, ptr %t183, i32 %t184 %t186 = load ptr, ptr %t185 call void @fn_ui_gotos_in(ptr %t186) %t187 = load i32, ptr %t169 %t188 = add i32 %t187, 1 store i32 %t188, ptr %t169 br label %wcond22 wend24: 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 @.str671) 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 @.str672) %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 @.str673) %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 @.str674) %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 @.str675) %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 @.str676) 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 @.str677) %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 @.str678) %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 @.str679) 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 @.str680) %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 @.str681) %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 @.str682) %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 @.str683) %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 @.str684) %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 %t62 = 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 @.str685) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str686) %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 @.str687) %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 @.str688) %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 @.str689) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str690, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str691) %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 @.str692) %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 ptr, ptr %t58, i32 %t59 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t5 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 %t65 = call ptr @fn_node(i32 31) store ptr %t65, ptr %t64 %t66 = load ptr, ptr %t5 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t62 %t71 = getelementptr inbounds %Cmp_Tok, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t69 %t73 = load i32, ptr @g_pi %t74 = add i32 %t73, 1 store i32 %t74, ptr @g_pi %t75 = load ptr, ptr %t5 store ptr %t75, ptr %retval br label %ret ret: %t76 = load ptr, ptr %retval ret ptr %t76 } define ptr @fn_parse_widget() { entry: %retval = alloca ptr %t1 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t53 = 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 ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t9 br i1 %t20, label %sc3, label %scend4 sc3: %t22 = load ptr, ptr @g_toks %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr @g_pi %t26 = add i32 %t25, 1 %t27 = getelementptr inbounds ptr, ptr %t24, i32 %t26 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 3 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t9 br label %scend4 scend4: %t35 = load i32, ptr %t9 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t8 br i1 %t36, label %sc5, label %scend6 sc5: %t38 = load ptr, ptr @g_toks %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr @g_pi %t42 = add i32 %t41, 1 %t43 = getelementptr inbounds ptr, ptr %t40, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str693) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t8 br label %scend6 scend6: %t50 = load i32, ptr %t8 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody1, label %wend2 wbody1: %t52 = call ptr @fn_node(i32 42) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = call ptr @fn_eat_id() store ptr %t56, ptr %t55 call void @fn_eat_op(ptr @.str694) %t57 = load ptr, ptr %t53 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = call ptr @fn_expr() store ptr %t59, ptr %t58 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t53 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t69 = load i32, ptr %t66 %t70 = load i32, ptr %t67 %t71 = icmp sge i32 %t69, %t70 br i1 %t71, label %grow7, label %put8 grow7: %t72 = mul i32 %t70, 2 %t73 = icmp eq i32 %t70, 0 %t74 = select i1 %t73, i32 8, i32 %t72 %t75 = getelementptr ptr, ptr null, i32 1 %t76 = ptrtoint ptr %t75 to i64 %t77 = zext i32 %t74 to i64 %t78 = mul i64 %t77, %t76 %t79 = load ptr, ptr %t68 %t80 = call ptr @realloc(ptr %t79, i64 %t78) store ptr %t80, ptr %t68 store i32 %t74, ptr %t67 br label %put8 put8: %t81 = load ptr, ptr %t68 %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69 store ptr %t65, ptr %t82 %t83 = add i32 %t69, 1 store i32 %t83, ptr %t66 br label %wcond0 wend2: call void @fn_skipnl() %t84 = call i32 @fn_is_op(ptr @.str695) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: %t86 = load i32, ptr @g_pi %t87 = add i32 %t86, 1 store i32 %t87, ptr @g_pi br label %wcond12 wcond12: %t88 = icmp ne i32 1, 0 br i1 %t88, label %wbody13, label %wend14 wbody13: call void @fn_skipnl() %t89 = call i32 @fn_is_op(ptr @.str696) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then15, label %ifend17 then15: br label %wend14 ifend17: %t91 = load ptr, ptr %t1 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_parse_widget() %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t98 = load i32, ptr %t95 %t99 = load i32, ptr %t96 %t100 = icmp sge i32 %t98, %t99 br i1 %t100, label %grow18, label %put19 grow18: %t101 = mul i32 %t99, 2 %t102 = icmp eq i32 %t99, 0 %t103 = select i1 %t102, i32 8, i32 %t101 %t104 = getelementptr ptr, ptr null, i32 1 %t105 = ptrtoint ptr %t104 to i64 %t106 = zext i32 %t103 to i64 %t107 = mul i64 %t106, %t105 %t108 = load ptr, ptr %t97 %t109 = call ptr @realloc(ptr %t108, i64 %t107) store ptr %t109, ptr %t97 store i32 %t103, ptr %t96 br label %put19 put19: %t110 = load ptr, ptr %t97 %t111 = getelementptr inbounds ptr, ptr %t110, i32 %t98 store ptr %t94, ptr %t111 %t112 = add i32 %t98, 1 store i32 %t112, ptr %t95 br label %wcond12 wend14: call void @fn_eat_op(ptr @.str697) br label %ifend11 ifend11: %t113 = load ptr, ptr %t1 store ptr %t113, ptr %retval br label %ret ret: %t114 = load ptr, ptr %retval ret ptr %t114 } 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 @.str698) 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 @.str699) %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 i32, ptr %t11, i32 %t12 %t14 = load i32, ptr %t13 %t15 = load i32, ptr %t0 %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: %t19 = load i32, ptr %t1 store i32 %t19, ptr %retval br label %ret ifend5: %t20 = load i32, ptr %t1 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t1 br label %wcond0 wend2: %t22 = load ptr, ptr @g_g_cov_lines %t23 = load i32, ptr %t0 %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 %grow6, label %put7 grow6: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr i32, 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 %put7 put7: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds i32, ptr %t39, i32 %t27 store i32 %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load ptr, ptr @g_g_cov_lines %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = sub i32 %t44, 1 store i32 %t45, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } 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 @.str700) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str701) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str702) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str703, 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 @.str704, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str705) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str706) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str707) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str708) 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %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 %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load i32, ptr %t1 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } 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 @.str709, 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 @.str710) %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 @.str711) %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 @.str712) %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 @.str713, 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 @.str714) %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 @.str715) %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 @.str716) %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 @.str717) %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 @.str718, 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 @.str719, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str720) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str721, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str722) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str723, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str724) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str725, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str726) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str727, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str728) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str729, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str730) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str731, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str732) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str733, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str734) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str735, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str736) %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 @.str737) %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 @.str738) %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 @.str739) %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 @.str740) %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 @.str741, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str742) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str743, ptr %retval br label %ret ifend49: store ptr @.str744, 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 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %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 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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 ptr @fn_find_comp(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 8 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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 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 @.str745, 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 ptr, ptr %t16, i32 %t17 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t1 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %t25 = load i32, ptr %t2 store i32 %t25, ptr %retval br label %ret ifend5: %t26 = load i32, ptr %t2 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t2 br label %wcond0 wend2: %t28 = sub i32 0, 1 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } 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 ptr, ptr %t16, i32 %t17 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t1 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %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 %t2 %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load i32, ptr %t2 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t2 br label %wcond0 wend2: store ptr @.str746, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define ptr @fn_find_global(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = alloca i32 %t34 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 2 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 store ptr %t33, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t15 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 3 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t34 br i1 %t40, label %sc8, label %scend9 sc8: %t42 = load ptr, ptr %t15 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t44, ptr %t45) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t34 br label %scend9 scend9: %t49 = load i32, ptr %t34 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then10, label %ifend12 then10: %t51 = load ptr, ptr %t15 store ptr %t51, ptr %retval br label %ret ifend12: %t52 = load i32, ptr %t1 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t54 = load ptr, ptr %retval ret ptr %t54 } define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t16 = alloca ptr %t17 = alloca i32 %t34 = 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 ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 %t18 = load ptr, ptr %t16 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 27 %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 %sc3, label %scend4 sc3: %t25 = load ptr, ptr %t16 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t17 br label %scend4 scend4: %t32 = load i32, ptr %t17 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: store i32 0, ptr %t34 br label %wcond8 wcond8: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t16 %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 ptr, ptr %t16 %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 ptr, ptr %t48, i32 %t49 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr %t1 %t55 = call i32 @lp_str_eq(ptr %t53, ptr %t54) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then11, label %ifend13 then11: %t57 = load i32, ptr %t34 store i32 %t57, ptr %retval br label %ret ifend13: %t58 = load i32, ptr %t34 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t34 br label %wcond8 wend10: br label %ifend7 ifend7: %t60 = load i32, ptr %t2 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t2 br label %wcond0 wend2: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str747) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then14, label %ifend16 then14: %t65 = load ptr, ptr %t1 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str748) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: store i32 0, ptr %retval br label %ret ifend19: %t68 = load ptr, ptr %t1 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str749) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: %t71 = load ptr, ptr %t1 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str750) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then23, label %ifend25 then23: store i32 2, ptr %retval br label %ret ifend25: br label %ifend16 ifend16: %t74 = sub i32 0, 1 store i32 %t74, ptr %retval br label %ret ret: %t75 = load i32, ptr %retval ret i32 %t75 } 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %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 1 %t29 = load i32, ptr %t28 %t30 = icmp sgt i32 %t29, 0 %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 %t8 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t8 br label %wcond3 wend5: store i32 1, ptr %retval br label %ret ret: %t35 = load i32, ptr %retval ret i32 %t35 } define ptr @fn_find_prefab(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %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 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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 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 ptr, ptr %t10, i32 %t11 %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, 53 %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 %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } define i32 @fn_has_countdowns() { entry: %retval = alloca i32 %t0 = alloca i32 %t14 = alloca ptr %t21 = 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 8 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: store i32 0, ptr %t21 br label %wcond6 wcond6: %t22 = load i32, ptr %t21 %t23 = load ptr, ptr %t14 %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 %wbody7, label %wend8 wbody7: %t31 = load ptr, ptr %t14 %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 ptr, ptr %t35, i32 %t36 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 %t40 = load ptr, ptr %t39 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str751) %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 %t21 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t21 br label %wcond6 wend8: br label %ifend5 ifend5: %t45 = load i32, ptr %t0 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t47 = load i32, ptr %retval ret i32 %t47 } define ptr @fn_find_fn(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %t18 = getelementptr inbounds %Cmp_Node, 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 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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 ptr @fn_find_enum(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 27 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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 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 ptr, ptr %t15, i32 %t16 %t18 = load ptr, ptr %t17 %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 1 %t22 = load i32, ptr %t21 %t23 = icmp sgt i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t26 = load i32, ptr %t1 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } 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 ptr, ptr %t16, i32 %t17 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t1 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %t25 = load i32, ptr %t2 store i32 %t25, ptr %retval br label %ret ifend5: %t26 = load i32, ptr %t2 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t2 br label %wcond0 wend2: %t28 = sub i32 0, 1 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define ptr @fn_variant_enum(ptr %arg_vname) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t28 = 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 ptr, ptr %t11, i32 %t12 %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 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 27 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: %t22 = load ptr, ptr %t15 %t23 = call i32 @fn_enum_is_tagged(ptr %t22) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then6, label %ifend8 then6: %t25 = load ptr, ptr %t15 %t26 = load ptr, ptr %t0 %t27 = call i32 @fn_variant_ordinal(ptr %t25, ptr %t26) store i32 %t27, ptr %t28 %t29 = load i32, ptr %t28 %t30 = icmp sge i32 %t29, 0 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: %t33 = load i32, ptr %t28 store i32 %t33, ptr @g_g_var_ord %t34 = load ptr, ptr %t15 store ptr %t34, ptr %retval br label %ret ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t35 = load i32, ptr %t1 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define i32 @fn_enum_max_arity(ptr %arg_en) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t24 = 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 ptr, ptr %t16, i32 %t17 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 store i32 %t23, ptr %t24 %t25 = load i32, ptr %t24 %t26 = load i32, ptr %t1 %t27 = icmp sgt i32 %t25, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %ifend5 then3: %t30 = load i32, ptr %t24 store i32 %t30, ptr %t1 br label %ifend5 ifend5: %t31 = load i32, ptr %t2 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t2 br label %wcond0 wend2: %t33 = load i32, ptr %t1 store i32 %t33, ptr %retval br label %ret ret: %t34 = load i32, ptr %retval ret i32 %t34 } 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 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 11 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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_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 @.str752) %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 @.str753) %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 ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t10 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: %t30 = load ptr, ptr @g_g_computed %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr %t11 %t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load i32, ptr %t11 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t11 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_static_type(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca i32 %t26 = alloca ptr %t54 = alloca ptr %t62 = alloca i32 %t85 = alloca i32 %t115 = alloca i32 %t126 = alloca i32 %t127 = alloca i32 %t128 = alloca i32 %t129 = alloca i32 %t130 = alloca i32 %t131 = alloca i32 %t208 = alloca i32 %t219 = alloca i32 %t220 = alloca i32 %t253 = alloca i32 %t274 = alloca i32 %t311 = alloca ptr %t329 = alloca ptr %t336 = alloca ptr %t356 = alloca ptr %t357 = alloca i32 %t380 = alloca i32 %t407 = alloca ptr %t414 = 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 ptr, ptr %t18, i32 %t19 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %retval br label %ret ifend5: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_find_global(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = icmp ne ptr %t27, null %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t26 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %retval br label %ret ifend8: br label %ifend2 ifend2: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 0 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 34 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then9, label %ifend11 then9: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 33 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then12, label %ifend14 then12: %t48 = load ptr, ptr %t0 %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 %t53 = call ptr @fn_find_fn(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = icmp ne ptr %t55, null %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then15, label %ifend17 then15: %t59 = load ptr, ptr %t54 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %retval br label %ret ifend17: br label %ifend14 ifend14: %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 35 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t62 br i1 %t70, label %sc18, label %scend19 sc18: %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 4 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 %t78 = load i32, ptr %t77 %t79 = icmp eq i32 %t78, 33 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t62 br label %scend19 scend19: %t83 = load i32, ptr %t62 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then20, label %ifend22 then20: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 %t88 = load ptr, ptr %t87 %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 @fn_find_comp(ptr %t92) %t94 = icmp ne ptr %t93, null %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t85 br i1 %t96, label %sc23, label %scend24 sc23: %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str754) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t85 br label %scend24 scend24: %t106 = load i32, ptr %t85 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then25, label %ifend27 then25: %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 4 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t113 store ptr %t114, ptr %retval br label %ret ifend27: %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 4 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str755) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t115 br i1 %t124, label %sc28, label %scend29 sc28: %t132 = load ptr, ptr %t0 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 4 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t135 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str756) %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t131 br i1 %t138, label %scend31, label %sc30 sc30: %t140 = load ptr, ptr %t0 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str757) %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t131 br label %scend31 scend31: %t148 = load i32, ptr %t131 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t130 br i1 %t149, label %scend33, label %sc32 sc32: %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 4 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str758) %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t130 br label %scend33 scend33: %t159 = load i32, ptr %t130 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t129 br i1 %t160, label %scend35, label %sc34 sc34: %t162 = load ptr, ptr %t0 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 4 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1 %t166 = load ptr, ptr %t165 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str759) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t129 br label %scend35 scend35: %t170 = load i32, ptr %t129 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t128 br i1 %t171, label %scend37, label %sc36 sc36: %t173 = load ptr, ptr %t0 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 4 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str760) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t128 br label %scend37 scend37: %t181 = load i32, ptr %t128 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t127 br i1 %t182, label %scend39, label %sc38 sc38: %t184 = load ptr, ptr %t0 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 4 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 %t188 = load ptr, ptr %t187 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str761) %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t127 br label %scend39 scend39: %t192 = load i32, ptr %t127 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t126 br i1 %t193, label %scend41, label %sc40 sc40: %t195 = load ptr, ptr %t0 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 4 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str762) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t126 br label %scend41 scend41: %t203 = load i32, ptr %t126 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t115 br label %scend29 scend29: %t206 = load i32, ptr %t115 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then42, label %ifend44 then42: store ptr @.str763, ptr %retval br label %ret ifend44: %t209 = load ptr, ptr %t0 %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 4 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 1 %t215 = load ptr, ptr %t214 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str764) %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t208 br i1 %t217, label %sc45, label %scend46 sc45: %t221 = load ptr, ptr %t0 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 4 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1 %t225 = load ptr, ptr %t224 %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str765) %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t220 br i1 %t227, label %scend48, label %sc47 sc47: %t229 = load ptr, ptr %t0 %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 1 %t233 = load ptr, ptr %t232 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str766) %t235 = icmp ne i32 %t234, 0 %t236 = zext i1 %t235 to i32 store i32 %t236, ptr %t220 br label %scend48 scend48: %t237 = load i32, ptr %t220 %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t219 br i1 %t238, label %scend50, label %sc49 sc49: %t240 = load ptr, ptr %t0 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 4 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 1 %t244 = load ptr, ptr %t243 %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str767) %t246 = icmp ne i32 %t245, 0 %t247 = zext i1 %t246 to i32 store i32 %t247, ptr %t219 br label %scend50 scend50: %t248 = load i32, ptr %t219 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t208 br label %scend46 scend46: %t251 = load i32, ptr %t208 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then51, label %ifend53 then51: store ptr @.str768, ptr %retval br label %ret ifend53: %t254 = load ptr, ptr %t0 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 4 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 4 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 1 %t260 = load ptr, ptr %t259 %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str769) %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t253 br i1 %t262, label %sc54, label %scend55 sc54: %t264 = load ptr, ptr %t0 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 4 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 1 %t268 = load ptr, ptr %t267 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str770) %t270 = icmp ne i32 %t269, 0 %t271 = zext i1 %t270 to i32 store i32 %t271, ptr %t253 br label %scend55 scend55: %t272 = load i32, ptr %t253 %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then56, label %ifend58 then56: store ptr @.str771, ptr %retval br label %ret ifend58: %t275 = load ptr, ptr %t0 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 4 %t277 = load ptr, ptr %t276 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 4 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 1 %t281 = load ptr, ptr %t280 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str772) %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t274 br i1 %t283, label %sc59, label %scend60 sc59: %t285 = load ptr, ptr %t0 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 4 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 1 %t289 = load ptr, ptr %t288 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str773) %t291 = icmp ne i32 %t290, 0 %t292 = zext i1 %t291 to i32 store i32 %t292, ptr %t274 br label %scend60 scend60: %t293 = load i32, ptr %t274 %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then61, label %ifend63 then61: store ptr @.str774, ptr %retval br label %ret ifend63: %t295 = load ptr, ptr %t0 %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 4 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 4 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 %t301 = load ptr, ptr %t300 %t302 = call ptr @fn_ns_lower(ptr %t301) %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str775) %t304 = load ptr, ptr %t0 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 4 %t306 = load ptr, ptr %t305 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 1 %t308 = load ptr, ptr %t307 %t309 = call ptr @lp_str_concat(ptr %t303, ptr %t308) %t310 = call ptr @fn_find_fn(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t311 %t313 = icmp ne ptr %t312, null %t314 = zext i1 %t313 to i32 %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then64, label %ifend66 then64: %t316 = load ptr, ptr %t311 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 3 %t318 = load ptr, ptr %t317 store ptr %t318, ptr %retval br label %ret ifend66: br label %ifend22 ifend22: br label %ifend11 ifend11: %t319 = load ptr, ptr %t0 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 0 %t321 = load i32, ptr %t320 %t322 = icmp eq i32 %t321, 35 %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then67, label %ifend69 then67: %t325 = load ptr, ptr %t0 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 4 %t327 = load ptr, ptr %t326 %t328 = call ptr @fn_static_type(ptr %t327) store ptr %t328, ptr %t329 %t330 = load ptr, ptr %t329 %t331 = icmp ne ptr %t330, null %t332 = zext i1 %t331 to i32 %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then70, label %ifend72 then70: %t334 = load ptr, ptr %t329 %t335 = call ptr @fn_layout_node(ptr %t334) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t336 %t338 = icmp ne ptr %t337, null %t339 = zext i1 %t338 to i32 %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then73, label %ifend75 then73: %t341 = load ptr, ptr %t336 %t342 = load ptr, ptr %t0 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 %t344 = load ptr, ptr %t343 %t345 = call ptr @fn_field_type(ptr %t341, ptr %t344) store ptr %t345, ptr %retval br label %ret ifend75: br label %ifend72 ifend72: br label %ifend69 ifend69: %t346 = load ptr, ptr %t0 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 0 %t348 = load i32, ptr %t347 %t349 = icmp eq i32 %t348, 36 %t350 = zext i1 %t349 to i32 %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then76, label %ifend78 then76: %t352 = load ptr, ptr %t0 %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 4 %t354 = load ptr, ptr %t353 %t355 = call ptr @fn_static_type(ptr %t354) store ptr %t355, ptr %t356 %t358 = load ptr, ptr %t356 %t359 = icmp ne ptr %t358, null %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t357 br i1 %t361, label %sc79, label %scend80 sc79: %t363 = load ptr, ptr %t356 %t364 = call i32 @fn_is_slice_ty(ptr %t363) %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t357 br label %scend80 scend80: %t367 = load i32, ptr %t357 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then81, label %ifend83 then81: %t369 = load ptr, ptr %t356 %t370 = call ptr @fn_slice_elem(ptr %t369) store ptr %t370, ptr %retval br label %ret ifend83: br label %ifend78 ifend78: %t371 = load ptr, ptr %t0 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 0 %t373 = load i32, ptr %t372 %t374 = icmp eq i32 %t373, 39 %t375 = zext i1 %t374 to i32 %t376 = icmp ne i32 %t375, 0 br i1 %t376, label %then84, label %ifend86 then84: %t377 = load ptr, ptr %t0 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 1 %t379 = load ptr, ptr %t378 store ptr %t379, ptr %retval br label %ret ifend86: %t381 = load ptr, ptr %t0 %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 0 %t383 = load i32, ptr %t382 %t384 = icmp eq i32 %t383, 54 %t385 = zext i1 %t384 to i32 %t386 = icmp ne i32 %t385, 0 %t387 = zext i1 %t386 to i32 store i32 %t387, ptr %t380 br i1 %t386, label %sc87, label %scend88 sc87: %t388 = load ptr, ptr %t0 %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 1 %t392 = load i32, ptr %t391 %t393 = icmp sgt i32 %t392, 0 %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 %t396 = zext i1 %t395 to i32 store i32 %t396, ptr %t380 br label %scend88 scend88: %t397 = load i32, ptr %t380 %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then89, label %ifend91 then89: %t399 = load ptr, ptr %t0 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7 %t401 = load ptr, ptr %t400 %t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = getelementptr inbounds ptr, ptr %t403, i32 0 %t405 = load ptr, ptr %t404 %t406 = call ptr @fn_static_type(ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t407 %t409 = icmp ne ptr %t408, null %t410 = zext i1 %t409 to i32 %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then92, label %ifend94 then92: %t412 = load ptr, ptr %t407 %t413 = call ptr @lp_str_concat(ptr @.str776, ptr %t412) store ptr %t413, ptr %retval br label %ret ifend94: br label %ifend91 ifend91: %t415 = load ptr, ptr %t0 %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 0 %t417 = load i32, ptr %t416 %t418 = icmp eq i32 %t417, 31 %t419 = zext i1 %t418 to i32 %t420 = icmp ne i32 %t419, 0 %t421 = zext i1 %t420 to i32 store i32 %t421, ptr %t414 br i1 %t420, label %scend96, label %sc95 sc95: %t422 = load ptr, ptr %t0 %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 0 %t424 = load i32, ptr %t423 %t425 = icmp eq i32 %t424, 44 %t426 = zext i1 %t425 to i32 %t427 = icmp ne i32 %t426, 0 %t428 = zext i1 %t427 to i32 store i32 %t428, ptr %t414 br label %scend96 scend96: %t429 = load i32, ptr %t414 %t430 = icmp ne i32 %t429, 0 br i1 %t430, label %then97, label %ifend99 then97: store ptr @.str777, ptr %retval br label %ret ifend99: %t431 = load ptr, ptr %t0 %t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 0 %t433 = load i32, ptr %t432 %t434 = icmp eq i32 %t433, 30 %t435 = zext i1 %t434 to i32 %t436 = icmp ne i32 %t435, 0 br i1 %t436, label %then100, label %ifend102 then100: store ptr @.str778, ptr %retval br label %ret ifend102: %t437 = load ptr, ptr %t0 %t438 = getelementptr inbounds %Cmp_Node, ptr %t437, i32 0, i32 0 %t439 = load i32, ptr %t438 %t440 = icmp eq i32 %t439, 40 %t441 = zext i1 %t440 to i32 %t442 = icmp ne i32 %t441, 0 br i1 %t442, label %then103, label %ifend105 then103: store ptr @.str779, ptr %retval br label %ret ifend105: %t443 = load ptr, ptr %t0 %t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 0 %t445 = load i32, ptr %t444 %t446 = icmp eq i32 %t445, 32 %t447 = zext i1 %t446 to i32 %t448 = icmp ne i32 %t447, 0 br i1 %t448, label %then106, label %ifend108 then106: store ptr @.str780, ptr %retval br label %ret ifend108: store ptr null, ptr %retval br label %ret ret: %t449 = load ptr, ptr %retval ret ptr %t449 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_onspawn %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_ondespawn %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_onattach %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_ondetach %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_onenable %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_ondisable %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr @g_g_events %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load i32, ptr %t1 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } 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 @.str781, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str782, 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 @.str783, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str784, 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: %t20 = load ptr, ptr @g_g_toggled_layers %t21 = load ptr, ptr %t0 %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 %grow6, label %put7 grow6: %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 %put7 put7: %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 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 i32, ptr @g_nloc %t4 = load ptr, ptr @g_loc_name %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 %then0, label %else1 then0: %t10 = load ptr, ptr @g_loc_name %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr @g_nloc %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t0 store ptr %t15, ptr %t14 %t16 = load ptr, ptr @g_loc_reg %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = load i32, ptr @g_nloc %t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19 %t21 = load ptr, ptr %t1 store ptr %t21, ptr %t20 %t22 = load ptr, ptr @g_loc_ty %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr @g_nloc %t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25 %t27 = load ptr, ptr %t2 store ptr %t27, ptr %t26 %t28 = load ptr, ptr @g_loc_mut %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = load i32, ptr @g_nloc %t32 = getelementptr inbounds i32, ptr %t30, i32 %t31 store i32 1, ptr %t32 br label %ifend2 else1: %t33 = load ptr, ptr @g_loc_name %t34 = load ptr, ptr %t0 %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 %grow3, label %put4 grow3: %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 %put4 put4: %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 = load ptr, ptr @g_loc_reg %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t58 = load i32, ptr %t55 %t59 = load i32, ptr %t56 %t60 = icmp sge i32 %t58, %t59 br i1 %t60, label %grow5, label %put6 grow5: %t61 = mul i32 %t59, 2 %t62 = icmp eq i32 %t59, 0 %t63 = select i1 %t62, i32 8, i32 %t61 %t64 = getelementptr ptr, ptr null, i32 1 %t65 = ptrtoint ptr %t64 to i64 %t66 = zext i32 %t63 to i64 %t67 = mul i64 %t66, %t65 %t68 = load ptr, ptr %t57 %t69 = call ptr @realloc(ptr %t68, i64 %t67) store ptr %t69, ptr %t57 store i32 %t63, ptr %t56 br label %put6 put6: %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds ptr, ptr %t70, i32 %t58 store ptr %t54, ptr %t71 %t72 = add i32 %t58, 1 store i32 %t72, ptr %t55 %t73 = load ptr, ptr @g_loc_ty %t74 = load ptr, ptr %t2 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t78 = load i32, ptr %t75 %t79 = load i32, ptr %t76 %t80 = icmp sge i32 %t78, %t79 br i1 %t80, label %grow7, label %put8 grow7: %t81 = mul i32 %t79, 2 %t82 = icmp eq i32 %t79, 0 %t83 = select i1 %t82, i32 8, i32 %t81 %t84 = getelementptr ptr, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 %t86 = zext i32 %t83 to i64 %t87 = mul i64 %t86, %t85 %t88 = load ptr, ptr %t77 %t89 = call ptr @realloc(ptr %t88, i64 %t87) store ptr %t89, ptr %t77 store i32 %t83, ptr %t76 br label %put8 put8: %t90 = load ptr, ptr %t77 %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t78 store ptr %t74, ptr %t91 %t92 = add i32 %t78, 1 store i32 %t92, ptr %t75 %t93 = load ptr, ptr @g_loc_mut %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2 %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t97 = load i32, ptr %t94 %t98 = load i32, ptr %t95 %t99 = icmp sge i32 %t97, %t98 br i1 %t99, label %grow9, label %put10 grow9: %t100 = mul i32 %t98, 2 %t101 = icmp eq i32 %t98, 0 %t102 = select i1 %t101, i32 8, i32 %t100 %t103 = getelementptr i32, ptr null, i32 1 %t104 = ptrtoint ptr %t103 to i64 %t105 = zext i32 %t102 to i64 %t106 = mul i64 %t105, %t104 %t107 = load ptr, ptr %t96 %t108 = call ptr @realloc(ptr %t107, i64 %t106) store ptr %t108, ptr %t96 store i32 %t102, ptr %t95 br label %put10 put10: %t109 = load ptr, ptr %t96 %t110 = getelementptr inbounds i32, ptr %t109, i32 %t97 store i32 1, ptr %t110 %t111 = add i32 %t97, 1 store i32 %t111, ptr %t94 br label %ifend2 ifend2: %t112 = load i32, ptr @g_nloc %t113 = add i32 %t112, 1 store i32 %t113, ptr @g_nloc 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 i32, ptr %t7, i32 %t9 %t11 = load i32, ptr %t0 store i32 %t11, ptr %t10 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t13, ptr %t14) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load i32, ptr %t3 store i32 %t17, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t3 %t19 = sub i32 %t18, 1 store i32 %t19, ptr %t3 br label %wcond0 wend2: %t20 = sub i32 0, 1 store i32 %t20, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } 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 %t15 = alloca i32 %t26 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 %t29 = 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 @.str785, 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 @.str786) %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 @.str787) store i32 0, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr %t15 %t17 = load i32, ptr %t10 %t18 = icmp slt i32 %t16, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody1, label %wend2 wbody1: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t15 %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 store i32 %t25, ptr %t26 %t30 = load i32, ptr %t26 %t31 = icmp eq i32 %t30, 34 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t29 br i1 %t33, label %scend4, label %sc3 sc3: %t35 = load i32, ptr %t26 %t36 = icmp eq i32 %t35, 92 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t29 br label %scend4 scend4: %t40 = load i32, ptr %t29 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br i1 %t41, label %scend6, label %sc5 sc5: %t43 = load i32, ptr %t26 %t44 = icmp slt i32 %t43, 32 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t28 br label %scend6 scend6: %t48 = load i32, ptr %t28 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t27 br i1 %t49, label %scend8, label %sc7 sc7: %t51 = load i32, ptr %t26 %t52 = icmp sgt i32 %t51, 126 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t27 br label %scend8 scend8: %t56 = load i32, ptr %t27 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %else10 then9: %t58 = load ptr, ptr @g_head call void @fn_buf_putc(ptr %t58, i32 92) %t59 = load ptr, ptr @g_head %t60 = load i32, ptr %t26 %t61 = sdiv i32 %t60, 16 %t62 = call i32 @fn_hexdig(i32 %t61) call void @fn_buf_putc(ptr %t59, i32 %t62) %t63 = load ptr, ptr @g_head %t64 = load i32, ptr %t26 %t65 = srem i32 %t64, 16 %t66 = call i32 @fn_hexdig(i32 %t65) call void @fn_buf_putc(ptr %t63, i32 %t66) br label %ifend11 else10: %t67 = load ptr, ptr @g_head %t68 = load i32, ptr %t26 call void @fn_buf_putc(ptr %t67, i32 %t68) br label %ifend11 ifend11: %t69 = load i32, ptr %t15 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t15 br label %wcond0 wend2: call void @fn_emith(ptr @.str788) %t71 = load ptr, ptr %t4 store ptr %t71, ptr %retval br label %ret ret: %t72 = load ptr, ptr %retval ret ptr %t72 } 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 @.str789) %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 @.str790, 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 @.str791) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: store ptr @.str792, ptr %retval br label %ret ifend29: store ptr @.str793, 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 @.str794) %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 %t20 = alloca ptr %t21 = alloca i32 %t39 = alloca ptr %t45 = 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 @.str795, 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 ptr, ptr %t16, i32 %t17 %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, 2 %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 %sc3, label %scend4 sc3: %t29 = load ptr, ptr %t20 %t30 = call i32 @fn_global_needs_init_code(ptr %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t21 br label %scend4 scend4: %t33 = load i32, ptr %t21 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t20 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_emit_expr(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t20 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_coerce_code(ptr %t40, ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str796) %t46 = load ptr, ptr %t20 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_llty(ptr %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str797) %t50 = load ptr, ptr %t45 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str798) %t51 = load ptr, ptr %t20 %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 @.str799) br label %ifend7 ifend7: %t54 = load i32, ptr %t6 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t6 br label %wcond0 wend2: call void @fn_emit(ptr @.str800) %t56 = load ptr, ptr %t4 store ptr %t56, ptr @g_code call void @fn_emit(ptr @.str801) %t57 = load ptr, ptr @g_falloc %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t1 %t60 = call ptr @fn_buf_str(ptr %t59) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str802) br label %ret ret: ret void } define void @fn_emit_header() { entry: %t12 = alloca i32 %t26 = alloca ptr %t33 = alloca i32 %t39 = alloca i32 %t68 = alloca i32 %t107 = alloca i32 %t149 = alloca ptr %t156 = alloca i32 %t162 = alloca i32 %t191 = alloca i32 call void @fn_emith(ptr @.str803) call void @fn_emith(ptr @.str804) call void @fn_emith(ptr @.str805) call void @fn_emith(ptr @.str806) call void @fn_emith(ptr @.str807) call void @fn_emith(ptr @.str808) call void @fn_emith(ptr @.str809) call void @fn_emith(ptr @.str810) %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 @.str811) call void @fn_emith(ptr @.str812) call void @fn_emith(ptr @.str813) call void @fn_emith(ptr @.str814) br label %ifend2 ifend2: call void @fn_emith(ptr @.str815) call void @fn_emith(ptr @.str816) call void @fn_emith(ptr @.str817) call void @fn_emith(ptr @.str818) call void @fn_emith(ptr @.str819) call void @fn_emith(ptr @.str820) call void @fn_emith(ptr @.str821) call void @fn_emith(ptr @.str822) call void @fn_emith(ptr @.str823) call void @fn_emith(ptr @.str824) call void @fn_emith(ptr @.str825) call void @fn_emith(ptr @.str826) call void @fn_emith(ptr @.str827) call void @fn_emith(ptr @.str828) call void @fn_emith(ptr @.str829) call void @fn_emith(ptr @.str830) call void @fn_emith(ptr @.str831) call void @fn_emith(ptr @.str832) call void @fn_emith(ptr @.str833) call void @fn_emith(ptr @.str834) call void @fn_emith(ptr @.str835) call void @fn_emith(ptr @.str836) call void @fn_emith(ptr @.str837) call void @fn_emith(ptr @.str838) call void @fn_emith(ptr @.str839) call void @fn_emith(ptr @.str840) call void @fn_emith(ptr @.str841) call void @fn_emith(ptr @.str842) call void @fn_emith(ptr @.str843) call void @fn_emith(ptr @.str844) call void @fn_emith(ptr @.str845) call void @fn_emith(ptr @.str846) call void @fn_emith(ptr @.str847) call void @fn_emith(ptr @.str848) call void @fn_emith(ptr @.str849) call void @fn_emith(ptr @.str850) call void @fn_emith(ptr @.str851) call void @fn_emith(ptr @.str852) call void @fn_emith(ptr @.str853) call void @fn_emith(ptr @.str854) %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 @.str855) call void @fn_emith(ptr @.str856) br label %ifend5 ifend5: call void @fn_emith(ptr @.str857) call void @fn_emith(ptr @.str858) call void @fn_emith(ptr @.str859) call void @fn_emith(ptr @.str860) call void @fn_emith(ptr @.str861) call void @fn_emith(ptr @.str862) call void @fn_emith(ptr @.str863) %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 @.str864) %t11 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t11) call void @fn_emith(ptr @.str865) call void @fn_emith(ptr @.str866) 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 8 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store i32 0, ptr %t33 br label %wcond12 wcond12: %t34 = load i32, ptr %t33 %t35 = load i32, ptr %t12 %t36 = icmp slt i32 %t34, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody13, label %wend14 wbody13: %t40 = load ptr, ptr @g_prog %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t33 %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 8 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t39 br i1 %t50, label %sc15, label %scend16 sc15: %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 %t33 %t56 = getelementptr inbounds ptr, ptr %t54, i32 %t55 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t26 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @lp_str_eq(ptr %t59, ptr %t62) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t39 br label %scend16 scend16: %t66 = load i32, ptr %t39 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: %t69 = load i32, ptr %t33 %t70 = load i32, ptr @g_g_prog_user_end %t71 = icmp slt i32 %t69, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t68 br i1 %t73, label %sc20, label %scend21 sc20: %t75 = load i32, ptr %t12 %t76 = load i32, ptr @g_g_prog_user_end %t77 = icmp sge 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 %t68 br label %scend21 scend21: %t81 = load i32, ptr %t68 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then22, label %ifend24 then22: %t83 = load ptr, ptr %t26 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str867, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str868) call void @fn_perr(ptr %t87) br label %ifend24 ifend24: %t88 = load ptr, ptr %t26 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str869, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str870) call void @fn_perr(ptr %t92) br label %ifend19 ifend19: %t93 = load i32, ptr %t33 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t33 br label %wcond12 wend14: %t95 = load ptr, ptr %t26 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_layout_ty(ptr %t97) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str871) %t99 = load ptr, ptr %t26 %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 1 %t103 = load i32, ptr %t102 %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: call void @fn_emith(ptr @.str872) br label %ifend27 ifend27: store i32 0, ptr %t107 br label %wcond28 wcond28: %t108 = load i32, ptr %t107 %t109 = load ptr, ptr %t26 %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 1 %t113 = load i32, ptr %t112 %t114 = icmp slt i32 %t108, %t113 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %wbody29, label %wend30 wbody29: %t117 = load i32, ptr %t107 %t118 = icmp sgt i32 %t117, 0 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then31, label %ifend33 then31: call void @fn_emith(ptr @.str873) br label %ifend33 ifend33: %t121 = load ptr, ptr %t26 %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 0 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t107 %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 3 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_llty(ptr %t130) call void @fn_emith(ptr %t131) %t132 = load i32, ptr %t107 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t107 br label %wcond28 wend30: call void @fn_emith(ptr @.str874) br label %ifend11 ifend11: %t134 = load i32, ptr %t12 %t135 = add i32 %t134, 1 store i32 %t135, ptr %t12 br label %wcond6 wend8: store i32 0, ptr %t12 br label %wcond34 wcond34: %t136 = load i32, ptr %t12 %t137 = load ptr, ptr @g_prog %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp slt i32 %t136, %t139 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %wbody35, label %wend36 wbody35: %t143 = load ptr, ptr @g_prog %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = load i32, ptr %t12 %t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146 %t148 = load ptr, ptr %t147 store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0 %t152 = load i32, ptr %t151 %t153 = icmp eq i32 %t152, 2 %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then37, label %ifend39 then37: store i32 0, ptr %t156 br label %wcond40 wcond40: %t157 = load i32, ptr %t156 %t158 = load i32, ptr %t12 %t159 = icmp slt i32 %t157, %t158 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %wbody41, label %wend42 wbody41: %t163 = load ptr, ptr @g_prog %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = load i32, ptr %t156 %t167 = getelementptr inbounds ptr, ptr %t165, i32 %t166 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 0 %t170 = load i32, ptr %t169 %t171 = icmp eq i32 %t170, 2 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t162 br i1 %t173, label %sc43, label %scend44 sc43: %t175 = load ptr, ptr @g_prog %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = load i32, ptr %t156 %t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t149 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 1 %t185 = load ptr, ptr %t184 %t186 = call i32 @lp_str_eq(ptr %t182, ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t162 br label %scend44 scend44: %t189 = load i32, ptr %t162 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then45, label %ifend47 then45: %t192 = load i32, ptr %t156 %t193 = load i32, ptr @g_g_prog_user_end %t194 = icmp slt i32 %t192, %t193 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t191 br i1 %t196, label %sc48, label %scend49 sc48: %t198 = load i32, ptr %t12 %t199 = load i32, ptr @g_g_prog_user_end %t200 = icmp sge i32 %t198, %t199 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t191 br label %scend49 scend49: %t204 = load i32, ptr %t191 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then50, label %ifend52 then50: %t206 = load ptr, ptr %t149 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str875, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str876) call void @fn_perr(ptr %t210) br label %ifend52 ifend52: %t211 = load ptr, ptr %t149 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr @.str877, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str878) call void @fn_perr(ptr %t215) br label %ifend47 ifend47: %t216 = load i32, ptr %t156 %t217 = add i32 %t216, 1 store i32 %t217, ptr %t156 br label %wcond40 wend42: call void @fn_emith(ptr @.str879) %t218 = load ptr, ptr %t149 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 1 %t220 = load ptr, ptr %t219 call void @fn_emith(ptr %t220) call void @fn_emith(ptr @.str880) %t221 = load ptr, ptr %t149 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 3 %t223 = load ptr, ptr %t222 %t224 = call ptr @fn_llty(ptr %t223) call void @fn_emith(ptr %t224) call void @fn_emith(ptr @.str881) %t225 = load ptr, ptr %t149 %t226 = call ptr @fn_global_init(ptr %t225) call void @fn_emith(ptr %t226) call void @fn_emith(ptr @.str882) br label %ifend39 ifend39: %t227 = load i32, ptr %t12 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t12 br label %wcond34 wend36: br label %ret ret: ret void } define void @fn_emit_extern_decls() { entry: %t0 = alloca i32 %t14 = alloca ptr %t30 = 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 11 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str883) %t21 = load ptr, ptr %t14 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 3 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_llty(ptr %t23) call void @fn_emith(ptr %t24) call void @fn_emith(ptr @.str884) %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 call void @fn_emith(ptr %t29) call void @fn_emith(ptr @.str885) store i32 0, ptr %t30 br label %wcond6 wcond6: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr %t14 %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 %wbody7, label %wend8 wbody7: %t40 = load i32, ptr %t30 %t41 = icmp sgt i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: call void @fn_emith(ptr @.str886) br label %ifend11 ifend11: %t44 = load ptr, ptr %t14 %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 %t30 %t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49 %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 %t30 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t30 br label %wcond6 wend8: call void @fn_emith(ptr @.str887) br label %ifend5 ifend5: %t57 = load i32, ptr %t0 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_str_prelude() { entry: call void @fn_emith(ptr @.str888) call void @fn_emith(ptr @.str889) call void @fn_emith(ptr @.str890) call void @fn_emith(ptr @.str891) call void @fn_emith(ptr @.str892) call void @fn_emith(ptr @.str893) call void @fn_emith(ptr @.str894) call void @fn_emith(ptr @.str895) call void @fn_emith(ptr @.str896) call void @fn_emith(ptr @.str897) call void @fn_emith(ptr @.str898) call void @fn_emith(ptr @.str899) call void @fn_emith(ptr @.str900) call void @fn_emith(ptr @.str901) call void @fn_emith(ptr @.str902) call void @fn_emith(ptr @.str903) call void @fn_emith(ptr @.str904) call void @fn_emith(ptr @.str905) call void @fn_emith(ptr @.str906) call void @fn_emith(ptr @.str907) call void @fn_emith(ptr @.str908) call void @fn_emith(ptr @.str909) call void @fn_emith(ptr @.str910) call void @fn_emith(ptr @.str911) call void @fn_emith(ptr @.str912) call void @fn_emith(ptr @.str913) call void @fn_emith(ptr @.str914) call void @fn_emith(ptr @.str915) call void @fn_emith(ptr @.str916) call void @fn_emith(ptr @.str917) call void @fn_emith(ptr @.str918) call void @fn_emith(ptr @.str919) call void @fn_emith(ptr @.str920) call void @fn_emith(ptr @.str921) call void @fn_emith(ptr @.str922) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: call void @fn_emith(ptr @.str923) call void @fn_emith(ptr @.str924) call void @fn_emith(ptr @.str925) call void @fn_emith(ptr @.str926) call void @fn_emith(ptr @.str927) call void @fn_emith(ptr @.str928) call void @fn_emith(ptr @.str929) call void @fn_emith(ptr @.str930) call void @fn_emith(ptr @.str931) call void @fn_emith(ptr @.str932) call void @fn_emith(ptr @.str933) call void @fn_emith(ptr @.str934) call void @fn_emith(ptr @.str935) call void @fn_emith(ptr @.str936) call void @fn_emith(ptr @.str937) call void @fn_emith(ptr @.str938) call void @fn_emith(ptr @.str939) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: 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) call void @fn_emith(ptr @.str947) call void @fn_emith(ptr @.str948) call void @fn_emith(ptr @.str949) call void @fn_emith(ptr @.str950) 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) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: 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) 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 @.str965, 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 @.str966, 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 @.str967) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str968) %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 @.str969) %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 @.str970) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str971) %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 %t139 = 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 @.str972) %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 @.str973, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str974) %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 @.str975, 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 @.str976) %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 @.str977, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str978) %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 @.str979, 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 @.str980) %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 @.str981) %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 @.str982, 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 @.str983) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str984, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 %t74 = call ptr @lp_str_concat(ptr @.str985, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str986) %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 @.str987) %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 @.str988) %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 @.str989, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str990) %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 @.str991, 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 @.str992, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str993) %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 @.str994, 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 @.str995) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str996) %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 @.str997) %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str998) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str999) %t132 = load ptr, ptr %t124 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str1000) %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 = call ptr @fn_nreg() store ptr %t138, ptr %t139 call void @fn_emit(ptr @.str1001) %t140 = load ptr, ptr %t139 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str1002) %t141 = load ptr, ptr %t122 %t142 = call ptr @fn_llty(ptr %t141) call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str1003) %t143 = load ptr, ptr %t130 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str1004) %t144 = load ptr, ptr %t137 %t145 = getelementptr inbounds %Cmp_Val, ptr %t144, i32 0, i32 0 %t146 = load ptr, ptr %t145 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str1005) %t147 = load ptr, ptr %t122 store ptr %t147, ptr @g_g_addr_ty %t148 = load ptr, ptr %t139 store ptr %t148, ptr %retval br label %ret ret: %t149 = load ptr, ptr %retval ret ptr %t149 } 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 @.str1006) %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 @.str1007) %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 @.str1008) %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 @.str1009) %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 @.str1010) %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 @.str1011) %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 @.str1012) %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 @.str1013) %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 @.str1014) %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 @.str1015) %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 @.str1016) %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 @.str1017) %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 @.str1018) %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 @.str1019) %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 @.str1020) %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 @.str1021) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str1022) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str1023) %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 %t11 = 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 ptr, ptr %t6, i32 %t7 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_emit_expr(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } 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 @.str1024) %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 @.str1025, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1026) %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 @.str1027, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1028) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1029) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str1030) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1031) %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 @.str1032, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1033) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1034) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str1035) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1036) %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 @.str1037) %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 @.str1038, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1039) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1040, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1041) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1042, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1043, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1044) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1045) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1046) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1047) %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 @.str1048, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1049) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1050) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1051) %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 @.str1052, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1053) %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 @.str1054, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1055) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1056) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1057) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1058) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1059) %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 @.str1060, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1061) %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 @.str1062, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1063) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1064) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1065) %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 @.str1066) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1067) %t140 = call ptr @fn_val(ptr @.str1068, ptr @.str1069) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1070) %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 @.str1071) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1072) %t148 = call ptr @fn_val(ptr @.str1073, ptr @.str1074) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1075) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1076) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1077) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1078) %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 @.str1079) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1080, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1081) %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 @.str1082, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1083) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1084) %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 @.str1085) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1086) call void @fn_emit(ptr @.str1087) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1088, ptr @.str1089) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1090) %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 @.str1091) store ptr %t186, ptr %retval br label %ret ifend37: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1092) %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 @.str1093) store ptr %t192, ptr %retval br label %ret ifend40: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1094) %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 @.str1095, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1096) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_val(ptr %t202, ptr @.str1097) store ptr %t203, ptr %retval br label %ret ifend43: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1098) %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 @.str1099, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1100) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str1101) store ptr %t214, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t215 = call ptr @fn_val(ptr @.str1102, ptr @.str1103) 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 @.str1104, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1105) 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 @.str1106, ptr %retval br label %ret ifend5: store ptr @.str1107, 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 %t89 = alloca i32 %t103 = alloca i32 %t104 = alloca i32 %t122 = alloca i32 %t123 = alloca i32 %t124 = alloca i32 %t149 = alloca i32 %t150 = alloca i32 %t168 = alloca i32 %t169 = alloca i32 %t170 = alloca i32 %t195 = alloca i32 %t196 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1108) %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 @.str1109) %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 @.str1110) %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 @.str1111) %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 @.str1112) %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 @.str1113) %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 @.str1114) %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 @.str1115) %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 @.str1116) %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 @.str1117) %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 @.str1118) %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 @.str1119) %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 @.str1120) %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 @.str1121) %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 @.str1122) %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 @.str1123) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then37, label %ifend39 then37: store i32 1, ptr %retval br label %ret ifend39: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str1124) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t89 br i1 %t92, label %scend41, label %sc40 sc40: %t94 = load ptr, ptr %t0 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str1125) %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t89 br label %scend41 scend41: %t98 = load i32, ptr %t89 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then42, label %ifend44 then42: store i32 1, ptr %retval br label %ret ifend44: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1126) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then45, label %ifend47 then45: store i32 1, ptr %retval br label %ret ifend47: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1127) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t104 br i1 %t107, label %scend49, label %sc48 sc48: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str1128) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t104 br label %scend49 scend49: %t113 = load i32, ptr %t104 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t103 br i1 %t114, label %scend51, label %sc50 sc50: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str1129) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t103 br label %scend51 scend51: %t120 = load i32, ptr %t103 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then52, label %ifend54 then52: store i32 1, ptr %retval br label %ret ifend54: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1130) %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t124 br i1 %t127, label %scend56, label %sc55 sc55: %t129 = load ptr, ptr %t0 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str1131) %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t124 br label %scend56 scend56: %t133 = load i32, ptr %t124 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t123 br i1 %t134, label %scend58, label %sc57 sc57: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str1132) %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t123 br label %scend58 scend58: %t140 = load i32, ptr %t123 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t122 br i1 %t141, label %scend60, label %sc59 sc59: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str1133) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t122 br label %scend60 scend60: %t147 = load i32, ptr %t122 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then61, label %ifend63 then61: store i32 1, ptr %retval br label %ret ifend63: %t151 = load ptr, ptr %t0 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str1134) %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t150 br i1 %t153, label %scend65, label %sc64 sc64: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str1135) %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t150 br label %scend65 scend65: %t159 = load i32, ptr %t150 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t149 br i1 %t160, label %scend67, label %sc66 sc66: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str1136) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t149 br label %scend67 scend67: %t166 = load i32, ptr %t149 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then68, label %ifend70 then68: store i32 1, ptr %retval br label %ret ifend70: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str1137) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t170 br i1 %t173, label %scend72, label %sc71 sc71: %t175 = load ptr, ptr %t0 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str1138) %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t170 br label %scend72 scend72: %t179 = load i32, ptr %t170 %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t169 br i1 %t180, label %scend74, label %sc73 sc73: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str1139) %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t169 br label %scend74 scend74: %t186 = load i32, ptr %t169 %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t168 br i1 %t187, label %scend76, label %sc75 sc75: %t189 = load ptr, ptr %t0 %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str1140) %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t168 br label %scend76 scend76: %t193 = load i32, ptr %t168 %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then77, label %ifend79 then77: store i32 1, ptr %retval br label %ret ifend79: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str1141) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t196 br i1 %t199, label %scend81, label %sc80 sc80: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str1142) %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t196 br label %scend81 scend81: %t205 = load i32, ptr %t196 %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t195 br i1 %t206, label %scend83, label %sc82 sc82: %t208 = load ptr, ptr %t0 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str1143) %t210 = icmp ne i32 %t209, 0 %t211 = zext i1 %t210 to i32 store i32 %t211, ptr %t195 br label %scend83 scend83: %t212 = load i32, ptr %t195 %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then84, label %ifend86 then84: store i32 1, ptr %retval br label %ret ifend86: store i32 0, ptr %retval br label %ret ret: %t214 = load i32, ptr %retval ret i32 %t214 } 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 %t63 = alloca ptr %t79 = alloca ptr %t110 = alloca ptr %t113 = alloca ptr %t116 = alloca ptr %t119 = alloca ptr %t130 = alloca ptr %t133 = alloca ptr %t136 = alloca ptr %t150 = alloca ptr %t158 = alloca ptr %t166 = alloca ptr %t177 = alloca ptr %t185 = alloca ptr %t193 = alloca ptr %t201 = alloca ptr %t212 = alloca ptr %t215 = alloca ptr %t218 = alloca ptr %t221 = alloca ptr %t232 = alloca ptr %t240 = alloca ptr %t251 = alloca ptr %t254 = alloca ptr %t263 = alloca ptr %t266 = alloca ptr %t275 = alloca ptr %t278 = alloca ptr %t287 = alloca ptr %t290 = alloca ptr %t304 = alloca ptr %t307 = alloca ptr %t310 = alloca ptr %t320 = alloca ptr %t323 = alloca ptr %t326 = alloca ptr %t336 = alloca ptr %t339 = alloca ptr %t348 = alloca ptr %t359 = alloca ptr %t370 = alloca ptr %t381 = alloca ptr %t392 = alloca ptr %t395 = alloca ptr %t409 = 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 @.str1144) %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 @.str1145) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1146) %t9 = call ptr @fn_val(ptr @.str1147, ptr @.str1148) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1149) %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 @.str1150, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1151) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1152) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1153) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1154) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1155) %t30 = call ptr @fn_val(ptr @.str1156, ptr @.str1157) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1158) %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 @.str1159) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1160) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1161) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1162) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1163) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1164) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1165) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1166) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1167) %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 ptr, ptr %t59, i32 0 %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 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_val(ptr %t66, ptr @.str1168) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1169) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then15, label %ifend17 then15: %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 ptr, ptr %t75, 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_val(ptr %t82, ptr @.str1170) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1171) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then18, label %ifend20 then18: %t87 = load i32, ptr @g_g_windowed %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then21, label %ifend23 then21: %t89 = call ptr @fn_val(ptr @.str1172, ptr @.str1173) store ptr %t89, ptr %retval br label %ret ifend23: %t90 = call ptr @fn_val(ptr @.str1174, ptr @.str1175) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1176) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: %t94 = call ptr @fn_val(ptr @.str1177, ptr @.str1178) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1179) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: %t98 = call ptr @fn_emit_bind(ptr @.str1180) %t99 = call ptr @fn_val(ptr %t98, ptr @.str1181) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1182) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: %t103 = call ptr @fn_emit_bind(ptr @.str1183) %t104 = call ptr @fn_val(ptr %t103, ptr @.str1184) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1185) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then33, label %ifend35 then33: %t108 = load ptr, ptr %t1 %t109 = call ptr @fn_arg_code(ptr %t108, i32 0) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t1 %t112 = call ptr @fn_arg_code(ptr %t111, i32 1) store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t1 %t115 = call ptr @fn_arg_code(ptr %t114, i32 2) store ptr %t115, ptr %t116 %t117 = load ptr, ptr %t1 %t118 = call ptr @fn_arg_code(ptr %t117, i32 3) store ptr %t118, ptr %t119 call void @fn_emit(ptr @.str1186) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str1187) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str1188) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str1189) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str1190) %t124 = call ptr @fn_val(ptr @.str1191, ptr @.str1192) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1193) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then36, label %ifend38 then36: %t128 = load ptr, ptr %t1 %t129 = call ptr @fn_arg_code(ptr %t128, i32 0) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t1 %t132 = call ptr @fn_arg_code(ptr %t131, i32 1) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t1 %t135 = call ptr @fn_arg_code(ptr %t134, i32 2) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str1194) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str1195) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str1196) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1197) %t140 = call ptr @fn_val(ptr @.str1198, ptr @.str1199) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1200) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: call void @fn_emit(ptr @.str1201) %t144 = call ptr @fn_val(ptr @.str1202, ptr @.str1203) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1204) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then42, label %ifend44 then42: %t148 = load ptr, ptr %t1 %t149 = call ptr @fn_arg_code(ptr %t148, i32 0) store ptr %t149, ptr %t150 call void @fn_emit(ptr @.str1205) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str1206) %t152 = call ptr @fn_val(ptr @.str1207, ptr @.str1208) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1209) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then45, label %ifend47 then45: %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 @.str1210) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1211) %t160 = call ptr @fn_val(ptr @.str1212, ptr @.str1213) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1214) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then48, label %ifend50 then48: %t164 = load ptr, ptr %t1 %t165 = call ptr @fn_arg_code(ptr %t164, i32 0) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = call ptr @lp_str_concat(ptr @.str1215, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1216) %t170 = call ptr @fn_emit_bind(ptr %t169) %t171 = call ptr @fn_val(ptr %t170, ptr @.str1217) store ptr %t171, ptr %retval br label %ret ifend50: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1218) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then51, label %ifend53 then51: %t175 = load ptr, ptr %t1 %t176 = call ptr @fn_arg_code(ptr %t175, i32 0) store ptr %t176, ptr %t177 call void @fn_emit(ptr @.str1219) %t178 = load ptr, ptr %t177 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str1220) %t179 = call ptr @fn_val(ptr @.str1221, ptr @.str1222) store ptr %t179, ptr %retval br label %ret ifend53: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str1223) %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then54, label %ifend56 then54: %t183 = load ptr, ptr %t1 %t184 = call ptr @fn_arg_code(ptr %t183, i32 0) store ptr %t184, ptr %t185 call void @fn_emit(ptr @.str1224) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str1225) %t187 = call ptr @fn_val(ptr @.str1226, ptr @.str1227) store ptr %t187, ptr %retval br label %ret ifend56: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str1228) %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then57, label %ifend59 then57: %t191 = load ptr, ptr %t1 %t192 = call ptr @fn_arg_code(ptr %t191, i32 0) store ptr %t192, ptr %t193 call void @fn_emit(ptr @.str1229) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str1230) %t195 = call ptr @fn_val(ptr @.str1231, ptr @.str1232) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1233) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then60, label %ifend62 then60: %t199 = load ptr, ptr %t1 %t200 = call ptr @fn_arg_code(ptr %t199, i32 0) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t201 %t203 = call ptr @lp_str_concat(ptr @.str1234, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str1235) %t205 = call ptr @fn_emit_bind(ptr %t204) %t206 = call ptr @fn_val(ptr %t205, ptr @.str1236) store ptr %t206, ptr %retval br label %ret ifend62: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str1237) %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then63, label %ifend65 then63: %t210 = load ptr, ptr %t1 %t211 = call ptr @fn_arg_code(ptr %t210, i32 0) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t1 %t214 = call ptr @fn_arg_code(ptr %t213, i32 1) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t1 %t217 = call ptr @fn_arg_code(ptr %t216, i32 2) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_arg_code(ptr %t219, i32 3) store ptr %t220, ptr %t221 call void @fn_emit(ptr @.str1238) %t222 = load ptr, ptr %t212 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str1239) %t223 = load ptr, ptr %t215 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str1240) %t224 = load ptr, ptr %t218 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str1241) %t225 = load ptr, ptr %t221 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str1242) %t226 = call ptr @fn_val(ptr @.str1243, ptr @.str1244) store ptr %t226, ptr %retval br label %ret ifend65: %t227 = load ptr, ptr %t0 %t228 = call i32 @lp_str_eq(ptr %t227, ptr @.str1245) %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then66, label %ifend68 then66: %t230 = load ptr, ptr %t1 %t231 = call ptr @fn_arg_code(ptr %t230, i32 0) store ptr %t231, ptr %t232 call void @fn_emit(ptr @.str1246) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str1247) %t234 = call ptr @fn_val(ptr @.str1248, ptr @.str1249) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1250) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then69, label %ifend71 then69: %t238 = load ptr, ptr %t1 %t239 = call ptr @fn_arg_code(ptr %t238, i32 0) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t240 %t242 = call ptr @lp_str_concat(ptr @.str1251, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str1252) %t244 = call ptr @fn_emit_bind(ptr %t243) %t245 = call ptr @fn_val(ptr %t244, ptr @.str1253) store ptr %t245, ptr %retval br label %ret ifend71: %t246 = load ptr, ptr %t0 %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str1254) %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then72, label %ifend74 then72: %t249 = load ptr, ptr %t1 %t250 = call ptr @fn_arg_code(ptr %t249, i32 0) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t1 %t253 = call ptr @fn_arg_code(ptr %t252, i32 1) store ptr %t253, ptr %t254 call void @fn_emit(ptr @.str1255) %t255 = load ptr, ptr %t251 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str1256) %t256 = load ptr, ptr %t254 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str1257) %t257 = call ptr @fn_val(ptr @.str1258, ptr @.str1259) store ptr %t257, ptr %retval br label %ret ifend74: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str1260) %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then75, label %ifend77 then75: %t261 = load ptr, ptr %t1 %t262 = call ptr @fn_arg_code(ptr %t261, i32 0) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t1 %t265 = call ptr @fn_arg_code(ptr %t264, i32 1) store ptr %t265, ptr %t266 call void @fn_emit(ptr @.str1261) %t267 = load ptr, ptr %t263 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str1262) %t268 = load ptr, ptr %t266 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str1263) %t269 = call ptr @fn_val(ptr @.str1264, ptr @.str1265) store ptr %t269, ptr %retval br label %ret ifend77: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1266) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then78, label %ifend80 then78: %t273 = load ptr, ptr %t1 %t274 = call ptr @fn_arg_code(ptr %t273, i32 0) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t1 %t277 = call ptr @fn_arg_code(ptr %t276, i32 1) store ptr %t277, ptr %t278 call void @fn_emit(ptr @.str1267) %t279 = load ptr, ptr %t275 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str1268) %t280 = load ptr, ptr %t278 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str1269) %t281 = call ptr @fn_val(ptr @.str1270, ptr @.str1271) store ptr %t281, ptr %retval br label %ret ifend80: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str1272) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then81, label %ifend83 then81: %t285 = load ptr, ptr %t1 %t286 = call ptr @fn_arg_code(ptr %t285, i32 0) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t1 %t289 = call ptr @fn_arg_code(ptr %t288, i32 1) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t287 %t292 = call ptr @lp_str_concat(ptr @.str1273, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1274) %t294 = load ptr, ptr %t290 %t295 = call ptr @lp_str_concat(ptr %t293, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str1275) %t297 = call ptr @fn_emit_bind(ptr %t296) %t298 = call ptr @fn_val(ptr %t297, ptr @.str1276) store ptr %t298, ptr %retval br label %ret ifend83: %t299 = load ptr, ptr %t0 %t300 = call i32 @lp_str_eq(ptr %t299, ptr @.str1277) %t301 = icmp ne i32 %t300, 0 br i1 %t301, label %then84, label %ifend86 then84: %t302 = load ptr, ptr %t1 %t303 = call ptr @fn_arg_code(ptr %t302, i32 0) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t1 %t306 = call ptr @fn_arg_code(ptr %t305, i32 1) store ptr %t306, ptr %t307 %t308 = load ptr, ptr %t1 %t309 = call ptr @fn_arg_code(ptr %t308, i32 2) store ptr %t309, ptr %t310 call void @fn_emit(ptr @.str1278) %t311 = load ptr, ptr %t304 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str1279) %t312 = load ptr, ptr %t307 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str1280) %t313 = load ptr, ptr %t310 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str1281) %t314 = call ptr @fn_val(ptr @.str1282, ptr @.str1283) store ptr %t314, ptr %retval br label %ret ifend86: %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str1284) %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then87, label %ifend89 then87: %t318 = load ptr, ptr %t1 %t319 = call ptr @fn_arg_code(ptr %t318, i32 0) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t1 %t322 = call ptr @fn_arg_code(ptr %t321, i32 1) store ptr %t322, ptr %t323 %t324 = load ptr, ptr %t1 %t325 = call ptr @fn_arg_code(ptr %t324, i32 2) store ptr %t325, ptr %t326 call void @fn_emit(ptr @.str1285) %t327 = load ptr, ptr %t320 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str1286) %t328 = load ptr, ptr %t323 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str1287) %t329 = load ptr, ptr %t326 call void @fn_emit(ptr %t329) call void @fn_emit(ptr @.str1288) %t330 = call ptr @fn_val(ptr @.str1289, ptr @.str1290) store ptr %t330, ptr %retval br label %ret ifend89: %t331 = load ptr, ptr %t0 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str1291) %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then90, label %ifend92 then90: %t334 = load ptr, ptr %t1 %t335 = call ptr @fn_arg_code(ptr %t334, i32 0) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t1 %t338 = call ptr @fn_arg_code(ptr %t337, i32 1) store ptr %t338, ptr %t339 call void @fn_emit(ptr @.str1292) %t340 = load ptr, ptr %t336 call void @fn_emit(ptr %t340) call void @fn_emit(ptr @.str1293) %t341 = load ptr, ptr %t339 call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str1294) %t342 = call ptr @fn_val(ptr @.str1295, ptr @.str1296) store ptr %t342, ptr %retval br label %ret ifend92: %t343 = load ptr, ptr %t0 %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str1297) %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then93, label %ifend95 then93: %t346 = load ptr, ptr %t1 %t347 = call ptr @fn_arg_code(ptr %t346, i32 0) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t348 %t350 = call ptr @lp_str_concat(ptr @.str1298, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str1299) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str1300) store ptr %t353, ptr %retval br label %ret ifend95: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str1301) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then96, label %ifend98 then96: %t357 = load ptr, ptr %t1 %t358 = call ptr @fn_arg_code(ptr %t357, i32 0) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t359 %t361 = call ptr @lp_str_concat(ptr @.str1302, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str1303) %t363 = call ptr @fn_emit_bind(ptr %t362) %t364 = call ptr @fn_val(ptr %t363, ptr @.str1304) store ptr %t364, ptr %retval br label %ret ifend98: %t365 = load ptr, ptr %t0 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str1305) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then99, label %ifend101 then99: %t368 = load ptr, ptr %t1 %t369 = call ptr @fn_arg_code(ptr %t368, i32 0) store ptr %t369, ptr %t370 %t371 = load ptr, ptr %t370 %t372 = call ptr @lp_str_concat(ptr @.str1306, ptr %t371) %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str1307) %t374 = call ptr @fn_emit_bind(ptr %t373) %t375 = call ptr @fn_val(ptr %t374, ptr @.str1308) store ptr %t375, ptr %retval br label %ret ifend101: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str1309) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then102, label %ifend104 then102: %t379 = load ptr, ptr %t1 %t380 = call ptr @fn_arg_code(ptr %t379, i32 0) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t381 %t383 = call ptr @lp_str_concat(ptr @.str1310, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str1311) %t385 = call ptr @fn_emit_bind(ptr %t384) %t386 = call ptr @fn_val(ptr %t385, ptr @.str1312) store ptr %t386, ptr %retval br label %ret ifend104: %t387 = load ptr, ptr %t0 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str1313) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then105, label %ifend107 then105: %t390 = load ptr, ptr %t1 %t391 = call ptr @fn_arg_code(ptr %t390, i32 0) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t1 %t394 = call ptr @fn_arg_code(ptr %t393, i32 1) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t392 %t397 = call ptr @lp_str_concat(ptr @.str1314, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str1315) %t399 = load ptr, ptr %t395 %t400 = call ptr @lp_str_concat(ptr %t398, ptr %t399) %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str1316) %t402 = call ptr @fn_emit_bind(ptr %t401) %t403 = call ptr @fn_val(ptr %t402, ptr @.str1317) store ptr %t403, ptr %retval br label %ret ifend107: %t404 = load ptr, ptr %t0 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str1318) %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then108, label %ifend110 then108: %t407 = load ptr, ptr %t1 %t408 = call ptr @fn_arg_code(ptr %t407, i32 0) store ptr %t408, ptr %t409 call void @fn_emit(ptr @.str1319) %t410 = load ptr, ptr %t409 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str1320) %t411 = call ptr @fn_val(ptr @.str1321, ptr @.str1322) store ptr %t411, ptr %retval br label %ret ifend110: %t412 = call ptr @fn_val(ptr @.str1323, ptr @.str1324) store ptr %t412, ptr %retval br label %ret ret: %t413 = load ptr, ptr %retval ret ptr %t413 } 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 @.str1325) %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 @.str1326) %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 @.str1327, 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: %t18 = load ptr, ptr %t0 store ptr %t18, ptr @g_g_det_ctx br label %ifend5 ifend5: %t19 = load i32, ptr %t1 %t20 = add i32 %t19, 1 store i32 %t20, 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 @.str1328) %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 @.str1329, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1330) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1331) 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 @.str1332) %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 @.str1333) %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 @.str1334, ptr %retval br label %ret ifend4: store ptr @.str1335, 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 @.str1336, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str1337) %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 @.str1338, 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 @.str1339) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: store ptr @.str1340, 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 @.str1341) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then15, label %ifend17 then15: store ptr @.str1342, 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 @.str1343) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: store ptr @.str1344, 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 @.str1345) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: store ptr @.str1346, ptr %t61 br label %ifend23 ifend23: %t82 = load ptr, ptr %t61 %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str1347) %t84 = load ptr, ptr %t1 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1348) %t87 = load ptr, ptr %t54 %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1349) %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 @.str1350) store ptr @.str1351, 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 @.str1352) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1353, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1354) %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 @.str1355) %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 @.str1356, ptr %retval br label %ret ifend7: store ptr @.str1357, 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 @.str1358) store ptr %t10, ptr %t3 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1359) %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 @.str1360, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1361) %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 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 @.str1362) %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 @.str1363) %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 @.str1364, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1365) %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 @.str1366) %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 @.str1367) %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 @.str1368) 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 @.str1369) %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 @.str1370) %t65 = load ptr, ptr %t1 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1371) %t68 = load ptr, ptr %t1 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1372) 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 %t76 = load ptr, ptr %t75 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1373) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then19, label %ifend21 then19: %t79 = load ptr, ptr %t0 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t81, ptr %t82) %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str1374, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str1375) %t88 = load ptr, ptr %t1 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %retval br label %ret ifend21: %t91 = load ptr, ptr %t75 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1376) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then22, label %ifend24 then22: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call i32 @fn_is_int_const(ptr %t96) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then25, label %ifend27 then25: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = load ptr, ptr %t1 %t103 = call ptr @fn_fp_lit_code(ptr %t101, ptr %t102) store ptr %t103, ptr %retval br label %ret ifend27: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 %t107 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t106, ptr %t107) %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr @.str1377, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1378) %t113 = load ptr, ptr %t1 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %retval br label %ret ifend24: %t116 = load ptr, ptr %t2 %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str1379) %t118 = load ptr, ptr %t0 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call ptr @lp_str_concat(ptr %t117, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str1380) call void @fn_perr(ptr %t122) %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 store ptr %t125, ptr %retval br label %ret ret: %t126 = load ptr, ptr %retval ret ptr %t126 } 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 @.str1381) %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 @.str1382, ptr %t15 br label %ifend11 ifend11: %t20 = load ptr, ptr %t15 %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1383) %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 @.str1384) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1385) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1386) 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 @.str1387) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1388, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1389) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str1390, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str1391) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str1392, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1393) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str1394, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1395) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str1396, ptr %retval br label %ret ifend14: store ptr @.str1397, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } 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 ptr %t4 = alloca i32 %t42 = alloca ptr %t48 = alloca ptr %t65 = alloca ptr %t71 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store ptr @.str1398, 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 i32 @fn_is_fp(ptr %t7) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t4 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr %t2 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 %t14 = call i32 @fn_is_fp(ptr %t13) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br label %scend1 scend1: %t17 = load i32, ptr %t4 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %else3 then2: %t19 = load ptr, ptr %t1 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_fp_result(ptr %t21, ptr %t24) store ptr %t25, ptr %t3 br label %ifend4 else3: %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @fn_is_fp(ptr %t28) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %else6 then5: %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t3 br label %ifend7 else6: %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t3 br label %ifend7 ifend7: br label %ifend4 ifend4: %t37 = load ptr, ptr %t1 %t38 = load ptr, ptr %t3 %t39 = load ptr, ptr %t0 %t40 = call ptr @lp_str_concat(ptr @.str1399, ptr %t39) %t41 = call ptr @fn_to_fp(ptr %t37, ptr %t38, ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t2 %t44 = load ptr, ptr %t3 %t45 = load ptr, ptr %t0 %t46 = call ptr @lp_str_concat(ptr @.str1400, ptr %t45) %t47 = call ptr @fn_to_fp(ptr %t43, ptr %t44, ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t0 %t50 = call i32 @fn_is_cmp(ptr %t49) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: %t52 = load ptr, ptr %t0 %t53 = call ptr @fn_fcmp_code(ptr %t52) %t54 = call ptr @lp_str_concat(ptr @.str1401, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1402) %t56 = load ptr, ptr %t3 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1403) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr %t58, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str1404) %t62 = load ptr, ptr %t48 %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 @.str1405, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str1406) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str1407) store ptr %t70, ptr %retval br label %ret ifend10: store ptr @.str1408, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1409) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then11, label %ifend13 then11: store ptr @.str1410, ptr %t71 br label %ifend13 ifend13: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str1411) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then14, label %ifend16 then14: store ptr @.str1412, ptr %t71 br label %ifend16 ifend16: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1413) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: store ptr @.str1414, ptr %t71 br label %ifend19 ifend19: %t81 = load ptr, ptr %t0 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str1415) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then20, label %ifend22 then20: store ptr @.str1416, ptr %t71 br label %ifend22 ifend22: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1417) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then23, label %ifend25 then23: store ptr @.str1418, ptr %t71 br label %ifend25 ifend25: %t87 = load ptr, ptr %t71 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1419) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then26, label %ifend28 then26: %t90 = load ptr, ptr %t0 %t91 = call ptr @lp_str_concat(ptr @.str1420, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str1421) %t93 = load ptr, ptr %t3 %t94 = call ptr @lp_str_concat(ptr %t92, ptr %t93) call void @fn_perr(ptr %t94) br label %ifend28 ifend28: %t95 = load ptr, ptr %t71 %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str1422) %t97 = load ptr, ptr %t3 %t98 = call ptr @lp_str_concat(ptr %t96, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str1423) %t100 = load ptr, ptr %t42 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1424) %t103 = load ptr, ptr %t48 %t104 = call ptr @lp_str_concat(ptr %t102, ptr %t103) %t105 = call ptr @fn_emit_bind(ptr %t104) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_val(ptr %t105, ptr %t106) store ptr %t107, ptr %retval br label %ret ret: %t108 = load ptr, ptr %retval ret ptr %t108 } 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 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 @.str1425) %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 @.str1426, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1427) %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 @.str1428, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1429) %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 @.str1430) %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 @.str1431, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1432) %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 @.str1433, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1434) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1435) %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 = load ptr, ptr %t0 %t72 = load ptr, ptr %t0 %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str1436) %t74 = call ptr @fn_to_fp(ptr %t70, ptr %t71, ptr %t73) %t75 = load ptr, ptr %t0 %t76 = call ptr @fn_val(ptr %t74, ptr %t75) store ptr %t76, ptr %retval br label %ret ret: %t77 = load ptr, ptr %retval ret ptr %t77 } 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 @.str1437, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1438) %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 @.str1439) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1440) 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 @.str1441, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1442) %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 @.str1443) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1444) 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 @.str1445, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1446) %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 @.str1447) %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 @.str1448, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1449) %t18 = load ptr, ptr %t12 %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1450) %t21 = call ptr @fn_emit_bind(ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str1451) 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 @.str1452, ptr @.str1453) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1454, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1455) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1456) 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 @.str1457, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1458) %t6 = call ptr @fn_emit_bind(ptr %t5) %t7 = call ptr @fn_val(ptr %t6, ptr @.str1459) 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 @.str1460, ptr @.str1461) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1462, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1463) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1464) 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 @.str1465, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1466) %t5 = call ptr @fn_emit_bind(ptr %t4) %t6 = call ptr @fn_val(ptr %t5, ptr @.str1467) 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 @.str1468, 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 @.str1469) %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 @.str1470, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1471) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t4 store ptr @.str1472, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 %t18 = call ptr @lp_str_concat(ptr @.str1473, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1474) %t20 = load ptr, ptr %t5 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1475) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str1476) 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 @.str1477) call void @fn_fp_declare(ptr @.str1478) call void @fn_fp_declare(ptr @.str1479) call void @fn_emith(ptr @.str1480) call void @fn_emith(ptr @.str1481) call void @fn_emith(ptr @.str1482) call void @fn_emith(ptr @.str1483) call void @fn_emith(ptr @.str1484) call void @fn_emith(ptr @.str1485) call void @fn_emith(ptr @.str1486) call void @fn_emith(ptr @.str1487) call void @fn_emith(ptr @.str1488) call void @fn_emith(ptr @.str1489) call void @fn_emith(ptr @.str1490) call void @fn_emith(ptr @.str1491) call void @fn_emith(ptr @.str1492) call void @fn_emith(ptr @.str1493) call void @fn_emith(ptr @.str1494) call void @fn_emith(ptr @.str1495) call void @fn_emith(ptr @.str1496) call void @fn_emith(ptr @.str1497) call void @fn_emith(ptr @.str1498) call void @fn_emith(ptr @.str1499) 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 @.str1500, ptr %t2 store ptr @.str1501, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1502) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1503, ptr %t2 store ptr @.str1504, 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 @.str1505, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1506) %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 @.str1507, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1508) %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 @.str1509, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1510) %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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: br label %ret ifend5: %t18 = load i32, ptr %t1 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t1 br label %wcond0 wend2: %t20 = load ptr, ptr @g_g_fp_decls %t21 = load ptr, ptr %t0 %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 %grow6, label %put7 grow6: %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 %put7 put7: %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 ptr, ptr %t0 call void @fn_emith(ptr %t40) 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 @.str1511) %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 @.str1512) store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str1513, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1514) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1515) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1516) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1517, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1518) %t22 = load ptr, ptr %t4 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1519) %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1520) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1521) %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 @.str1522) %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 @.str1523) store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr @.str1524, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1525) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1526) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1527) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1528) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1529, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1530) %t26 = load ptr, ptr %t5 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1531) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1532) %t32 = load ptr, ptr %t2 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1533) %t35 = load ptr, ptr %t1 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1534) %t38 = load ptr, ptr %t3 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1535) %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 @.str1536, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1537) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1538, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str1539, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1540) %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1541) %t13 = load ptr, ptr %t3 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1542) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1543) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1544, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1545) %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1546) %t25 = load ptr, ptr %t3 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1547) %t28 = load ptr, ptr %t1 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1548) %t31 = load ptr, ptr %t2 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1549) %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 @.str1550, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1551) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1552, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr @.str1553, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1554) %t11 = load ptr, ptr %t0 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1555) %t14 = load ptr, ptr %t4 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1556) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1557) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1558) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1559, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1560) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1561) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1562) %t32 = load ptr, ptr %t1 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1563) %t35 = load ptr, ptr %t2 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1564) %t38 = load ptr, ptr %t1 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1565) %t41 = load ptr, ptr %t3 %t42 = call ptr @lp_str_concat(ptr %t40, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1566) %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 @.str1567, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1568) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1569, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 %t9 = call ptr @lp_str_concat(ptr @.str1570, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1571) %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1572) %t14 = load ptr, ptr %t2 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1573) %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 @.str1574, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1575) %t24 = load ptr, ptr %t1 %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1576) %t27 = load ptr, ptr %t2 %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1577) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1578) %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 %t30 = alloca ptr %t31 = alloca i32 store ptr %arg_first, ptr %t0 store ptr %arg_e, ptr %t1 store ptr @.str1579, 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 ptr, ptr %t25, i32 %t26 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_static_type(ptr %t28) store ptr %t29, ptr %t30 %t32 = load ptr, ptr %t30 %t33 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t31 br i1 %t35, label %sc6, label %scend7 sc6: %t37 = load ptr, ptr %t30 %t38 = call i32 @fn_is_fp(ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t31 br label %scend7 scend7: %t41 = load i32, ptr %t31 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then8, label %ifend10 then8: %t43 = load ptr, ptr %t2 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str1580) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %else12 then11: %t46 = load ptr, ptr %t30 store ptr %t46, ptr %t2 br label %ifend13 else12: %t47 = load ptr, ptr %t2 %t48 = load ptr, ptr %t30 %t49 = call ptr @fn_fp_result(ptr %t47, ptr %t48) store ptr %t49, ptr %t2 br label %ifend13 ifend13: br label %ifend10 ifend10: %t50 = load i32, ptr %t11 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t11 br label %wcond3 wend5: %t52 = load ptr, ptr %t2 store ptr %t52, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } 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 %t13 = 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 ptr, ptr %t8, i32 %t9 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t2 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str1581, ptr %t16) %t18 = call ptr @fn_to_fp(ptr %t14, ptr %t15, ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } 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 @.str1582, 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 @.str1583) %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 @.str1584, 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 @.str1585) %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 @.str1586, 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 @.str1587) %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 @.str1588, 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 @.str1589) %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 @.str1590, 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 @.str1591) %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 @.str1592, 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 @.str1593) %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 @.str1594, 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 @.str1595) %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 @.str1596, 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 @.str1597) %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 @.str1598, 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 @.str1599) %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 @.str1600, 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 @.str1601) %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 @.str1602, 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 @.str1603) %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 @.str1604, 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 @.str1605) %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 @.str1606, 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 @.str1607) %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 @.str1608, 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 @.str1609) %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 @.str1610, 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 @.str1611) %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 @.str1612, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1613) %t128 = load ptr, ptr %t9 %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1614) %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 @.str1615, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str1616) %t136 = load ptr, ptr %t9 %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1617) %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 @.str1618, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str1619) %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 @.str1620, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str1621) %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 @.str1622) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1623) %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 @.str1624, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str1625) %t159 = load ptr, ptr %t1 %t160 = call ptr @fn_fp_lit_code(ptr @.str1626, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1627) %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 @.str1628, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str1629) %t168 = load ptr, ptr %t9 %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1630) %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 @.str1631) %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 @.str1632, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1633) %t182 = load ptr, ptr %t1 %t183 = call ptr @fn_fp_lit_code(ptr @.str1634, 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 @.str1635, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1636) %t190 = load ptr, ptr %t9 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1637) %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 @.str1638) %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 @.str1639) %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 @.str1640) %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 @.str1641, 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 @.str1642) %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 @.str1643, 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 @.str1644) %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 @.str1645, 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 @.str1646) %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 @.str1647) %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 @.str1648, ptr %t273) %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1649) %t276 = load ptr, ptr %t9 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1650) %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 @.str1651, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1652) %t286 = load ptr, ptr %t282 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str1653) %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 @.str1654, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str1655) %t296 = load ptr, ptr %t292 %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str1656) %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 @.str1657) %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 @.str1658, 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 @.str1659, 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 @.str1660) %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 @.str1661, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1662) %t344 = load ptr, ptr %t335 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1663) %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 @.str1664, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str1665) %t354 = load ptr, ptr %t350 %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str1666) %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 @.str1667, ptr %t361) %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str1668) %t364 = load ptr, ptr %t9 %t365 = call ptr @lp_str_concat(ptr %t363, ptr %t364) %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str1669) %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 @.str1670) %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 @.str1671, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1672) %t388 = load ptr, ptr %t384 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1673) %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 @.str1674, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1675) %t398 = load ptr, ptr %t379 %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str1676) %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 @.str1677, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str1678) %t408 = load ptr, ptr %t394 %t409 = call ptr @lp_str_concat(ptr %t407, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str1679) %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 @.str1680) %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 @.str1681, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str1682) %t442 = load ptr, ptr %t9 %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1683) %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 @.str1684, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1685) %t452 = load ptr, ptr %t428 %t453 = call ptr @lp_str_concat(ptr %t451, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str1686) %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 @.str1687, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str1688) %t462 = load ptr, ptr %t448 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str1689) %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 @.str1690, ptr %t469) %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str1691) %t472 = load ptr, ptr %t438 %t473 = call ptr @lp_str_concat(ptr %t471, ptr %t472) %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str1692) %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 @.str1693, ptr %t479) %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str1694) %t482 = load ptr, ptr %t478 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str1695) %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 @.str1696, ptr %t489) %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str1697) %t492 = load ptr, ptr %t433 %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str1698) %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 @.str1699) %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 @.str1700, ptr %t513) %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str1701) %t516 = load ptr, ptr %t512 %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str1702) %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 @.str1703, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str1704) %t526 = load ptr, ptr %t507 %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str1705) %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 @.str1706, ptr %t533) %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str1707) %t536 = load ptr, ptr %t522 %t537 = call ptr @lp_str_concat(ptr %t535, ptr %t536) %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str1708) %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 @.str1709, ptr %t543, ptr %t544, ptr @.str1710) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str1711, ptr %t547, ptr %t548, ptr @.str1712) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 %t552 = call ptr @lp_str_concat(ptr @.str1713, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str1714) %t554 = load ptr, ptr %t550 %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str1715) %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 @.str1716, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str1717) %t564 = load ptr, ptr %t550 %t565 = call ptr @lp_str_concat(ptr %t563, ptr %t564) %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str1718) %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 @.str1719, ptr %t569) %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str1720) %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 @.str1721, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str1722) %t579 = load ptr, ptr %t560 %t580 = call ptr @lp_str_concat(ptr %t578, ptr %t579) %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str1723) %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 @.str1724) %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 @.str1725, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str1726) %t603 = load ptr, ptr %t594 %t604 = call ptr @lp_str_concat(ptr %t602, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str1727) %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 @.str1728, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 %t615 = call ptr @lp_str_concat(ptr @.str1729, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str1730) %t617 = load ptr, ptr %t613 %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str1731) %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 @.str1732, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1733) %t627 = load ptr, ptr %t609 %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str1734) %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 @.str1735, ptr %t632) %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str1736) %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 @.str1737, ptr %t639) %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str1738) %t642 = load ptr, ptr %t1 %t643 = call ptr @lp_str_concat(ptr %t641, ptr %t642) %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str1739) %t645 = load ptr, ptr %t638 %t646 = call ptr @lp_str_concat(ptr %t644, ptr %t645) %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str1740) %t648 = load ptr, ptr %t1 %t649 = call ptr @lp_str_concat(ptr %t647, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str1741) %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 @.str1742, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1743) %t658 = load ptr, ptr %t9 %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str1744) %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 @.str1745, ptr %t665) %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str1746) %t668 = load ptr, ptr %t1 %t669 = call ptr @lp_str_concat(ptr %t667, ptr %t668) %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str1747) %t671 = load ptr, ptr %t594 %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str1748) %t674 = load ptr, ptr %t1 %t675 = call ptr @lp_str_concat(ptr %t673, ptr %t674) %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str1749) %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 @.str1750) %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 @.str1751) %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 @.str1752, ptr %t708) %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str1753) %t711 = load ptr, ptr %t702 %t712 = call ptr @lp_str_concat(ptr %t710, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1754) %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 @.str1755, ptr %t718) %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str1756) %t721 = load ptr, ptr %t707 %t722 = call ptr @lp_str_concat(ptr %t720, ptr %t721) %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str1757) %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 @.str1758, ptr %t728) %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str1759) %t731 = load ptr, ptr %t717 %t732 = call ptr @lp_str_concat(ptr %t730, ptr %t731) %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str1760) %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 @.str1761, ptr %t738) %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str1762) %t741 = load ptr, ptr %t727 %t742 = call ptr @lp_str_concat(ptr %t740, ptr %t741) %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str1763) %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 @.str1764, ptr %t748) %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str1765) %t751 = load ptr, ptr %t737 %t752 = call ptr @lp_str_concat(ptr %t750, ptr %t751) %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str1766) %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 @.str1767) %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 @.str1768, 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 @.str1769, ptr %t769) %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str1770) %t772 = load ptr, ptr %t1 %t773 = call ptr @lp_str_concat(ptr %t771, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str1771) 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 @.str1772) %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 @.str1773) %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 @.str1774) %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 @.str1775) %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 %t20 = alloca ptr %t24 = alloca ptr %t33 = 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 ptr, ptr %t17, i32 0 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t1 %t23 = call ptr @fn_math_fp_route(ptr %t21, ptr %t22) store ptr %t23, ptr %t24 %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 %then3, label %ifend5 then3: %t29 = load ptr, ptr %t24 store ptr %t29, ptr %retval br label %ret ifend5: %t30 = load ptr, ptr %t0 %t31 = load ptr, ptr %t1 %t32 = call ptr @fn_emit_math_builtin_fixed(ptr %t30, ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t38, i32 0 %t40 = load ptr, ptr %t20 store ptr %t40, ptr %t39 %t41 = load ptr, ptr %t33 store ptr %t41, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } define ptr @fn_emit_math_builtin_fixed(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t13 = alloca ptr %t20 = alloca ptr %t26 = alloca ptr %t42 = alloca i32 %t61 = alloca ptr %t70 = alloca ptr %t71 = alloca ptr %t88 = alloca ptr %t114 = alloca ptr %t123 = alloca ptr %t132 = alloca ptr %t143 = alloca ptr %t157 = alloca ptr %t166 = 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 @.str1776) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str1777, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1778) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t13 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @lp_str_concat(ptr @.str1779, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t20 %t28 = call ptr @lp_str_concat(ptr @.str1780, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1781) %t30 = load ptr, ptr %t26 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1782) %t33 = load ptr, ptr %t13 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr %t32, ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) %t38 = load ptr, ptr %t13 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_val(ptr %t37, ptr %t40) store ptr %t41, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str1783) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t42 br i1 %t45, label %scend4, label %sc3 sc3: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1784) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t42 br label %scend4 scend4: %t51 = load i32, ptr %t42 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then5, label %ifend7 then5: %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 ptr, ptr %t57, i32 0 %t59 = load ptr, ptr %t58 %t60 = call ptr @fn_emit_expr(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t1 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds ptr, ptr %t66, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 store ptr @.str1785, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1786) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: store ptr @.str1787, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr @.str1788, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1789) %t78 = load ptr, ptr %t61 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @lp_str_concat(ptr %t77, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str1790) %t83 = load ptr, ptr %t70 %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 @fn_emit_bind(ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t88 %t90 = call ptr @lp_str_concat(ptr @.str1791, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1792) %t92 = load ptr, ptr %t61 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = call ptr @lp_str_concat(ptr %t91, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str1793) %t97 = load ptr, ptr %t70 %t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = call ptr @lp_str_concat(ptr %t96, ptr %t99) %t101 = call ptr @fn_emit_bind(ptr %t100) %t102 = load ptr, ptr %t61 %t103 = getelementptr inbounds %Cmp_Val, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_val(ptr %t101, ptr %t104) store ptr %t105, ptr %retval br label %ret ifend7: %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 ptr, ptr %t110, i32 0 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_emit_expr(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t1 %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 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds ptr, ptr %t119, i32 1 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_emit_expr(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t1 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds ptr, ptr %t128, i32 2 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t114 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr @.str1794, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1795) %t138 = load ptr, ptr %t132 %t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = call ptr @lp_str_concat(ptr %t137, ptr %t140) %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 @.str1796, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1797) %t147 = load ptr, ptr %t114 %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 @lp_str_concat(ptr %t150, ptr @.str1798) %t152 = load ptr, ptr %t132 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @lp_str_concat(ptr %t151, ptr %t154) %t156 = call ptr @fn_emit_bind(ptr %t155) store ptr %t156, ptr %t157 %t158 = load ptr, ptr %t123 %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = call ptr @lp_str_concat(ptr @.str1799, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1800) %t163 = load ptr, ptr %t157 %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) %t165 = call ptr @fn_emit_bind(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = call ptr @lp_str_concat(ptr @.str1801, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1802) %t170 = load ptr, ptr %t123 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = call ptr @lp_str_concat(ptr %t169, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str1803) %t175 = load ptr, ptr %t157 %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) %t178 = load ptr, ptr %t114 %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 1 %t180 = load ptr, ptr %t179 %t181 = call ptr @fn_val(ptr %t177, ptr %t180) store ptr %t181, ptr %retval br label %ret ret: %t182 = load ptr, ptr %retval ret ptr %t182 } 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 @.str1804, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1805) %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 @.str1806, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1807) %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 @.str1808, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1809) %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 @.str1810, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1811) %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 @.str1812, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1813) %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 @.str1814, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1815) %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 @.str1816, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1817) %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 @.str1818, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1819) %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 @.str1820, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1821) %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 @.str1822, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1823) %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 @.str1824, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1825) %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 @.str1826, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1827) %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 @.str1828, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1829) %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 @.str1830, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1831) %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 @.str1832) %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 @.str1833) %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 @.str1834) %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 @.str1835) %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 @.str1836) %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 @.str1837) %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 @.str1838) %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 @.str1839) %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 @.str1840) %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 @.str1841) %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 @.str1842) %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 @.str1843) %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 @.str1844) %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 @.str1845) %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 @.str1846) %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 @.str1847) %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 @.str1848) %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 @.str1849) %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 @.str1850) %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 @.str1851) %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 @.str1852) %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 @.str1853) %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 @.str1854) %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 @.str1855) %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 @.str1856) %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 @.str1857) %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 @.str1858) %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 @.str1859) %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 @.str1860) %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 @.str1861) %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 @.str1862) %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 @.str1863) %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 %t30 = alloca ptr %t34 = 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 ptr, ptr %t14, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 190 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: store ptr null, ptr %retval br label %ret ifend5: %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 ptr, ptr %t26, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = call ptr @fn_fp_math_type(ptr %t31, ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1864) %t37 = icmp eq i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then6, label %ifend8 then6: %t40 = load ptr, ptr %t0 %t41 = load ptr, ptr %t34 %t42 = load ptr, ptr %t30 %t43 = load ptr, ptr %t1 %t44 = call ptr @fn_emit_fp_math(ptr %t40, ptr %t41, ptr %t42, ptr %t43) store ptr %t44, ptr %retval br label %ret ifend8: %t45 = load ptr, ptr %t1 %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 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds ptr, ptr %t49, i32 0 %t51 = load ptr, ptr %t30 %t52 = call ptr @fn_preval_node(ptr %t51) store ptr %t52, ptr %t50 store ptr null, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t20 = alloca ptr %t24 = alloca ptr %t33 = 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 ptr, ptr %t17, i32 0 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t1 %t23 = call ptr @fn_math_fp_route(ptr %t21, ptr %t22) store ptr %t23, ptr %t24 %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 %then3, label %ifend5 then3: %t29 = load ptr, ptr %t24 store ptr %t29, ptr %retval br label %ret ifend5: %t30 = load ptr, ptr %t0 %t31 = load ptr, ptr %t1 %t32 = call ptr @fn_emit_math_ns_fixed(ptr %t30, ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t38, i32 0 %t40 = load ptr, ptr %t20 store ptr %t40, ptr %t39 %t41 = load ptr, ptr %t33 store ptr %t41, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } 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 %t43 = alloca ptr %t50 = alloca ptr %t57 = alloca ptr %t62 = alloca ptr %t81 = alloca ptr %t100 = alloca ptr %t107 = alloca ptr %t124 = alloca ptr %t131 = alloca ptr %t148 = alloca ptr %t157 = alloca ptr %t166 = alloca ptr %t189 = alloca ptr %t198 = alloca ptr %t207 = alloca ptr %t230 = alloca ptr %t249 = alloca ptr %t268 = alloca ptr %t275 = alloca ptr %t292 = alloca ptr %t299 = alloca ptr %t306 = alloca ptr %t311 = alloca ptr %t327 = alloca ptr %t336 = alloca ptr %t360 = alloca ptr %t368 = alloca ptr %t372 = alloca ptr %t377 = alloca ptr %t399 = alloca ptr %t407 = alloca ptr %t411 = alloca ptr %t416 = alloca ptr %t438 = alloca ptr %t447 = alloca ptr %t455 = alloca ptr %t463 = alloca ptr %t470 = alloca ptr %t487 = alloca ptr %t496 = alloca ptr %t505 = alloca ptr %t514 = alloca ptr %t525 = alloca ptr %t536 = alloca ptr %t540 = alloca ptr %t544 = alloca ptr %t563 = alloca ptr %t572 = alloca ptr %t581 = alloca ptr %t590 = alloca ptr %t601 = alloca ptr %t612 = alloca ptr %t616 = alloca ptr %t620 = alloca ptr %t627 = alloca ptr %t644 = alloca ptr %t649 = alloca ptr %t666 = alloca ptr %t673 = alloca ptr %t688 = alloca ptr %t697 = alloca ptr %t704 = alloca ptr %t710 = alloca ptr %t727 = alloca ptr %t744 = alloca ptr %t761 = alloca ptr %t770 = alloca ptr %t781 = alloca ptr %t790 = alloca ptr %t811 = alloca ptr %t820 = alloca ptr %t829 = alloca ptr %t840 = alloca ptr %t851 = alloca ptr %t858 = alloca ptr %t865 = alloca ptr %t872 = alloca ptr %t893 = alloca ptr %t902 = alloca ptr %t909 = alloca ptr %t918 = alloca ptr %t925 = alloca ptr %t932 = alloca ptr %t941 = alloca ptr %t945 = alloca ptr %t950 = alloca ptr %t960 = alloca ptr %t981 = alloca ptr %t990 = alloca ptr %t998 = alloca ptr %t1003 = alloca ptr %t1008 = alloca ptr %t1029 = alloca ptr %t1038 = alloca ptr %t1047 = alloca ptr %t1058 = alloca ptr %t1062 = alloca ptr %t1067 = alloca ptr %t1077 = alloca ptr %t1082 = alloca ptr %t1087 = alloca ptr %t1092 = alloca ptr %t1099 = alloca ptr %t1108 = alloca ptr %t1117 = alloca ptr %t1126 = alloca ptr %t1150 = alloca ptr %t1159 = alloca ptr %t1168 = alloca ptr %t1179 = alloca ptr %t1184 = alloca ptr %t1191 = alloca ptr %t1196 = alloca ptr %t1203 = alloca ptr %t1208 = alloca ptr %t1212 = alloca ptr %t1216 = alloca ptr %t1229 = alloca ptr %t1238 = alloca ptr %t1247 = alloca ptr %t1256 = alloca ptr %t1265 = alloca ptr %t1276 = 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 @.str1865) %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 @.str1866) %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 @.str1867) %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 @.str1868) %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 @.str1869) %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 ptr, ptr %t39, i32 0 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str1870, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1871) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t43 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str1872, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1873) %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 @.str1874, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1875) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t50 %t64 = call ptr @lp_str_concat(ptr @.str1876, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1877) %t66 = load ptr, ptr %t62 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) %t69 = call ptr @fn_val(ptr %t68, ptr @.str1878) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1879) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then12, label %ifend14 then12: %t73 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t77, 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 @.str1880, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1881) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1882) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1883) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then15, label %ifend17 then15: %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 ptr, ptr %t96, i32 0 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str1884, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1885) %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 @.str1886, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1887) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1888) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1889) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: %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 ptr, ptr %t120, i32 0 %t122 = load ptr, ptr %t121 %t123 = call ptr @fn_emit_expr(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = call ptr @lp_str_concat(ptr @.str1890, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1891) %t130 = call ptr @fn_emit_bind(ptr %t129) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr @.str1892, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1893) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str1894) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1895) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then21, label %ifend23 then21: %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 = getelementptr inbounds ptr, ptr %t144, i32 0 %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 ptr, ptr %t153, i32 1 %t155 = load ptr, ptr %t154 %t156 = call ptr @fn_emit_expr(ptr %t155) store ptr %t156, ptr %t157 %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 ptr, ptr %t162, i32 2 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_emit_expr(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t148 %t168 = getelementptr inbounds %Cmp_Val, ptr %t167, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = load ptr, ptr %t157 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = load ptr, ptr %t166 %t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_fx_lerp_code(ptr %t169, ptr %t172, ptr %t175) %t177 = call ptr @fn_val(ptr %t176, ptr @.str1896) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1897) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then24, label %ifend26 then24: %t181 = load ptr, ptr %t1 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 7 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds ptr, ptr %t185, i32 0 %t187 = load ptr, ptr %t186 %t188 = call ptr @fn_emit_expr(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t1 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds ptr, ptr %t194, i32 1 %t196 = load ptr, ptr %t195 %t197 = call ptr @fn_emit_expr(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t1 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds ptr, ptr %t203, i32 2 %t205 = load ptr, ptr %t204 %t206 = call ptr @fn_emit_expr(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t189 %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = load ptr, ptr %t198 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = load ptr, ptr %t207 %t215 = getelementptr inbounds %Cmp_Val, ptr %t214, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_fx_inv_lerp_code(ptr %t210, ptr %t213, ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str1898) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1899) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then27, label %ifend29 then27: store i32 1, ptr @g_g_uses_mathrt %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 ptr, ptr %t226, i32 0 %t228 = load ptr, ptr %t227 %t229 = call ptr @fn_emit_expr(ptr %t228) store ptr %t229, ptr %t230 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = call ptr @lp_str_concat(ptr @.str1900, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1901) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str1902) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1903) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then30, label %ifend32 then30: store i32 1, ptr @g_g_uses_mathrt %t241 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t245, i32 0 %t247 = load ptr, ptr %t246 %t248 = call ptr @fn_emit_expr(ptr %t247) store ptr %t248, ptr %t249 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = call ptr @lp_str_concat(ptr @.str1904, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1905) %t255 = call ptr @fn_emit_bind(ptr %t254) %t256 = call ptr @fn_val(ptr %t255, ptr @.str1906) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1907) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then33, label %ifend35 then33: store i32 1, ptr @g_g_uses_mathrt %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 ptr, ptr %t264, i32 0 %t266 = load ptr, ptr %t265 %t267 = call ptr @fn_emit_expr(ptr %t266) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0 %t271 = load ptr, ptr %t270 %t272 = call ptr @lp_str_concat(ptr @.str1908, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1909) %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 @.str1910, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1911) %t279 = call ptr @fn_emit_bind(ptr %t278) %t280 = call ptr @fn_val(ptr %t279, ptr @.str1912) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1913) %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then36, label %ifend38 then36: store i32 1, ptr @g_g_uses_mathrt %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 ptr, ptr %t288, i32 0 %t290 = load ptr, ptr %t289 %t291 = call ptr @fn_emit_expr(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 %t296 = call ptr @lp_str_concat(ptr @.str1914, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1915) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t292 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = call ptr @lp_str_concat(ptr @.str1916, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1917) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 %t308 = call ptr @lp_str_concat(ptr @.str1918, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1919) %t310 = call ptr @fn_emit_bind(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t299 %t313 = load ptr, ptr %t311 %t314 = call ptr @fn_fx_div_code(ptr %t312, ptr %t313) %t315 = call ptr @fn_val(ptr %t314, ptr @.str1920) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1921) %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then39, label %ifend41 then39: store i32 1, ptr @g_g_uses_mathrt %t319 = load ptr, ptr %t1 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds ptr, ptr %t323, i32 0 %t325 = load ptr, ptr %t324 %t326 = call ptr @fn_emit_expr(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t1 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds ptr, ptr %t332, i32 1 %t334 = load ptr, ptr %t333 %t335 = call ptr @fn_emit_expr(ptr %t334) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t327 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = call ptr @lp_str_concat(ptr @.str1922, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1923) %t342 = load ptr, ptr %t336 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = call ptr @lp_str_concat(ptr %t341, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1924) %t347 = call ptr @fn_emit_bind(ptr %t346) %t348 = call ptr @fn_val(ptr %t347, ptr @.str1925) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1926) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then42, label %ifend44 then42: store i32 1, ptr @g_g_uses_mathrt %t352 = load ptr, ptr %t1 %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 7 %t354 = load ptr, ptr %t353 %t355 = getelementptr inbounds %LSlice, ptr %t354, i32 0, i32 0 %t356 = load ptr, ptr %t355 %t357 = getelementptr inbounds ptr, ptr %t356, i32 0 %t358 = load ptr, ptr %t357 %t359 = call ptr @fn_emit_expr(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = load ptr, ptr %t360 %t365 = getelementptr inbounds %Cmp_Val, ptr %t364, i32 0, i32 0 %t366 = load ptr, ptr %t365 %t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366) store ptr %t367, ptr %t368 %t369 = load ptr, ptr %t368 %t370 = call ptr @lp_str_concat(ptr @.str1927, ptr %t369) %t371 = call ptr @fn_emit_bind(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t372 %t374 = call ptr @lp_str_concat(ptr @.str1928, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1929) %t376 = call ptr @fn_emit_bind(ptr %t375) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t360 %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 %t380 = load ptr, ptr %t379 %t381 = call ptr @lp_str_concat(ptr @.str1930, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1931) %t383 = load ptr, ptr %t377 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1932) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str1933) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1934) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then45, label %ifend47 then45: store i32 1, ptr @g_g_uses_mathrt %t391 = load ptr, ptr %t1 %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 7 %t393 = load ptr, ptr %t392 %t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = getelementptr inbounds ptr, ptr %t395, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_emit_expr(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t399 %t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0 %t402 = load ptr, ptr %t401 %t403 = load ptr, ptr %t399 %t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0 %t405 = load ptr, ptr %t404 %t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t407 %t409 = call ptr @lp_str_concat(ptr @.str1935, ptr %t408) %t410 = call ptr @fn_emit_bind(ptr %t409) store ptr %t410, ptr %t411 %t412 = load ptr, ptr %t411 %t413 = call ptr @lp_str_concat(ptr @.str1936, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1937) %t415 = call ptr @fn_emit_bind(ptr %t414) store ptr %t415, ptr %t416 %t417 = load ptr, ptr %t416 %t418 = call ptr @lp_str_concat(ptr @.str1938, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1939) %t420 = load ptr, ptr %t399 %t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0 %t422 = load ptr, ptr %t421 %t423 = call ptr @lp_str_concat(ptr %t419, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str1940) %t425 = call ptr @fn_emit_bind(ptr %t424) %t426 = call ptr @fn_val(ptr %t425, ptr @.str1941) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1942) %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then48, label %ifend50 then48: store i32 1, ptr @g_g_uses_mathrt %t430 = load ptr, ptr %t1 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 7 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = getelementptr inbounds ptr, ptr %t434, i32 0 %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 ptr, ptr %t443, i32 1 %t445 = load ptr, ptr %t444 %t446 = call ptr @fn_emit_expr(ptr %t445) store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t438 %t449 = getelementptr inbounds %Cmp_Val, ptr %t448, i32 0, i32 0 %t450 = load ptr, ptr %t449 %t451 = load ptr, ptr %t438 %t452 = getelementptr inbounds %Cmp_Val, ptr %t451, i32 0, i32 0 %t453 = load ptr, ptr %t452 %t454 = call ptr @fn_fx_mul_code(ptr %t450, ptr %t453) store ptr %t454, ptr %t455 %t456 = load ptr, ptr %t447 %t457 = getelementptr inbounds %Cmp_Val, ptr %t456, i32 0, i32 0 %t458 = load ptr, ptr %t457 %t459 = load ptr, ptr %t447 %t460 = getelementptr inbounds %Cmp_Val, ptr %t459, i32 0, i32 0 %t461 = load ptr, ptr %t460 %t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t455 %t465 = call ptr @lp_str_concat(ptr @.str1943, ptr %t464) %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1944) %t467 = load ptr, ptr %t463 %t468 = call ptr @lp_str_concat(ptr %t466, ptr %t467) %t469 = call ptr @fn_emit_bind(ptr %t468) store ptr %t469, ptr %t470 %t471 = load ptr, ptr %t470 %t472 = call ptr @lp_str_concat(ptr @.str1945, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1946) %t474 = call ptr @fn_emit_bind(ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str1947) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1948) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then51, label %ifend53 then51: %t479 = load ptr, ptr %t1 %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7 %t481 = load ptr, ptr %t480 %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds ptr, ptr %t483, i32 0 %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 ptr, ptr %t492, i32 1 %t494 = load ptr, ptr %t493 %t495 = call ptr @fn_emit_expr(ptr %t494) store ptr %t495, ptr %t496 %t497 = load ptr, ptr %t1 %t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 7 %t499 = load ptr, ptr %t498 %t500 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 0 %t501 = load ptr, ptr %t500 %t502 = getelementptr inbounds ptr, ptr %t501, i32 2 %t503 = load ptr, ptr %t502 %t504 = call ptr @fn_emit_expr(ptr %t503) store ptr %t504, ptr %t505 %t506 = load ptr, ptr %t1 %t507 = getelementptr inbounds %Cmp_Node, ptr %t506, i32 0, i32 7 %t508 = load ptr, ptr %t507 %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t510 = load ptr, ptr %t509 %t511 = getelementptr inbounds ptr, ptr %t510, i32 3 %t512 = load ptr, ptr %t511 %t513 = call ptr @fn_emit_expr(ptr %t512) store ptr %t513, ptr %t514 %t515 = load ptr, ptr %t505 %t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0 %t517 = load ptr, ptr %t516 %t518 = call ptr @lp_str_concat(ptr @.str1949, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1950) %t520 = load ptr, ptr %t487 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 %t523 = call ptr @lp_str_concat(ptr %t519, ptr %t522) %t524 = call ptr @fn_emit_bind(ptr %t523) store ptr %t524, ptr %t525 %t526 = load ptr, ptr %t514 %t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0 %t528 = load ptr, ptr %t527 %t529 = call ptr @lp_str_concat(ptr @.str1951, ptr %t528) %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1952) %t531 = load ptr, ptr %t496 %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 %t534 = call ptr @lp_str_concat(ptr %t530, ptr %t533) %t535 = call ptr @fn_emit_bind(ptr %t534) store ptr %t535, ptr %t536 %t537 = load ptr, ptr %t525 %t538 = load ptr, ptr %t525 %t539 = call ptr @fn_fx_mul_code(ptr %t537, ptr %t538) store ptr %t539, ptr %t540 %t541 = load ptr, ptr %t536 %t542 = load ptr, ptr %t536 %t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542) store ptr %t543, ptr %t544 %t545 = load ptr, ptr %t540 %t546 = call ptr @lp_str_concat(ptr @.str1953, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1954) %t548 = load ptr, ptr %t544 %t549 = call ptr @lp_str_concat(ptr %t547, ptr %t548) %t550 = call ptr @fn_emit_bind(ptr %t549) %t551 = call ptr @fn_val(ptr %t550, ptr @.str1955) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1956) %t554 = icmp ne i32 %t553, 0 br i1 %t554, label %then54, label %ifend56 then54: store i32 1, ptr @g_g_uses_mathrt %t555 = load ptr, ptr %t1 %t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 7 %t557 = load ptr, ptr %t556 %t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0 %t559 = load ptr, ptr %t558 %t560 = getelementptr inbounds ptr, ptr %t559, i32 0 %t561 = load ptr, ptr %t560 %t562 = call ptr @fn_emit_expr(ptr %t561) store ptr %t562, ptr %t563 %t564 = load ptr, ptr %t1 %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 7 %t566 = load ptr, ptr %t565 %t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0 %t568 = load ptr, ptr %t567 %t569 = getelementptr inbounds ptr, ptr %t568, i32 1 %t570 = load ptr, ptr %t569 %t571 = call ptr @fn_emit_expr(ptr %t570) store ptr %t571, ptr %t572 %t573 = load ptr, ptr %t1 %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 7 %t575 = load ptr, ptr %t574 %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 %t577 = load ptr, ptr %t576 %t578 = getelementptr inbounds ptr, ptr %t577, i32 2 %t579 = load ptr, ptr %t578 %t580 = call ptr @fn_emit_expr(ptr %t579) store ptr %t580, ptr %t581 %t582 = load ptr, ptr %t1 %t583 = getelementptr inbounds %Cmp_Node, ptr %t582, i32 0, i32 7 %t584 = load ptr, ptr %t583 %t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0 %t586 = load ptr, ptr %t585 %t587 = getelementptr inbounds ptr, ptr %t586, i32 3 %t588 = load ptr, ptr %t587 %t589 = call ptr @fn_emit_expr(ptr %t588) store ptr %t589, ptr %t590 %t591 = load ptr, ptr %t581 %t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0 %t593 = load ptr, ptr %t592 %t594 = call ptr @lp_str_concat(ptr @.str1957, ptr %t593) %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1958) %t596 = load ptr, ptr %t563 %t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0 %t598 = load ptr, ptr %t597 %t599 = call ptr @lp_str_concat(ptr %t595, ptr %t598) %t600 = call ptr @fn_emit_bind(ptr %t599) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t590 %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = call ptr @lp_str_concat(ptr @.str1959, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1960) %t607 = load ptr, ptr %t572 %t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0 %t609 = load ptr, ptr %t608 %t610 = call ptr @lp_str_concat(ptr %t606, ptr %t609) %t611 = call ptr @fn_emit_bind(ptr %t610) store ptr %t611, ptr %t612 %t613 = load ptr, ptr %t601 %t614 = load ptr, ptr %t601 %t615 = call ptr @fn_fx_mul_code(ptr %t613, ptr %t614) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t612 %t618 = load ptr, ptr %t612 %t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t616 %t622 = call ptr @lp_str_concat(ptr @.str1961, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1962) %t624 = load ptr, ptr %t620 %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 %t627 %t629 = call ptr @lp_str_concat(ptr @.str1963, ptr %t628) %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1964) %t631 = call ptr @fn_emit_bind(ptr %t630) %t632 = call ptr @fn_val(ptr %t631, ptr @.str1965) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1966) %t635 = icmp ne i32 %t634, 0 br i1 %t635, label %then57, label %ifend59 then57: store i32 1, ptr @g_g_uses_mathrt %t636 = load ptr, ptr %t1 %t637 = getelementptr inbounds %Cmp_Node, ptr %t636, i32 0, i32 7 %t638 = load ptr, ptr %t637 %t639 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 0 %t640 = load ptr, ptr %t639 %t641 = getelementptr inbounds ptr, ptr %t640, i32 0 %t642 = load ptr, ptr %t641 %t643 = call ptr @fn_emit_expr(ptr %t642) store ptr %t643, ptr %t644 %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 %t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str1967) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str1968, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1969) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str1970) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1971) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then60, label %ifend62 then60: store i32 1, ptr @g_g_uses_mathrt %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 ptr, ptr %t662, i32 0 %t664 = load ptr, ptr %t663 %t665 = call ptr @fn_emit_expr(ptr %t664) store ptr %t665, ptr %t666 %t667 = load ptr, ptr %t666 %t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0 %t669 = load ptr, ptr %t668 %t670 = call ptr @lp_str_concat(ptr @.str1972, ptr %t669) %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1973) %t672 = call ptr @fn_emit_bind(ptr %t671) store ptr %t672, ptr %t673 %t674 = load ptr, ptr %t673 %t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str1974) %t676 = call ptr @fn_val(ptr %t675, ptr @.str1975) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1976) %t679 = icmp ne i32 %t678, 0 br i1 %t679, label %then63, label %ifend65 then63: store i32 1, ptr @g_g_uses_mathrt %t680 = load ptr, ptr %t1 %t681 = getelementptr inbounds %Cmp_Node, ptr %t680, i32 0, i32 7 %t682 = load ptr, ptr %t681 %t683 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 0 %t684 = load ptr, ptr %t683 %t685 = getelementptr inbounds ptr, ptr %t684, i32 0 %t686 = load ptr, ptr %t685 %t687 = call ptr @fn_emit_expr(ptr %t686) store ptr %t687, ptr %t688 %t689 = load ptr, ptr %t1 %t690 = getelementptr inbounds %Cmp_Node, ptr %t689, i32 0, i32 7 %t691 = load ptr, ptr %t690 %t692 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 %t693 = load ptr, ptr %t692 %t694 = getelementptr inbounds ptr, ptr %t693, i32 1 %t695 = load ptr, ptr %t694 %t696 = call ptr @fn_emit_expr(ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t688 %t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0 %t700 = load ptr, ptr %t699 %t701 = call ptr @lp_str_concat(ptr @.str1977, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1978) %t703 = call ptr @fn_emit_bind(ptr %t702) store ptr %t703, ptr %t704 %t705 = load ptr, ptr %t697 %t706 = getelementptr inbounds %Cmp_Val, ptr %t705, i32 0, i32 0 %t707 = load ptr, ptr %t706 %t708 = load ptr, ptr %t704 %t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708) store ptr %t709, ptr %t710 %t711 = load ptr, ptr %t710 %t712 = call ptr @lp_str_concat(ptr @.str1979, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1980) %t714 = call ptr @fn_emit_bind(ptr %t713) %t715 = call ptr @fn_val(ptr %t714, ptr @.str1981) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1982) %t718 = icmp ne i32 %t717, 0 br i1 %t718, label %then66, label %ifend68 then66: %t719 = load ptr, ptr %t1 %t720 = getelementptr inbounds %Cmp_Node, ptr %t719, i32 0, i32 7 %t721 = load ptr, ptr %t720 %t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0 %t723 = load ptr, ptr %t722 %t724 = getelementptr inbounds ptr, ptr %t723, i32 0 %t725 = load ptr, ptr %t724 %t726 = call ptr @fn_emit_expr(ptr %t725) store ptr %t726, ptr %t727 %t728 = load ptr, ptr %t727 %t729 = getelementptr inbounds %Cmp_Val, ptr %t728, i32 0, i32 0 %t730 = load ptr, ptr %t729 %t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str1983) %t732 = call ptr @fn_val(ptr %t731, ptr @.str1984) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1985) %t735 = icmp ne i32 %t734, 0 br i1 %t735, label %then69, label %ifend71 then69: %t736 = load ptr, ptr %t1 %t737 = getelementptr inbounds %Cmp_Node, ptr %t736, i32 0, i32 7 %t738 = load ptr, ptr %t737 %t739 = getelementptr inbounds %LSlice, ptr %t738, i32 0, i32 0 %t740 = load ptr, ptr %t739 %t741 = getelementptr inbounds ptr, ptr %t740, i32 0 %t742 = load ptr, ptr %t741 %t743 = call ptr @fn_emit_expr(ptr %t742) store ptr %t743, ptr %t744 %t745 = load ptr, ptr %t744 %t746 = getelementptr inbounds %Cmp_Val, ptr %t745, i32 0, i32 0 %t747 = load ptr, ptr %t746 %t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str1986) %t749 = call ptr @fn_val(ptr %t748, ptr @.str1987) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1988) %t752 = icmp ne i32 %t751, 0 br i1 %t752, label %then72, label %ifend74 then72: %t753 = load ptr, ptr %t1 %t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 7 %t755 = load ptr, ptr %t754 %t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0 %t757 = load ptr, ptr %t756 %t758 = getelementptr inbounds ptr, ptr %t757, i32 0 %t759 = load ptr, ptr %t758 %t760 = call ptr @fn_emit_expr(ptr %t759) store ptr %t760, ptr %t761 %t762 = load ptr, ptr %t1 %t763 = getelementptr inbounds %Cmp_Node, ptr %t762, i32 0, i32 7 %t764 = load ptr, ptr %t763 %t765 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 0 %t766 = load ptr, ptr %t765 %t767 = getelementptr inbounds ptr, ptr %t766, i32 1 %t768 = load ptr, ptr %t767 %t769 = call ptr @fn_emit_expr(ptr %t768) store ptr %t769, ptr %t770 %t771 = load ptr, ptr %t761 %t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0 %t773 = load ptr, ptr %t772 %t774 = call ptr @lp_str_concat(ptr @.str1989, ptr %t773) %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1990) %t776 = load ptr, ptr %t770 %t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0 %t778 = load ptr, ptr %t777 %t779 = call ptr @lp_str_concat(ptr %t775, ptr %t778) %t780 = call ptr @fn_emit_bind(ptr %t779) store ptr %t780, ptr %t781 %t782 = load ptr, ptr %t781 %t783 = call ptr @lp_str_concat(ptr @.str1991, ptr %t782) %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1992) %t785 = load ptr, ptr %t770 %t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0 %t787 = load ptr, ptr %t786 %t788 = call ptr @lp_str_concat(ptr %t784, ptr %t787) %t789 = call ptr @fn_emit_bind(ptr %t788) store ptr %t789, ptr %t790 %t791 = load ptr, ptr %t790 %t792 = call ptr @lp_str_concat(ptr @.str1993, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1994) %t794 = load ptr, ptr %t770 %t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0 %t796 = load ptr, ptr %t795 %t797 = call ptr @lp_str_concat(ptr %t793, ptr %t796) %t798 = call ptr @fn_emit_bind(ptr %t797) %t799 = call ptr @fn_val(ptr %t798, ptr @.str1995) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1996) %t802 = icmp ne i32 %t801, 0 br i1 %t802, label %then75, label %ifend77 then75: %t803 = load ptr, ptr %t1 %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 0 %t807 = load ptr, ptr %t806 %t808 = getelementptr inbounds ptr, ptr %t807, i32 0 %t809 = load ptr, ptr %t808 %t810 = call ptr @fn_emit_expr(ptr %t809) store ptr %t810, ptr %t811 %t812 = load ptr, ptr %t1 %t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 7 %t814 = load ptr, ptr %t813 %t815 = getelementptr inbounds %LSlice, ptr %t814, i32 0, i32 0 %t816 = load ptr, ptr %t815 %t817 = getelementptr inbounds ptr, ptr %t816, i32 1 %t818 = load ptr, ptr %t817 %t819 = call ptr @fn_emit_expr(ptr %t818) store ptr %t819, ptr %t820 %t821 = load ptr, ptr %t1 %t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 7 %t823 = load ptr, ptr %t822 %t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0 %t825 = load ptr, ptr %t824 %t826 = getelementptr inbounds ptr, ptr %t825, i32 2 %t827 = load ptr, ptr %t826 %t828 = call ptr @fn_emit_expr(ptr %t827) store ptr %t828, ptr %t829 %t830 = load ptr, ptr %t829 %t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0 %t832 = load ptr, ptr %t831 %t833 = call ptr @lp_str_concat(ptr @.str1997, ptr %t832) %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1998) %t835 = load ptr, ptr %t820 %t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0 %t837 = load ptr, ptr %t836 %t838 = call ptr @lp_str_concat(ptr %t834, ptr %t837) %t839 = call ptr @fn_emit_bind(ptr %t838) store ptr %t839, ptr %t840 %t841 = load ptr, ptr %t811 %t842 = getelementptr inbounds %Cmp_Val, ptr %t841, i32 0, i32 0 %t843 = load ptr, ptr %t842 %t844 = call ptr @lp_str_concat(ptr @.str1999, ptr %t843) %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str2000) %t846 = load ptr, ptr %t820 %t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0 %t848 = load ptr, ptr %t847 %t849 = call ptr @lp_str_concat(ptr %t845, ptr %t848) %t850 = call ptr @fn_emit_bind(ptr %t849) store ptr %t850, ptr %t851 %t852 = load ptr, ptr %t851 %t853 = call ptr @lp_str_concat(ptr @.str2001, ptr %t852) %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str2002) %t855 = load ptr, ptr %t840 %t856 = call ptr @lp_str_concat(ptr %t854, ptr %t855) %t857 = call ptr @fn_emit_bind(ptr %t856) store ptr %t857, ptr %t858 %t859 = load ptr, ptr %t858 %t860 = call ptr @lp_str_concat(ptr @.str2003, ptr %t859) %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str2004) %t862 = load ptr, ptr %t840 %t863 = call ptr @lp_str_concat(ptr %t861, ptr %t862) %t864 = call ptr @fn_emit_bind(ptr %t863) store ptr %t864, ptr %t865 %t866 = load ptr, ptr %t865 %t867 = call ptr @lp_str_concat(ptr @.str2005, ptr %t866) %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str2006) %t869 = load ptr, ptr %t840 %t870 = call ptr @lp_str_concat(ptr %t868, ptr %t869) %t871 = call ptr @fn_emit_bind(ptr %t870) store ptr %t871, ptr %t872 %t873 = load ptr, ptr %t820 %t874 = getelementptr inbounds %Cmp_Val, ptr %t873, i32 0, i32 0 %t875 = load ptr, ptr %t874 %t876 = call ptr @lp_str_concat(ptr @.str2007, ptr %t875) %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str2008) %t878 = load ptr, ptr %t872 %t879 = call ptr @lp_str_concat(ptr %t877, ptr %t878) %t880 = call ptr @fn_emit_bind(ptr %t879) %t881 = call ptr @fn_val(ptr %t880, ptr @.str2009) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str2010) %t884 = icmp ne i32 %t883, 0 br i1 %t884, label %then78, label %ifend80 then78: %t885 = load ptr, ptr %t1 %t886 = getelementptr inbounds %Cmp_Node, ptr %t885, i32 0, i32 7 %t887 = load ptr, ptr %t886 %t888 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0 %t889 = load ptr, ptr %t888 %t890 = getelementptr inbounds ptr, ptr %t889, i32 0 %t891 = load ptr, ptr %t890 %t892 = call ptr @fn_emit_expr(ptr %t891) store ptr %t892, ptr %t893 %t894 = load ptr, ptr %t1 %t895 = getelementptr inbounds %Cmp_Node, ptr %t894, i32 0, i32 7 %t896 = load ptr, ptr %t895 %t897 = getelementptr inbounds %LSlice, ptr %t896, i32 0, i32 0 %t898 = load ptr, ptr %t897 %t899 = getelementptr inbounds ptr, ptr %t898, i32 1 %t900 = load ptr, ptr %t899 %t901 = call ptr @fn_emit_expr(ptr %t900) store ptr %t901, ptr %t902 %t903 = load ptr, ptr %t902 %t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0 %t905 = load ptr, ptr %t904 %t906 = call ptr @lp_str_concat(ptr @.str2011, ptr %t905) %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str2012) %t908 = call ptr @fn_emit_bind(ptr %t907) store ptr %t908, ptr %t909 %t910 = load ptr, ptr %t893 %t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0 %t912 = load ptr, ptr %t911 %t913 = call ptr @lp_str_concat(ptr @.str2013, ptr %t912) %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str2014) %t915 = load ptr, ptr %t909 %t916 = call ptr @lp_str_concat(ptr %t914, ptr %t915) %t917 = call ptr @fn_emit_bind(ptr %t916) store ptr %t917, ptr %t918 %t919 = load ptr, ptr %t918 %t920 = call ptr @lp_str_concat(ptr @.str2015, ptr %t919) %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str2016) %t922 = load ptr, ptr %t909 %t923 = call ptr @lp_str_concat(ptr %t921, 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 @.str2017, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str2018) %t929 = load ptr, ptr %t909 %t930 = call ptr @lp_str_concat(ptr %t928, ptr %t929) %t931 = call ptr @fn_emit_bind(ptr %t930) store ptr %t931, ptr %t932 %t933 = load ptr, ptr %t932 %t934 = call ptr @lp_str_concat(ptr @.str2019, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str2020) %t936 = load ptr, ptr %t902 %t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0 %t938 = load ptr, ptr %t937 %t939 = call ptr @lp_str_concat(ptr %t935, ptr %t938) %t940 = call ptr @fn_emit_bind(ptr %t939) store ptr %t940, ptr %t941 %t942 = load ptr, ptr %t941 %t943 = call ptr @lp_str_concat(ptr @.str2021, ptr %t942) %t944 = call ptr @fn_emit_bind(ptr %t943) store ptr %t944, ptr %t945 %t946 = load ptr, ptr %t941 %t947 = call ptr @lp_str_concat(ptr @.str2022, ptr %t946) %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str2023) %t949 = call ptr @fn_emit_bind(ptr %t948) store ptr %t949, ptr %t950 %t951 = load ptr, ptr %t950 %t952 = call ptr @lp_str_concat(ptr @.str2024, ptr %t951) %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str2025) %t954 = load ptr, ptr %t945 %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str2026) %t957 = load ptr, ptr %t941 %t958 = call ptr @lp_str_concat(ptr %t956, ptr %t957) %t959 = call ptr @fn_emit_bind(ptr %t958) store ptr %t959, ptr %t960 %t961 = load ptr, ptr %t902 %t962 = getelementptr inbounds %Cmp_Val, ptr %t961, i32 0, i32 0 %t963 = load ptr, ptr %t962 %t964 = call ptr @lp_str_concat(ptr @.str2027, ptr %t963) %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str2028) %t966 = load ptr, ptr %t960 %t967 = call ptr @lp_str_concat(ptr %t965, ptr %t966) %t968 = call ptr @fn_emit_bind(ptr %t967) %t969 = call ptr @fn_val(ptr %t968, ptr @.str2029) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str2030) %t972 = icmp ne i32 %t971, 0 br i1 %t972, label %then81, label %ifend83 then81: %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 ptr, ptr %t977, i32 0 %t979 = load ptr, ptr %t978 %t980 = call ptr @fn_emit_expr(ptr %t979) store ptr %t980, ptr %t981 %t982 = load ptr, ptr %t1 %t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 7 %t984 = load ptr, ptr %t983 %t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0 %t986 = load ptr, ptr %t985 %t987 = getelementptr inbounds ptr, ptr %t986, i32 1 %t988 = load ptr, ptr %t987 %t989 = call ptr @fn_emit_expr(ptr %t988) store ptr %t989, ptr %t990 %t991 = load ptr, ptr %t981 %t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0 %t993 = load ptr, ptr %t992 %t994 = load ptr, ptr %t990 %t995 = getelementptr inbounds %Cmp_Val, ptr %t994, i32 0, i32 0 %t996 = load ptr, ptr %t995 %t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996) store ptr %t997, ptr %t998 %t999 = load ptr, ptr %t998 %t1000 = call ptr @lp_str_concat(ptr @.str2031, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str2032) %t1002 = call ptr @fn_emit_bind(ptr %t1001) store ptr %t1002, ptr %t1003 %t1004 = load ptr, ptr %t1003 %t1005 = call ptr @lp_str_concat(ptr @.str2033, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str2034) %t1007 = call ptr @fn_emit_bind(ptr %t1006) store ptr %t1007, ptr %t1008 %t1009 = load ptr, ptr %t1008 %t1010 = call ptr @lp_str_concat(ptr @.str2035, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str2036) %t1012 = load ptr, ptr %t990 %t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0 %t1014 = load ptr, ptr %t1013 %t1015 = call ptr @lp_str_concat(ptr %t1011, ptr %t1014) %t1016 = call ptr @fn_emit_bind(ptr %t1015) %t1017 = call ptr @fn_val(ptr %t1016, ptr @.str2037) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str2038) %t1020 = icmp ne i32 %t1019, 0 br i1 %t1020, label %then84, label %ifend86 then84: %t1021 = load ptr, ptr %t1 %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 7 %t1023 = load ptr, ptr %t1022 %t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0 %t1025 = load ptr, ptr %t1024 %t1026 = getelementptr inbounds ptr, ptr %t1025, i32 0 %t1027 = load ptr, ptr %t1026 %t1028 = call ptr @fn_emit_expr(ptr %t1027) store ptr %t1028, ptr %t1029 %t1030 = load ptr, ptr %t1 %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 7 %t1032 = load ptr, ptr %t1031 %t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0 %t1034 = load ptr, ptr %t1033 %t1035 = getelementptr inbounds ptr, ptr %t1034, i32 1 %t1036 = load ptr, ptr %t1035 %t1037 = call ptr @fn_emit_expr(ptr %t1036) store ptr %t1037, ptr %t1038 %t1039 = load ptr, ptr %t1 %t1040 = getelementptr inbounds %Cmp_Node, ptr %t1039, i32 0, i32 7 %t1041 = load ptr, ptr %t1040 %t1042 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 0 %t1043 = load ptr, ptr %t1042 %t1044 = getelementptr inbounds ptr, ptr %t1043, i32 2 %t1045 = load ptr, ptr %t1044 %t1046 = call ptr @fn_emit_expr(ptr %t1045) store ptr %t1046, ptr %t1047 %t1048 = load ptr, ptr %t1038 %t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0 %t1050 = load ptr, ptr %t1049 %t1051 = call ptr @lp_str_concat(ptr @.str2039, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str2040) %t1053 = load ptr, ptr %t1029 %t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0 %t1055 = load ptr, ptr %t1054 %t1056 = call ptr @lp_str_concat(ptr %t1052, ptr %t1055) %t1057 = call ptr @fn_emit_bind(ptr %t1056) store ptr %t1057, ptr %t1058 %t1059 = load ptr, ptr %t1058 %t1060 = call ptr @lp_str_concat(ptr @.str2041, ptr %t1059) %t1061 = call ptr @fn_emit_bind(ptr %t1060) store ptr %t1061, ptr %t1062 %t1063 = load ptr, ptr %t1058 %t1064 = call ptr @lp_str_concat(ptr @.str2042, ptr %t1063) %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str2043) %t1066 = call ptr @fn_emit_bind(ptr %t1065) store ptr %t1066, ptr %t1067 %t1068 = load ptr, ptr %t1067 %t1069 = call ptr @lp_str_concat(ptr @.str2044, ptr %t1068) %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str2045) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str2046) %t1074 = load ptr, ptr %t1058 %t1075 = call ptr @lp_str_concat(ptr %t1073, ptr %t1074) %t1076 = call ptr @fn_emit_bind(ptr %t1075) store ptr %t1076, ptr %t1077 %t1078 = load ptr, ptr %t1058 %t1079 = call ptr @lp_str_concat(ptr @.str2047, ptr %t1078) %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str2048) %t1081 = call ptr @fn_emit_bind(ptr %t1080) store ptr %t1081, ptr %t1082 %t1083 = load ptr, ptr %t1058 %t1084 = call ptr @lp_str_concat(ptr @.str2049, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str2050) %t1086 = call ptr @fn_emit_bind(ptr %t1085) store ptr %t1086, ptr %t1087 %t1088 = load ptr, ptr %t1087 %t1089 = call ptr @lp_str_concat(ptr @.str2051, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str2052) %t1091 = call ptr @fn_emit_bind(ptr %t1090) store ptr %t1091, ptr %t1092 %t1093 = load ptr, ptr %t1082 %t1094 = call ptr @lp_str_concat(ptr @.str2053, ptr %t1093) %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str2054) %t1096 = load ptr, ptr %t1092 %t1097 = call ptr @lp_str_concat(ptr %t1095, ptr %t1096) %t1098 = call ptr @fn_emit_bind(ptr %t1097) store ptr %t1098, ptr %t1099 %t1100 = load ptr, ptr %t1099 %t1101 = call ptr @lp_str_concat(ptr @.str2055, ptr %t1100) %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str2056) %t1103 = load ptr, ptr %t1047 %t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0 %t1105 = load ptr, ptr %t1104 %t1106 = call ptr @lp_str_concat(ptr %t1102, ptr %t1105) %t1107 = call ptr @fn_emit_bind(ptr %t1106) store ptr %t1107, ptr %t1108 %t1109 = load ptr, ptr %t1029 %t1110 = getelementptr inbounds %Cmp_Val, ptr %t1109, i32 0, i32 0 %t1111 = load ptr, ptr %t1110 %t1112 = call ptr @lp_str_concat(ptr @.str2057, ptr %t1111) %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str2058) %t1114 = load ptr, ptr %t1108 %t1115 = call ptr @lp_str_concat(ptr %t1113, ptr %t1114) %t1116 = call ptr @fn_emit_bind(ptr %t1115) store ptr %t1116, ptr %t1117 %t1118 = load ptr, ptr %t1077 %t1119 = call ptr @lp_str_concat(ptr @.str2059, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str2060) %t1121 = load ptr, ptr %t1047 %t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0 %t1123 = load ptr, ptr %t1122 %t1124 = call ptr @lp_str_concat(ptr %t1120, ptr %t1123) %t1125 = call ptr @fn_emit_bind(ptr %t1124) store ptr %t1125, ptr %t1126 %t1127 = load ptr, ptr %t1126 %t1128 = call ptr @lp_str_concat(ptr @.str2061, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str2062) %t1130 = load ptr, ptr %t1038 %t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0 %t1132 = load ptr, ptr %t1131 %t1133 = call ptr @lp_str_concat(ptr %t1129, ptr %t1132) %t1134 = call ptr @lp_str_concat(ptr %t1133, ptr @.str2063) %t1135 = load ptr, ptr %t1117 %t1136 = call ptr @lp_str_concat(ptr %t1134, ptr %t1135) %t1137 = call ptr @fn_emit_bind(ptr %t1136) %t1138 = call ptr @fn_val(ptr %t1137, ptr @.str2064) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str2065) %t1141 = icmp ne i32 %t1140, 0 br i1 %t1141, label %then87, label %ifend89 then87: %t1142 = load ptr, ptr %t1 %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 7 %t1144 = load ptr, ptr %t1143 %t1145 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0 %t1146 = load ptr, ptr %t1145 %t1147 = getelementptr inbounds ptr, ptr %t1146, i32 0 %t1148 = load ptr, ptr %t1147 %t1149 = call ptr @fn_emit_expr(ptr %t1148) store ptr %t1149, ptr %t1150 %t1151 = load ptr, ptr %t1 %t1152 = getelementptr inbounds %Cmp_Node, ptr %t1151, i32 0, i32 7 %t1153 = load ptr, ptr %t1152 %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 %t1155 = load ptr, ptr %t1154 %t1156 = getelementptr inbounds ptr, ptr %t1155, i32 1 %t1157 = load ptr, ptr %t1156 %t1158 = call ptr @fn_emit_expr(ptr %t1157) store ptr %t1158, ptr %t1159 %t1160 = load ptr, ptr %t1 %t1161 = getelementptr inbounds %Cmp_Node, ptr %t1160, i32 0, i32 7 %t1162 = load ptr, ptr %t1161 %t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0 %t1164 = load ptr, ptr %t1163 %t1165 = getelementptr inbounds ptr, ptr %t1164, i32 2 %t1166 = load ptr, ptr %t1165 %t1167 = call ptr @fn_emit_expr(ptr %t1166) store ptr %t1167, ptr %t1168 %t1169 = load ptr, ptr %t1150 %t1170 = getelementptr inbounds %Cmp_Val, ptr %t1169, i32 0, i32 0 %t1171 = load ptr, ptr %t1170 %t1172 = load ptr, ptr %t1159 %t1173 = getelementptr inbounds %Cmp_Val, ptr %t1172, i32 0, i32 0 %t1174 = load ptr, ptr %t1173 %t1175 = load ptr, ptr %t1168 %t1176 = getelementptr inbounds %Cmp_Val, ptr %t1175, i32 0, i32 0 %t1177 = load ptr, ptr %t1176 %t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177) store ptr %t1178, ptr %t1179 %t1180 = load ptr, ptr %t1179 %t1181 = call ptr @lp_str_concat(ptr @.str2066, ptr %t1180) %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str2067) %t1183 = call ptr @fn_emit_bind(ptr %t1182) store ptr %t1183, ptr %t1184 %t1185 = load ptr, ptr %t1184 %t1186 = call ptr @lp_str_concat(ptr @.str2068, ptr %t1185) %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str2069) %t1188 = load ptr, ptr %t1179 %t1189 = call ptr @lp_str_concat(ptr %t1187, ptr %t1188) %t1190 = call ptr @fn_emit_bind(ptr %t1189) store ptr %t1190, ptr %t1191 %t1192 = load ptr, ptr %t1191 %t1193 = call ptr @lp_str_concat(ptr @.str2070, ptr %t1192) %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str2071) %t1195 = call ptr @fn_emit_bind(ptr %t1194) store ptr %t1195, ptr %t1196 %t1197 = load ptr, ptr %t1196 %t1198 = call ptr @lp_str_concat(ptr @.str2072, ptr %t1197) %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str2073) %t1200 = load ptr, ptr %t1191 %t1201 = call ptr @lp_str_concat(ptr %t1199, ptr %t1200) %t1202 = call ptr @fn_emit_bind(ptr %t1201) store ptr %t1202, ptr %t1203 %t1204 = load ptr, ptr %t1203 %t1205 = call ptr @lp_str_concat(ptr @.str2074, ptr %t1204) %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str2075) %t1207 = call ptr @fn_emit_bind(ptr %t1206) store ptr %t1207, ptr %t1208 %t1209 = load ptr, ptr %t1208 %t1210 = call ptr @lp_str_concat(ptr @.str2076, ptr %t1209) %t1211 = call ptr @fn_emit_bind(ptr %t1210) store ptr %t1211, ptr %t1212 %t1213 = load ptr, ptr %t1203 %t1214 = load ptr, ptr %t1203 %t1215 = call ptr @fn_fx_mul_code(ptr %t1213, ptr %t1214) store ptr %t1215, ptr %t1216 %t1217 = load ptr, ptr %t1216 %t1218 = load ptr, ptr %t1212 %t1219 = call ptr @fn_fx_mul_code(ptr %t1217, ptr %t1218) %t1220 = call ptr @fn_val(ptr %t1219, ptr @.str2077) store ptr %t1220, ptr %retval br label %ret ifend89: %t1221 = load ptr, ptr %t1 %t1222 = getelementptr inbounds %Cmp_Node, ptr %t1221, i32 0, i32 7 %t1223 = load ptr, ptr %t1222 %t1224 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 0 %t1225 = load ptr, ptr %t1224 %t1226 = getelementptr inbounds ptr, ptr %t1225, i32 0 %t1227 = load ptr, ptr %t1226 %t1228 = call ptr @fn_emit_expr(ptr %t1227) store ptr %t1228, ptr %t1229 %t1230 = load ptr, ptr %t1 %t1231 = getelementptr inbounds %Cmp_Node, ptr %t1230, i32 0, i32 7 %t1232 = load ptr, ptr %t1231 %t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0 %t1234 = load ptr, ptr %t1233 %t1235 = getelementptr inbounds ptr, ptr %t1234, i32 1 %t1236 = load ptr, ptr %t1235 %t1237 = call ptr @fn_emit_expr(ptr %t1236) store ptr %t1237, ptr %t1238 %t1239 = load ptr, ptr %t1 %t1240 = getelementptr inbounds %Cmp_Node, ptr %t1239, i32 0, i32 7 %t1241 = load ptr, ptr %t1240 %t1242 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 0 %t1243 = load ptr, ptr %t1242 %t1244 = getelementptr inbounds ptr, ptr %t1243, i32 2 %t1245 = load ptr, ptr %t1244 %t1246 = call ptr @fn_emit_expr(ptr %t1245) store ptr %t1246, ptr %t1247 %t1248 = load ptr, ptr %t1 %t1249 = getelementptr inbounds %Cmp_Node, ptr %t1248, i32 0, i32 7 %t1250 = load ptr, ptr %t1249 %t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0 %t1252 = load ptr, ptr %t1251 %t1253 = getelementptr inbounds ptr, ptr %t1252, i32 3 %t1254 = load ptr, ptr %t1253 %t1255 = call ptr @fn_emit_expr(ptr %t1254) store ptr %t1255, ptr %t1256 %t1257 = load ptr, ptr %t1 %t1258 = getelementptr inbounds %Cmp_Node, ptr %t1257, i32 0, i32 7 %t1259 = load ptr, ptr %t1258 %t1260 = getelementptr inbounds %LSlice, ptr %t1259, i32 0, i32 0 %t1261 = load ptr, ptr %t1260 %t1262 = getelementptr inbounds ptr, ptr %t1261, i32 4 %t1263 = load ptr, ptr %t1262 %t1264 = call ptr @fn_emit_expr(ptr %t1263) store ptr %t1264, ptr %t1265 %t1266 = load ptr, ptr %t1238 %t1267 = getelementptr inbounds %Cmp_Val, ptr %t1266, i32 0, i32 0 %t1268 = load ptr, ptr %t1267 %t1269 = load ptr, ptr %t1247 %t1270 = getelementptr inbounds %Cmp_Val, ptr %t1269, i32 0, i32 0 %t1271 = load ptr, ptr %t1270 %t1272 = load ptr, ptr %t1229 %t1273 = getelementptr inbounds %Cmp_Val, ptr %t1272, i32 0, i32 0 %t1274 = load ptr, ptr %t1273 %t1275 = call ptr @fn_fx_inv_lerp_code(ptr %t1268, ptr %t1271, ptr %t1274) store ptr %t1275, ptr %t1276 %t1277 = load ptr, ptr %t1256 %t1278 = getelementptr inbounds %Cmp_Val, ptr %t1277, i32 0, i32 0 %t1279 = load ptr, ptr %t1278 %t1280 = load ptr, ptr %t1265 %t1281 = getelementptr inbounds %Cmp_Val, ptr %t1280, i32 0, i32 0 %t1282 = load ptr, ptr %t1281 %t1283 = load ptr, ptr %t1276 %t1284 = call ptr @fn_fx_lerp_code(ptr %t1279, ptr %t1282, ptr %t1283) %t1285 = call ptr @fn_val(ptr %t1284, ptr @.str2078) store ptr %t1285, ptr %retval br label %ret ret: %t1286 = load ptr, ptr %retval ret ptr %t1286 } define void @fn_emit_math_prelude() { entry: call void @fn_emith(ptr @.str2079) call void @fn_emith(ptr @.str2080) call void @fn_emith(ptr @.str2081) call void @fn_emith(ptr @.str2082) call void @fn_emith(ptr @.str2083) call void @fn_emith(ptr @.str2084) call void @fn_emith(ptr @.str2085) call void @fn_emith(ptr @.str2086) call void @fn_emith(ptr @.str2087) call void @fn_emith(ptr @.str2088) call void @fn_emith(ptr @.str2089) call void @fn_emith(ptr @.str2090) call void @fn_emith(ptr @.str2091) call void @fn_emith(ptr @.str2092) call void @fn_emith(ptr @.str2093) call void @fn_emith(ptr @.str2094) call void @fn_emith(ptr @.str2095) call void @fn_emith(ptr @.str2096) call void @fn_emith(ptr @.str2097) call void @fn_emith(ptr @.str2098) call void @fn_emith(ptr @.str2099) call void @fn_emith(ptr @.str2100) call void @fn_emith(ptr @.str2101) call void @fn_emith(ptr @.str2102) call void @fn_emith(ptr @.str2103) call void @fn_emith(ptr @.str2104) call void @fn_emith(ptr @.str2105) call void @fn_emith(ptr @.str2106) call void @fn_emith(ptr @.str2107) call void @fn_emith(ptr @.str2108) call void @fn_emith(ptr @.str2109) call void @fn_emith(ptr @.str2110) call void @fn_emith(ptr @.str2111) call void @fn_emith(ptr @.str2112) call void @fn_emith(ptr @.str2113) call void @fn_emith(ptr @.str2114) call void @fn_emith(ptr @.str2115) call void @fn_emith(ptr @.str2116) call void @fn_emith(ptr @.str2117) call void @fn_emith(ptr @.str2118) call void @fn_emith(ptr @.str2119) call void @fn_emith(ptr @.str2120) call void @fn_emith(ptr @.str2121) call void @fn_emith(ptr @.str2122) call void @fn_emith(ptr @.str2123) call void @fn_emith(ptr @.str2124) call void @fn_emith(ptr @.str2125) call void @fn_emith(ptr @.str2126) call void @fn_emith(ptr @.str2127) call void @fn_emith(ptr @.str2128) call void @fn_emith(ptr @.str2129) call void @fn_emith(ptr @.str2130) call void @fn_emith(ptr @.str2131) call void @fn_emith(ptr @.str2132) call void @fn_emith(ptr @.str2133) call void @fn_emith(ptr @.str2134) call void @fn_emith(ptr @.str2135) call void @fn_emith(ptr @.str2136) call void @fn_emith(ptr @.str2137) call void @fn_emith(ptr @.str2138) call void @fn_emith(ptr @.str2139) call void @fn_emith(ptr @.str2140) call void @fn_emith(ptr @.str2141) call void @fn_emith(ptr @.str2142) call void @fn_emith(ptr @.str2143) call void @fn_emith(ptr @.str2144) call void @fn_emith(ptr @.str2145) call void @fn_emith(ptr @.str2146) call void @fn_emith(ptr @.str2147) call void @fn_emith(ptr @.str2148) call void @fn_emith(ptr @.str2149) call void @fn_emith(ptr @.str2150) call void @fn_emith(ptr @.str2151) call void @fn_emith(ptr @.str2152) call void @fn_emith(ptr @.str2153) call void @fn_emith(ptr @.str2154) call void @fn_emith(ptr @.str2155) call void @fn_emith(ptr @.str2156) call void @fn_emith(ptr @.str2157) call void @fn_emith(ptr @.str2158) call void @fn_emith(ptr @.str2159) call void @fn_emith(ptr @.str2160) call void @fn_emith(ptr @.str2161) call void @fn_emith(ptr @.str2162) call void @fn_emith(ptr @.str2163) call void @fn_emith(ptr @.str2164) call void @fn_emith(ptr @.str2165) call void @fn_emith(ptr @.str2166) call void @fn_emith(ptr @.str2167) call void @fn_emith(ptr @.str2168) call void @fn_emith(ptr @.str2169) call void @fn_emith(ptr @.str2170) call void @fn_emith(ptr @.str2171) call void @fn_emith(ptr @.str2172) call void @fn_emith(ptr @.str2173) call void @fn_emith(ptr @.str2174) call void @fn_emith(ptr @.str2175) call void @fn_emith(ptr @.str2176) call void @fn_emith(ptr @.str2177) call void @fn_emith(ptr @.str2178) call void @fn_emith(ptr @.str2179) call void @fn_emith(ptr @.str2180) call void @fn_emith(ptr @.str2181) call void @fn_emith(ptr @.str2182) call void @fn_emith(ptr @.str2183) call void @fn_emith(ptr @.str2184) call void @fn_emith(ptr @.str2185) call void @fn_emith(ptr @.str2186) call void @fn_emith(ptr @.str2187) 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 @.str2188, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2189) %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 @.str2190, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2191) %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 @.str2192, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2193) %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 @.str2194, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2195) %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 @.str2196, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2197) %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 @.str2198, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2199) %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 @.str2200, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2201) %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 @.str2202) %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 @.str2203) %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 @.str2204) %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 @.str2205) %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 @.str2206) %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 @.str2207) %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 @.str2208) %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 @.str2209) %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 @.str2210) %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 @.str2211) %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 @.str2212) %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 @.str2213) %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 @.str2214) %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 @.str2215) %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 @.str2216) %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 %t17 = alloca ptr %t26 = alloca ptr %t46 = alloca ptr %t63 = alloca ptr %t80 = alloca ptr %t89 = alloca ptr %t94 = alloca ptr %t99 = alloca ptr %t104 = alloca ptr %t109 = alloca ptr %t116 = alloca ptr %t123 = alloca ptr %t139 = alloca ptr %t148 = alloca ptr %t153 = alloca ptr %t158 = alloca ptr %t163 = alloca ptr %t168 = alloca ptr %t175 = alloca ptr %t182 = alloca ptr %t198 = alloca ptr %t207 = alloca ptr %t212 = alloca ptr %t217 = alloca ptr %t223 = alloca ptr %t229 = alloca ptr %t245 = alloca ptr %t254 = alloca ptr %t259 = alloca ptr %t264 = alloca ptr %t269 = alloca ptr %t274 = alloca ptr %t278 = alloca ptr %t282 = alloca ptr %t301 = alloca ptr %t306 = alloca ptr %t311 = alloca ptr %t315 = alloca ptr %t319 = alloca ptr %t326 = alloca ptr %t343 = alloca ptr %t352 = alloca ptr %t357 = alloca ptr %t362 = alloca ptr %t367 = alloca ptr %t372 = alloca ptr %t379 = alloca ptr %t386 = alloca ptr %t390 = alloca ptr %t394 = alloca ptr %t401 = alloca ptr %t418 = alloca ptr %t423 = alloca ptr %t428 = alloca ptr %t432 = alloca ptr %t436 = alloca ptr %t443 = alloca ptr %t448 = alloca ptr %t453 = alloca ptr %t460 = alloca ptr %t463 = alloca ptr %t467 = alloca ptr %t471 = alloca ptr %t487 = alloca ptr %t496 = alloca ptr %t503 = alloca ptr %t510 = alloca ptr %t515 = alloca ptr %t520 = alloca ptr %t525 = alloca ptr %t529 = alloca ptr %t533 = alloca ptr %t537 = alloca ptr %t541 = alloca ptr %t548 = alloca ptr %t555 = alloca ptr %t571 = alloca ptr %t576 = alloca ptr %t581 = alloca ptr %t601 = alloca ptr %t608 = alloca ptr %t615 = alloca ptr %t620 = alloca ptr %t633 = alloca ptr %t642 = alloca ptr %t651 = alloca ptr %t656 = alloca ptr %t661 = alloca ptr %t666 = alloca ptr %t671 = alloca ptr %t678 = alloca ptr %t685 = 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 @.str2217) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2218, ptr @.str2219) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2220) %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 ptr, ptr %t13, 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 ptr, ptr %t22, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t17 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t26 %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str2221) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2222) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: %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 ptr, ptr %t42, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_emit_expr(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_vec_x(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str2223) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2224) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: %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 ptr, ptr %t59, i32 0 %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 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_vec_y(ptr %t66) %t68 = call ptr @fn_val(ptr %t67, ptr @.str2225) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str2226) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then12, label %ifend14 then12: %t72 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t76, i32 0 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_emit_expr(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t85, i32 1 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t80 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_vec_x(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t80 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_vec_y(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t89 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_vec_x(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t89 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_vec_y(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t94 %t111 = call ptr @lp_str_concat(ptr @.str2227, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str2228) %t113 = load ptr, ptr %t104 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 %t117 = load ptr, ptr %t99 %t118 = call ptr @lp_str_concat(ptr @.str2229, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str2230) %t120 = load ptr, ptr %t109 %t121 = call ptr @lp_str_concat(ptr %t119, ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t116 %t125 = load ptr, ptr %t123 %t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125) %t127 = call ptr @fn_val(ptr %t126, ptr @.str2231) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str2232) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then15, label %ifend17 then15: %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 ptr, ptr %t135, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_emit_expr(ptr %t137) store 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 = getelementptr inbounds ptr, ptr %t144, i32 1 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_emit_expr(ptr %t146) store ptr %t147, ptr %t148 %t149 = load ptr, ptr %t139 %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_vec_x(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t139 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = call ptr @fn_vec_y(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t148 %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_vec_x(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t148 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = call ptr @fn_vec_y(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t153 %t170 = call ptr @lp_str_concat(ptr @.str2233, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str2234) %t172 = load ptr, ptr %t163 %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t158 %t177 = call ptr @lp_str_concat(ptr @.str2235, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str2236) %t179 = load ptr, ptr %t168 %t180 = call ptr @lp_str_concat(ptr %t178, ptr %t179) %t181 = call ptr @fn_emit_bind(ptr %t180) store ptr %t181, ptr %t182 %t183 = load ptr, ptr %t175 %t184 = load ptr, ptr %t182 %t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str2237) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str2238) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then18, label %ifend20 then18: %t190 = load ptr, ptr %t1 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds ptr, ptr %t194, i32 0 %t196 = load ptr, ptr %t195 %t197 = call ptr @fn_emit_expr(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t1 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds ptr, ptr %t203, i32 1 %t205 = load ptr, ptr %t204 %t206 = call ptr @fn_emit_expr(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t198 %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_vec_x(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t198 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = call ptr @fn_vec_y(ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t212 %t219 = load ptr, ptr %t207 %t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = call ptr @fn_fx_mul_code(ptr %t218, ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t217 %t225 = load ptr, ptr %t207 %t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_fx_mul_code(ptr %t224, ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t223 %t231 = load ptr, ptr %t229 %t232 = call ptr @fn_vec_pack(ptr %t230, ptr %t231) %t233 = call ptr @fn_val(ptr %t232, ptr @.str2239) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str2240) %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then21, label %ifend23 then21: %t237 = load ptr, ptr %t1 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 7 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds ptr, ptr %t241, i32 0 %t243 = load ptr, ptr %t242 %t244 = call ptr @fn_emit_expr(ptr %t243) store ptr %t244, ptr %t245 %t246 = load ptr, ptr %t1 %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 ptr, ptr %t250, i32 1 %t252 = load ptr, ptr %t251 %t253 = call ptr @fn_emit_expr(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t245 %t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 %t258 = call ptr @fn_vec_x(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t245 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 %t263 = call ptr @fn_vec_y(ptr %t262) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_vec_x(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t254 %t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_vec_y(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t259 %t276 = load ptr, ptr %t269 %t277 = call ptr @fn_fx_mul_code(ptr %t275, ptr %t276) store ptr %t277, ptr %t278 %t279 = load ptr, ptr %t264 %t280 = load ptr, ptr %t274 %t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t278 %t284 = call ptr @lp_str_concat(ptr @.str2241, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str2242) %t286 = load ptr, ptr %t282 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str2243) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str2244) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then24, label %ifend26 then24: store i32 1, ptr @g_g_uses_mathrt %t293 = load ptr, ptr %t1 %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds ptr, ptr %t297, i32 0 %t299 = load ptr, ptr %t298 %t300 = call ptr @fn_emit_expr(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = call ptr @fn_vec_x(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t301 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = call ptr @fn_vec_y(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t306 %t313 = load ptr, ptr %t306 %t314 = call ptr @fn_fx_mul_code(ptr %t312, ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t311 %t317 = load ptr, ptr %t311 %t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t315 %t321 = call ptr @lp_str_concat(ptr @.str2245, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str2246) %t323 = load ptr, ptr %t319 %t324 = call ptr @lp_str_concat(ptr %t322, ptr %t323) %t325 = call ptr @fn_emit_bind(ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t326 %t328 = call ptr @lp_str_concat(ptr @.str2247, ptr %t327) %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str2248) %t330 = call ptr @fn_emit_bind(ptr %t329) %t331 = call ptr @fn_val(ptr %t330, ptr @.str2249) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str2250) %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then27, label %ifend29 then27: store i32 1, ptr @g_g_uses_mathrt %t335 = load ptr, ptr %t1 %t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 7 %t337 = load ptr, ptr %t336 %t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = getelementptr inbounds ptr, ptr %t339, i32 0 %t341 = load ptr, ptr %t340 %t342 = call ptr @fn_emit_expr(ptr %t341) store ptr %t342, ptr %t343 %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 ptr, ptr %t348, i32 1 %t350 = load ptr, ptr %t349 %t351 = call ptr @fn_emit_expr(ptr %t350) store ptr %t351, ptr %t352 %t353 = load ptr, ptr %t343 %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = call ptr @fn_vec_x(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t343 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 %t361 = call ptr @fn_vec_y(ptr %t360) store ptr %t361, ptr %t362 %t363 = load ptr, ptr %t352 %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = call ptr @fn_vec_x(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t352 %t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0 %t370 = load ptr, ptr %t369 %t371 = call ptr @fn_vec_y(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t357 %t374 = call ptr @lp_str_concat(ptr @.str2251, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str2252) %t376 = load ptr, ptr %t367 %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376) %t378 = call ptr @fn_emit_bind(ptr %t377) store ptr %t378, ptr %t379 %t380 = load ptr, ptr %t362 %t381 = call ptr @lp_str_concat(ptr @.str2253, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str2254) %t383 = load ptr, ptr %t372 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @fn_emit_bind(ptr %t384) store ptr %t385, ptr %t386 %t387 = load ptr, ptr %t379 %t388 = load ptr, ptr %t379 %t389 = call ptr @fn_fx_mul_code(ptr %t387, ptr %t388) store ptr %t389, ptr %t390 %t391 = load ptr, ptr %t386 %t392 = load ptr, ptr %t386 %t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t390 %t396 = call ptr @lp_str_concat(ptr @.str2255, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str2256) %t398 = load ptr, ptr %t394 %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @fn_emit_bind(ptr %t399) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t401 %t403 = call ptr @lp_str_concat(ptr @.str2257, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str2258) %t405 = call ptr @fn_emit_bind(ptr %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str2259) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str2260) %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then30, label %ifend32 then30: store i32 1, ptr @g_g_uses_mathrt %t410 = load ptr, ptr %t1 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 7 %t412 = load ptr, ptr %t411 %t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0 %t414 = load ptr, ptr %t413 %t415 = getelementptr inbounds ptr, ptr %t414, i32 0 %t416 = load ptr, ptr %t415 %t417 = call ptr @fn_emit_expr(ptr %t416) store ptr %t417, ptr %t418 %t419 = load ptr, ptr %t418 %t420 = getelementptr inbounds %Cmp_Val, ptr %t419, i32 0, i32 0 %t421 = load ptr, ptr %t420 %t422 = call ptr @fn_vec_x(ptr %t421) store ptr %t422, ptr %t423 %t424 = load ptr, ptr %t418 %t425 = getelementptr inbounds %Cmp_Val, ptr %t424, i32 0, i32 0 %t426 = load ptr, ptr %t425 %t427 = call ptr @fn_vec_y(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t423 %t430 = load ptr, ptr %t423 %t431 = call ptr @fn_fx_mul_code(ptr %t429, ptr %t430) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t428 %t434 = load ptr, ptr %t428 %t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t432 %t438 = call ptr @lp_str_concat(ptr @.str2261, ptr %t437) %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str2262) %t440 = load ptr, ptr %t436 %t441 = call ptr @lp_str_concat(ptr %t439, ptr %t440) %t442 = call ptr @fn_emit_bind(ptr %t441) store ptr %t442, ptr %t443 %t444 = load ptr, ptr %t443 %t445 = call ptr @lp_str_concat(ptr @.str2263, ptr %t444) %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str2264) %t447 = call ptr @fn_emit_bind(ptr %t446) store ptr %t447, ptr %t448 %t449 = load ptr, ptr %t448 %t450 = call ptr @lp_str_concat(ptr @.str2265, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str2266) %t452 = call ptr @fn_emit_bind(ptr %t451) store ptr %t452, ptr %t453 %t454 = load ptr, ptr %t453 %t455 = call ptr @lp_str_concat(ptr @.str2267, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str2268) %t457 = load ptr, ptr %t448 %t458 = call ptr @lp_str_concat(ptr %t456, ptr %t457) %t459 = call ptr @fn_emit_bind(ptr %t458) store ptr %t459, ptr %t460 %t461 = load ptr, ptr %t460 %t462 = call ptr @fn_fx_div_code(ptr @.str2269, ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t423 %t465 = load ptr, ptr %t463 %t466 = call ptr @fn_fx_mul_code(ptr %t464, ptr %t465) store ptr %t466, ptr %t467 %t468 = load ptr, ptr %t428 %t469 = load ptr, ptr %t463 %t470 = call ptr @fn_fx_mul_code(ptr %t468, ptr %t469) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t467 %t473 = load ptr, ptr %t471 %t474 = call ptr @fn_vec_pack(ptr %t472, ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str2270) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str2271) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then33, label %ifend35 then33: store i32 1, ptr @g_g_uses_mathrt %t479 = load ptr, ptr %t1 %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7 %t481 = load ptr, ptr %t480 %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds ptr, ptr %t483, i32 0 %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 ptr, ptr %t492, i32 1 %t494 = load ptr, ptr %t493 %t495 = call ptr @fn_emit_expr(ptr %t494) store ptr %t495, ptr %t496 %t497 = load ptr, ptr %t496 %t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0 %t499 = load ptr, ptr %t498 %t500 = call ptr @lp_str_concat(ptr @.str2272, ptr %t499) %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str2273) %t502 = call ptr @fn_emit_bind(ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t496 %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = call ptr @lp_str_concat(ptr @.str2274, ptr %t506) %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str2275) %t509 = call ptr @fn_emit_bind(ptr %t508) store ptr %t509, ptr %t510 %t511 = load ptr, ptr %t510 %t512 = call ptr @lp_str_concat(ptr @.str2276, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str2277) %t514 = call ptr @fn_emit_bind(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_x(ptr %t518) store ptr %t519, ptr %t520 %t521 = load ptr, ptr %t487 %t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0 %t523 = load ptr, ptr %t522 %t524 = call ptr @fn_vec_y(ptr %t523) store ptr %t524, ptr %t525 %t526 = load ptr, ptr %t520 %t527 = load ptr, ptr %t515 %t528 = call ptr @fn_fx_mul_code(ptr %t526, ptr %t527) store ptr %t528, ptr %t529 %t530 = load ptr, ptr %t525 %t531 = load ptr, ptr %t503 %t532 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t531) store ptr %t532, ptr %t533 %t534 = load ptr, ptr %t520 %t535 = load ptr, ptr %t503 %t536 = call ptr @fn_fx_mul_code(ptr %t534, ptr %t535) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t525 %t539 = load ptr, ptr %t515 %t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539) store ptr %t540, ptr %t541 %t542 = load ptr, ptr %t529 %t543 = call ptr @lp_str_concat(ptr @.str2278, ptr %t542) %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str2279) %t545 = load ptr, ptr %t533 %t546 = call ptr @lp_str_concat(ptr %t544, ptr %t545) %t547 = call ptr @fn_emit_bind(ptr %t546) store ptr %t547, ptr %t548 %t549 = load ptr, ptr %t537 %t550 = call ptr @lp_str_concat(ptr @.str2280, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2281) %t552 = load ptr, ptr %t541 %t553 = call ptr @lp_str_concat(ptr %t551, ptr %t552) %t554 = call ptr @fn_emit_bind(ptr %t553) store ptr %t554, ptr %t555 %t556 = load ptr, ptr %t548 %t557 = load ptr, ptr %t555 %t558 = call ptr @fn_vec_pack(ptr %t556, ptr %t557) %t559 = call ptr @fn_val(ptr %t558, ptr @.str2282) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str2283) %t562 = icmp ne i32 %t561, 0 br i1 %t562, label %then36, label %ifend38 then36: store i32 1, ptr @g_g_uses_mathrt %t563 = load ptr, ptr %t1 %t564 = getelementptr inbounds %Cmp_Node, ptr %t563, i32 0, i32 7 %t565 = load ptr, ptr %t564 %t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds ptr, ptr %t567, i32 0 %t569 = load ptr, ptr %t568 %t570 = call ptr @fn_emit_expr(ptr %t569) store ptr %t570, ptr %t571 %t572 = load ptr, ptr %t571 %t573 = getelementptr inbounds %Cmp_Val, ptr %t572, i32 0, i32 0 %t574 = load ptr, ptr %t573 %t575 = call ptr @fn_vec_x(ptr %t574) store ptr %t575, ptr %t576 %t577 = load ptr, ptr %t571 %t578 = getelementptr inbounds %Cmp_Val, ptr %t577, i32 0, i32 0 %t579 = load ptr, ptr %t578 %t580 = call ptr @fn_vec_y(ptr %t579) store ptr %t580, ptr %t581 %t582 = load ptr, ptr %t581 %t583 = call ptr @lp_str_concat(ptr @.str2284, ptr %t582) %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str2285) %t585 = load ptr, ptr %t576 %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str2286) %t588 = call ptr @fn_emit_bind(ptr %t587) %t589 = call ptr @fn_val(ptr %t588, ptr @.str2287) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str2288) %t592 = icmp ne i32 %t591, 0 br i1 %t592, label %then39, label %ifend41 then39: store i32 1, ptr @g_g_uses_mathrt %t593 = load ptr, ptr %t1 %t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 7 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0 %t597 = load ptr, ptr %t596 %t598 = getelementptr inbounds ptr, ptr %t597, i32 0 %t599 = load ptr, ptr %t598 %t600 = call ptr @fn_emit_expr(ptr %t599) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t601 %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = call ptr @lp_str_concat(ptr @.str2289, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2290) %t607 = call ptr @fn_emit_bind(ptr %t606) store ptr %t607, ptr %t608 %t609 = load ptr, ptr %t601 %t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0 %t611 = load ptr, ptr %t610 %t612 = call ptr @lp_str_concat(ptr @.str2291, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2292) %t614 = call ptr @fn_emit_bind(ptr %t613) store ptr %t614, ptr %t615 %t616 = load ptr, ptr %t615 %t617 = call ptr @lp_str_concat(ptr @.str2293, ptr %t616) %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str2294) %t619 = call ptr @fn_emit_bind(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t620 %t622 = load ptr, ptr %t608 %t623 = call ptr @fn_vec_pack(ptr %t621, ptr %t622) %t624 = call ptr @fn_val(ptr %t623, ptr @.str2295) store ptr %t624, ptr %retval br label %ret ifend41: %t625 = load ptr, ptr %t1 %t626 = getelementptr inbounds %Cmp_Node, ptr %t625, i32 0, i32 7 %t627 = load ptr, ptr %t626 %t628 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0 %t629 = load ptr, ptr %t628 %t630 = getelementptr inbounds ptr, ptr %t629, i32 0 %t631 = load ptr, ptr %t630 %t632 = call ptr @fn_emit_expr(ptr %t631) store ptr %t632, ptr %t633 %t634 = load ptr, ptr %t1 %t635 = getelementptr inbounds %Cmp_Node, ptr %t634, i32 0, i32 7 %t636 = load ptr, ptr %t635 %t637 = getelementptr inbounds %LSlice, ptr %t636, i32 0, i32 0 %t638 = load ptr, ptr %t637 %t639 = getelementptr inbounds ptr, ptr %t638, i32 1 %t640 = load ptr, ptr %t639 %t641 = call ptr @fn_emit_expr(ptr %t640) store ptr %t641, ptr %t642 %t643 = load ptr, ptr %t1 %t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 7 %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %LSlice, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 %t648 = getelementptr inbounds ptr, ptr %t647, i32 2 %t649 = load ptr, ptr %t648 %t650 = call ptr @fn_emit_expr(ptr %t649) store ptr %t650, ptr %t651 %t652 = load ptr, ptr %t633 %t653 = getelementptr inbounds %Cmp_Val, ptr %t652, i32 0, i32 0 %t654 = load ptr, ptr %t653 %t655 = call ptr @fn_vec_x(ptr %t654) store ptr %t655, ptr %t656 %t657 = load ptr, ptr %t633 %t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0 %t659 = load ptr, ptr %t658 %t660 = call ptr @fn_vec_y(ptr %t659) store ptr %t660, ptr %t661 %t662 = load ptr, ptr %t642 %t663 = getelementptr inbounds %Cmp_Val, ptr %t662, i32 0, i32 0 %t664 = load ptr, ptr %t663 %t665 = call ptr @fn_vec_x(ptr %t664) store ptr %t665, ptr %t666 %t667 = load ptr, ptr %t642 %t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0 %t669 = load ptr, ptr %t668 %t670 = call ptr @fn_vec_y(ptr %t669) store ptr %t670, ptr %t671 %t672 = load ptr, ptr %t656 %t673 = load ptr, ptr %t666 %t674 = load ptr, ptr %t651 %t675 = getelementptr inbounds %Cmp_Val, ptr %t674, i32 0, i32 0 %t676 = load ptr, ptr %t675 %t677 = call ptr @fn_fx_lerp_code(ptr %t672, ptr %t673, ptr %t676) store ptr %t677, ptr %t678 %t679 = load ptr, ptr %t661 %t680 = load ptr, ptr %t671 %t681 = load ptr, ptr %t651 %t682 = getelementptr inbounds %Cmp_Val, ptr %t681, i32 0, i32 0 %t683 = load ptr, ptr %t682 %t684 = call ptr @fn_fx_lerp_code(ptr %t679, ptr %t680, ptr %t683) store ptr %t684, ptr %t685 %t686 = load ptr, ptr %t678 %t687 = load ptr, ptr %t685 %t688 = call ptr @fn_vec_pack(ptr %t686, ptr %t687) %t689 = call ptr @fn_val(ptr %t688, ptr @.str2296) store ptr %t689, ptr %retval br label %ret ret: %t690 = load ptr, ptr %retval ret ptr %t690 } 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 @.str2297, 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 @.str2298, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2299) %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 @.str2300, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2301) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2302) %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 @.str2303) %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 @.str2304) %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 @.str2305) %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 @.str2306) %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 @.str2307) %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 @.str2308) %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 @.str2309) %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 @.str2310) %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 @.str2311) %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 @.str2312) %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 @.str2313) %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 @.str2314) %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 @.str2315) %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 @.str2316) %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 @.str2317) %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 @.str2318) %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 %t17 = alloca ptr %t26 = alloca ptr %t46 = alloca ptr %t63 = alloca ptr %t69 = alloca i32 %t88 = alloca ptr %t97 = alloca ptr %t110 = alloca ptr %t123 = alloca ptr %t130 = alloca ptr %t137 = alloca ptr %t144 = alloca ptr %t158 = alloca ptr %t169 = alloca ptr %t176 = alloca ptr %t197 = alloca ptr %t206 = alloca ptr %t234 = alloca ptr %t243 = alloca ptr %t252 = alloca ptr %t285 = alloca ptr %t304 = alloca ptr %t313 = alloca ptr %t318 = alloca ptr %t323 = alloca ptr %t328 = alloca ptr %t333 = alloca ptr %t340 = alloca ptr %t347 = alloca ptr %t363 = alloca ptr %t372 = alloca ptr %t377 = alloca ptr %t382 = alloca ptr %t387 = alloca ptr %t392 = alloca ptr %t399 = alloca ptr %t406 = alloca ptr %t422 = alloca ptr %t431 = alloca ptr %t436 = alloca ptr %t441 = alloca ptr %t450 = alloca ptr %t459 = alloca ptr %t475 = alloca ptr %t484 = alloca ptr %t489 = alloca ptr %t494 = alloca ptr %t499 = alloca ptr %t504 = alloca ptr %t511 = alloca ptr %t518 = alloca ptr %t537 = alloca ptr %t546 = alloca ptr %t557 = alloca ptr %t574 = alloca ptr %t583 = alloca ptr %t588 = alloca ptr %t593 = alloca ptr %t598 = alloca ptr %t603 = alloca ptr %t610 = alloca ptr %t617 = alloca ptr %t620 = alloca ptr %t623 = alloca ptr %t639 = alloca ptr %t644 = alloca ptr %t649 = alloca ptr %t654 = alloca ptr %t659 = 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 @.str2319) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2320, ptr @.str2321) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2322) %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 ptr, ptr %t13, 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 ptr, ptr %t22, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t17 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t26 %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str2323) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2324) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: %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 ptr, ptr %t42, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_emit_expr(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_vec_x(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str2325) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2326) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: %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 ptr, ptr %t59, i32 0 %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 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_vec_y(ptr %t66) %t68 = call ptr @fn_val(ptr %t67, ptr @.str2327) store ptr %t68, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str2328) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t69 br i1 %t72, label %scend13, label %sc12 sc12: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str2329) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t69 br label %scend13 scend13: %t78 = load i32, ptr %t69 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then14, label %ifend16 then14: %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 ptr, ptr %t84, i32 0 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 %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 ptr, ptr %t93, i32 1 %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_vec_x(ptr %t100) %t102 = call ptr @lp_str_concat(ptr @.str2330, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2331) %t104 = load ptr, ptr %t88 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_vec_x(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t103, ptr %t107) %t109 = call ptr @fn_emit_bind(ptr %t108) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t97 %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = call ptr @fn_vec_y(ptr %t113) %t115 = call ptr @lp_str_concat(ptr @.str2332, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str2333) %t117 = load ptr, ptr %t88 %t118 = getelementptr inbounds %Cmp_Val, ptr %t117, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = call ptr @fn_vec_y(ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t116, ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t110 %t125 = call ptr @lp_str_concat(ptr @.str2334, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2335) %t127 = load ptr, ptr %t110 %t128 = call ptr @lp_str_concat(ptr %t126, ptr %t127) %t129 = call ptr @fn_emit_bind(ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t123 %t132 = call ptr @lp_str_concat(ptr @.str2336, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2337) %t134 = load ptr, ptr %t123 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @fn_emit_bind(ptr %t135) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t130 %t139 = call ptr @lp_str_concat(ptr @.str2338, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str2339) %t141 = load ptr, ptr %t137 %t142 = call ptr @lp_str_concat(ptr %t140, ptr %t141) %t143 = call ptr @fn_emit_bind(ptr %t142) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str2340) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then17, label %ifend19 then17: %t148 = load ptr, ptr %t144 %t149 = call ptr @fn_val(ptr %t148, ptr @.str2341) store ptr %t149, ptr %retval br label %ret ifend19: %t150 = load ptr, ptr %t1 %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 ptr, ptr %t154, i32 2 %t156 = load ptr, ptr %t155 %t157 = call ptr @fn_emit_expr(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @lp_str_concat(ptr @.str2342, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str2343) %t164 = load ptr, ptr %t158 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = call ptr @lp_str_concat(ptr %t163, ptr %t166) %t168 = call ptr @fn_emit_bind(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t144 %t171 = call ptr @lp_str_concat(ptr @.str2344, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str2345) %t173 = load ptr, ptr %t169 %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 @.str2346, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str2347) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str2348) store ptr %t181, ptr %retval br label %ret ifend16: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str2349) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then20, label %ifend22 then20: %t185 = call ptr @fn_find_fn(ptr @.str2350) %t186 = icmp eq ptr %t185, null %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then23, label %ifend25 then23: call void @fn_perr(ptr @.str2351) br label %ifend25 ifend25: %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 ptr, ptr %t193, i32 0 %t195 = load ptr, ptr %t194 %t196 = call ptr @fn_emit_expr(ptr %t195) store ptr %t196, ptr %t197 %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 0 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds ptr, ptr %t202, i32 1 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_emit_expr(ptr %t204) store ptr %t205, ptr %t206 %t207 = load ptr, ptr %t197 %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = call ptr @lp_str_concat(ptr @.str2352, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2353) %t212 = load ptr, ptr %t206 %t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 0 %t214 = load ptr, ptr %t213 %t215 = call ptr @lp_str_concat(ptr %t211, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str2354) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str2355) store ptr %t218, ptr %retval br label %ret ifend22: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str2356) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then26, label %ifend28 then26: %t222 = call ptr @fn_find_fn(ptr @.str2357) %t223 = icmp eq ptr %t222, null %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then29, label %ifend31 then29: call void @fn_perr(ptr @.str2358) br label %ifend31 ifend31: %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 ptr, ptr %t230, 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 ptr, ptr %t239, 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 ptr, ptr %t248, i32 2 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_emit_expr(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 @lp_str_concat(ptr @.str2359, ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str2360) %t258 = load ptr, ptr %t243 %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = call ptr @lp_str_concat(ptr %t257, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str2361) %t263 = load ptr, ptr %t252 %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str2362) %t268 = call ptr @fn_emit_bind(ptr %t267) %t269 = call ptr @fn_val(ptr %t268, ptr @.str2363) store ptr %t269, ptr %retval br label %ret ifend28: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str2364) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then32, label %ifend34 then32: %t273 = call ptr @fn_find_fn(ptr @.str2365) %t274 = icmp eq ptr %t273, null %t275 = zext i1 %t274 to i32 %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then35, label %ifend37 then35: call void @fn_perr(ptr @.str2366) br label %ifend37 ifend37: %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 ptr, ptr %t281, i32 0 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_emit_expr(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t285 %t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0 %t288 = load ptr, ptr %t287 %t289 = call ptr @lp_str_concat(ptr @.str2367, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str2368) %t291 = call ptr @fn_emit_bind(ptr %t290) %t292 = call ptr @fn_val(ptr %t291, ptr @.str2369) store ptr %t292, ptr %retval br label %ret ifend34: %t293 = load ptr, ptr %t0 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str2370) %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then38, label %ifend40 then38: %t296 = load ptr, ptr %t1 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 %t300 = load ptr, ptr %t299 %t301 = getelementptr inbounds ptr, ptr %t300, i32 0 %t302 = load ptr, ptr %t301 %t303 = call ptr @fn_emit_expr(ptr %t302) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t1 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = getelementptr inbounds ptr, ptr %t309, i32 1 %t311 = load ptr, ptr %t310 %t312 = call ptr @fn_emit_expr(ptr %t311) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t304 %t315 = getelementptr inbounds %Cmp_Val, ptr %t314, i32 0, i32 0 %t316 = load ptr, ptr %t315 %t317 = call ptr @fn_vec_x(ptr %t316) store ptr %t317, ptr %t318 %t319 = load ptr, ptr %t304 %t320 = getelementptr inbounds %Cmp_Val, ptr %t319, i32 0, i32 0 %t321 = load ptr, ptr %t320 %t322 = call ptr @fn_vec_y(ptr %t321) store ptr %t322, ptr %t323 %t324 = load ptr, ptr %t313 %t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_vec_x(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t313 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @fn_vec_y(ptr %t331) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t318 %t335 = call ptr @lp_str_concat(ptr @.str2371, ptr %t334) %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str2372) %t337 = load ptr, ptr %t328 %t338 = call ptr @lp_str_concat(ptr %t336, ptr %t337) %t339 = call ptr @fn_emit_bind(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t323 %t342 = call ptr @lp_str_concat(ptr @.str2373, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str2374) %t344 = load ptr, ptr %t333 %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 %t340 %t349 = load ptr, ptr %t347 %t350 = call ptr @fn_vec_pack(ptr %t348, ptr %t349) %t351 = call ptr @fn_val(ptr %t350, ptr @.str2375) store ptr %t351, ptr %retval br label %ret ifend40: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str2376) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then41, label %ifend43 then41: %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 ptr, ptr %t359, 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 ptr, ptr %t368, i32 1 %t370 = load ptr, ptr %t369 %t371 = call ptr @fn_emit_expr(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t363 %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 %t375 = load ptr, ptr %t374 %t376 = call ptr @fn_vec_x(ptr %t375) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t363 %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 %t380 = load ptr, ptr %t379 %t381 = call ptr @fn_vec_y(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t372 %t384 = getelementptr inbounds %Cmp_Val, ptr %t383, i32 0, i32 0 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_vec_x(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t372 %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 %t390 = load ptr, ptr %t389 %t391 = call ptr @fn_vec_y(ptr %t390) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t377 %t394 = call ptr @lp_str_concat(ptr @.str2377, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str2378) %t396 = load ptr, ptr %t387 %t397 = call ptr @lp_str_concat(ptr %t395, ptr %t396) %t398 = call ptr @fn_emit_bind(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t382 %t401 = call ptr @lp_str_concat(ptr @.str2379, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str2380) %t403 = load ptr, ptr %t392 %t404 = call ptr @lp_str_concat(ptr %t402, ptr %t403) %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t399 %t408 = load ptr, ptr %t406 %t409 = call ptr @fn_vec_pack(ptr %t407, ptr %t408) %t410 = call ptr @fn_val(ptr %t409, ptr @.str2381) store ptr %t410, ptr %retval br label %ret ifend43: %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str2382) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then44, label %ifend46 then44: %t414 = load ptr, ptr %t1 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 %t420 = load ptr, ptr %t419 %t421 = call ptr @fn_emit_expr(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t1 %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 %t425 = load ptr, ptr %t424 %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 %t427 = load ptr, ptr %t426 %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 %t429 = load ptr, ptr %t428 %t430 = call ptr @fn_emit_expr(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t422 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_vec_x(ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t422 %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @fn_vec_y(ptr %t439) store ptr %t440, ptr %t441 %t442 = load ptr, ptr %t436 %t443 = call ptr @lp_str_concat(ptr @.str2383, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str2384) %t445 = load ptr, ptr %t431 %t446 = getelementptr inbounds %Cmp_Val, ptr %t445, i32 0, i32 0 %t447 = load ptr, ptr %t446 %t448 = call ptr @lp_str_concat(ptr %t444, ptr %t447) %t449 = call ptr @fn_emit_bind(ptr %t448) store ptr %t449, ptr %t450 %t451 = load ptr, ptr %t441 %t452 = call ptr @lp_str_concat(ptr @.str2385, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str2386) %t454 = load ptr, ptr %t431 %t455 = getelementptr inbounds %Cmp_Val, ptr %t454, i32 0, i32 0 %t456 = load ptr, ptr %t455 %t457 = call ptr @lp_str_concat(ptr %t453, ptr %t456) %t458 = call ptr @fn_emit_bind(ptr %t457) store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t450 %t461 = load ptr, ptr %t459 %t462 = call ptr @fn_vec_pack(ptr %t460, ptr %t461) %t463 = call ptr @fn_val(ptr %t462, ptr @.str2387) store ptr %t463, ptr %retval br label %ret ifend46: %t464 = load ptr, ptr %t0 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str2388) %t466 = icmp ne i32 %t465, 0 br i1 %t466, label %then47, label %ifend49 then47: %t467 = load ptr, ptr %t1 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 7 %t469 = load ptr, ptr %t468 %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 %t471 = load ptr, ptr %t470 %t472 = getelementptr inbounds ptr, ptr %t471, i32 0 %t473 = load ptr, ptr %t472 %t474 = call ptr @fn_emit_expr(ptr %t473) store ptr %t474, ptr %t475 %t476 = load ptr, ptr %t1 %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 7 %t478 = load ptr, ptr %t477 %t479 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 0 %t480 = load ptr, ptr %t479 %t481 = getelementptr inbounds ptr, ptr %t480, i32 1 %t482 = load ptr, ptr %t481 %t483 = call ptr @fn_emit_expr(ptr %t482) store ptr %t483, ptr %t484 %t485 = load ptr, ptr %t475 %t486 = getelementptr inbounds %Cmp_Val, ptr %t485, i32 0, i32 0 %t487 = load ptr, ptr %t486 %t488 = call ptr @fn_vec_x(ptr %t487) store ptr %t488, ptr %t489 %t490 = load ptr, ptr %t475 %t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0 %t492 = load ptr, ptr %t491 %t493 = call ptr @fn_vec_y(ptr %t492) store ptr %t493, ptr %t494 %t495 = load ptr, ptr %t484 %t496 = getelementptr inbounds %Cmp_Val, ptr %t495, i32 0, i32 0 %t497 = load ptr, ptr %t496 %t498 = call ptr @fn_vec_x(ptr %t497) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t484 %t501 = getelementptr inbounds %Cmp_Val, ptr %t500, i32 0, i32 0 %t502 = load ptr, ptr %t501 %t503 = call ptr @fn_vec_y(ptr %t502) store ptr %t503, ptr %t504 %t505 = load ptr, ptr %t489 %t506 = call ptr @lp_str_concat(ptr @.str2389, ptr %t505) %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str2390) %t508 = load ptr, ptr %t499 %t509 = call ptr @lp_str_concat(ptr %t507, ptr %t508) %t510 = call ptr @fn_emit_bind(ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t494 %t513 = call ptr @lp_str_concat(ptr @.str2391, ptr %t512) %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str2392) %t515 = load ptr, ptr %t504 %t516 = call ptr @lp_str_concat(ptr %t514, ptr %t515) %t517 = call ptr @fn_emit_bind(ptr %t516) store ptr %t517, ptr %t518 %t519 = load ptr, ptr %t511 %t520 = call ptr @lp_str_concat(ptr @.str2393, ptr %t519) %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str2394) %t522 = load ptr, ptr %t518 %t523 = call ptr @lp_str_concat(ptr %t521, ptr %t522) %t524 = call ptr @fn_emit_bind(ptr %t523) %t525 = call ptr @fn_val(ptr %t524, ptr @.str2395) store ptr %t525, ptr %retval br label %ret ifend49: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str2396) %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then50, label %ifend52 then50: %t529 = load ptr, ptr %t1 %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 %t531 = load ptr, ptr %t530 %t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 %t534 = getelementptr inbounds ptr, ptr %t533, i32 0 %t535 = load ptr, ptr %t534 %t536 = call ptr @fn_emit_expr(ptr %t535) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t1 %t539 = getelementptr inbounds %Cmp_Node, ptr %t538, i32 0, i32 7 %t540 = load ptr, ptr %t539 %t541 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 %t542 = load ptr, ptr %t541 %t543 = getelementptr inbounds ptr, ptr %t542, i32 1 %t544 = load ptr, ptr %t543 %t545 = call ptr @fn_emit_expr(ptr %t544) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t537 %t548 = getelementptr inbounds %Cmp_Val, ptr %t547, i32 0, i32 0 %t549 = load ptr, ptr %t548 %t550 = call ptr @lp_str_concat(ptr @.str2397, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2398) %t552 = load ptr, ptr %t546 %t553 = getelementptr inbounds %Cmp_Val, ptr %t552, i32 0, i32 0 %t554 = load ptr, ptr %t553 %t555 = call ptr @lp_str_concat(ptr %t551, ptr %t554) %t556 = call ptr @fn_emit_bind(ptr %t555) store ptr %t556, ptr %t557 %t558 = load ptr, ptr %t557 %t559 = call ptr @lp_str_concat(ptr @.str2399, ptr %t558) %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str2400) %t561 = call ptr @fn_emit_bind(ptr %t560) %t562 = call ptr @fn_val(ptr %t561, ptr @.str2401) store ptr %t562, ptr %retval br label %ret ifend52: %t563 = load ptr, ptr %t0 %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str2402) %t565 = icmp ne i32 %t564, 0 br i1 %t565, label %then53, label %ifend55 then53: %t566 = load ptr, ptr %t1 %t567 = getelementptr inbounds %Cmp_Node, ptr %t566, i32 0, i32 7 %t568 = load ptr, ptr %t567 %t569 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 0 %t570 = load ptr, ptr %t569 %t571 = getelementptr inbounds ptr, ptr %t570, i32 0 %t572 = load ptr, ptr %t571 %t573 = call ptr @fn_emit_expr(ptr %t572) store ptr %t573, ptr %t574 %t575 = load ptr, ptr %t1 %t576 = getelementptr inbounds %Cmp_Node, ptr %t575, i32 0, i32 7 %t577 = load ptr, ptr %t576 %t578 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 0 %t579 = load ptr, ptr %t578 %t580 = getelementptr inbounds ptr, ptr %t579, i32 1 %t581 = load ptr, ptr %t580 %t582 = call ptr @fn_emit_expr(ptr %t581) store ptr %t582, ptr %t583 %t584 = load ptr, ptr %t574 %t585 = getelementptr inbounds %Cmp_Val, ptr %t584, i32 0, i32 0 %t586 = load ptr, ptr %t585 %t587 = call ptr @fn_vec_x(ptr %t586) store ptr %t587, ptr %t588 %t589 = load ptr, ptr %t574 %t590 = getelementptr inbounds %Cmp_Val, ptr %t589, i32 0, i32 0 %t591 = load ptr, ptr %t590 %t592 = call ptr @fn_vec_y(ptr %t591) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t583 %t595 = getelementptr inbounds %Cmp_Val, ptr %t594, i32 0, i32 0 %t596 = load ptr, ptr %t595 %t597 = call ptr @fn_vec_x(ptr %t596) store ptr %t597, ptr %t598 %t599 = load ptr, ptr %t583 %t600 = getelementptr inbounds %Cmp_Val, ptr %t599, i32 0, i32 0 %t601 = load ptr, ptr %t600 %t602 = call ptr @fn_vec_y(ptr %t601) store ptr %t602, ptr %t603 %t604 = load ptr, ptr %t588 %t605 = call ptr @lp_str_concat(ptr @.str2403, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2404) %t607 = load ptr, ptr %t598 %t608 = call ptr @lp_str_concat(ptr %t606, ptr %t607) %t609 = call ptr @fn_emit_bind(ptr %t608) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t593 %t612 = call ptr @lp_str_concat(ptr @.str2405, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2406) %t614 = load ptr, ptr %t603 %t615 = call ptr @lp_str_concat(ptr %t613, ptr %t614) %t616 = call ptr @fn_emit_bind(ptr %t615) store ptr %t616, ptr %t617 %t618 = load ptr, ptr %t610 %t619 = call ptr @fn_ivec_abs(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t617 %t622 = call ptr @fn_ivec_abs(ptr %t621) store ptr %t622, ptr %t623 %t624 = load ptr, ptr %t620 %t625 = call ptr @lp_str_concat(ptr @.str2407, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str2408) %t627 = load ptr, ptr %t623 %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) %t629 = call ptr @fn_emit_bind(ptr %t628) %t630 = call ptr @fn_val(ptr %t629, ptr @.str2409) store ptr %t630, ptr %retval br label %ret ifend55: %t631 = load ptr, ptr %t1 %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 7 %t633 = load ptr, ptr %t632 %t634 = getelementptr inbounds %LSlice, ptr %t633, i32 0, i32 0 %t635 = load ptr, ptr %t634 %t636 = getelementptr inbounds ptr, ptr %t635, i32 0 %t637 = load ptr, ptr %t636 %t638 = call ptr @fn_emit_expr(ptr %t637) store ptr %t638, ptr %t639 %t640 = load ptr, ptr %t639 %t641 = getelementptr inbounds %Cmp_Val, ptr %t640, i32 0, i32 0 %t642 = load ptr, ptr %t641 %t643 = call ptr @fn_vec_x(ptr %t642) store ptr %t643, ptr %t644 %t645 = load ptr, ptr %t639 %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 %t648 = call ptr @fn_vec_y(ptr %t647) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t644 %t651 = call ptr @lp_str_concat(ptr @.str2410, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str2411) %t653 = call ptr @fn_emit_bind(ptr %t652) store ptr %t653, ptr %t654 %t655 = load ptr, ptr %t649 %t656 = call ptr @lp_str_concat(ptr @.str2412, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str2413) %t658 = call ptr @fn_emit_bind(ptr %t657) store ptr %t658, ptr %t659 %t660 = load ptr, ptr %t654 %t661 = load ptr, ptr %t659 %t662 = call ptr @fn_vec_pack(ptr %t660, ptr %t661) %t663 = call ptr @fn_val(ptr %t662, ptr @.str2414) store ptr %t663, ptr %retval br label %ret ret: %t664 = load ptr, ptr %retval ret ptr %t664 } 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 @.str2415, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2416) %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 @.str2417, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str2418) %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 @.str2419, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2420) %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 @.str2421, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2422) %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 @.str2423, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2424) %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 @.str2425, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str2426) %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 @.str2427, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2428) %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 @.str2429, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2430) %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 @.str2431, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2432) %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 @.str2433, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2434) %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 @.str2435, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2436) %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 @.str2437, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2438) %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 @.str2439, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2440) %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 @.str2441, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2442) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2443) %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 @.str2444, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2445) %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 @.str2446) %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 @.str2447) %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 @.str2448) %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 @.str2449) %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 @.str2450) %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 @.str2451) %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 @.str2452) %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 @.str2453) %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 @.str2454) %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 @.str2455) %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 %t13 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t40 = alloca ptr %t66 = alloca ptr %t83 = alloca ptr %t100 = alloca ptr %t117 = alloca ptr %t134 = alloca ptr %t139 = alloca ptr %t144 = alloca ptr %t163 = alloca ptr %t168 = alloca ptr %t173 = alloca ptr %t192 = alloca ptr %t197 = alloca ptr %t202 = alloca ptr %t207 = alloca ptr %t212 = alloca ptr %t217 = alloca ptr %t222 = alloca ptr %t229 = alloca ptr %t236 = alloca ptr %t252 = alloca ptr %t261 = alloca ptr %t270 = alloca ptr %t275 = alloca ptr %t280 = alloca ptr %t285 = alloca ptr %t290 = alloca ptr %t297 = alloca ptr %t304 = alloca ptr %t310 = alloca ptr %t316 = alloca ptr %t322 = alloca ptr %t328 = alloca ptr %t335 = alloca ptr %t342 = alloca ptr %t358 = alloca ptr %t367 = alloca ptr %t372 = alloca ptr %t377 = alloca ptr %t382 = alloca ptr %t387 = alloca ptr %t392 = alloca ptr %t397 = alloca ptr %t402 = alloca ptr %t407 = alloca ptr %t414 = alloca ptr %t421 = alloca ptr %t428 = alloca ptr %t435 = alloca ptr %t439 = alloca ptr %t443 = alloca ptr %t447 = alloca ptr %t451 = alloca ptr %t458 = 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 @.str2456) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t27, i32 2 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %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 ptr, ptr %t36, i32 3 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t13 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t22 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t31 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t40 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_rect_pack(ptr %t43, ptr %t46, ptr %t49, ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str2457) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str2458) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then3, label %ifend5 then3: %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 ptr, ptr %t62, i32 0 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_emit_expr(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_rect_field(ptr %t69, i32 96) %t71 = call ptr @fn_val(ptr %t70, ptr @.str2459) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2460) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then6, label %ifend8 then6: %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 ptr, ptr %t79, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_emit_expr(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_rect_field(ptr %t86, i32 64) %t88 = call ptr @fn_val(ptr %t87, ptr @.str2461) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str2462) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then9, label %ifend11 then9: %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 ptr, ptr %t96, i32 0 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_rect_field(ptr %t103, i32 32) %t105 = call ptr @fn_val(ptr %t104, ptr @.str2463) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str2464) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then12, label %ifend14 then12: %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 ptr, ptr %t113, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_emit_expr(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_rect_field(ptr %t120, i32 0) %t122 = call ptr @fn_val(ptr %t121, ptr @.str2465) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str2466) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then15, label %ifend17 then15: %t126 = load ptr, ptr %t1 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds ptr, ptr %t130, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @fn_emit_expr(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_rect_field(ptr %t137, i32 96) store ptr %t138, ptr %t139 %t140 = load ptr, ptr %t134 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = call ptr @fn_rect_field(ptr %t142, i32 32) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr @.str2467, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str2468) %t148 = load ptr, ptr %t144 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) %t151 = call ptr @fn_val(ptr %t150, ptr @.str2469) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str2470) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then18, label %ifend20 then18: %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 ptr, ptr %t159, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_emit_expr(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = call ptr @fn_rect_field(ptr %t166, i32 64) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t163 %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = call ptr @fn_rect_field(ptr %t171, i32 0) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t168 %t175 = call ptr @lp_str_concat(ptr @.str2471, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str2472) %t177 = load ptr, ptr %t173 %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) %t180 = call ptr @fn_val(ptr %t179, ptr @.str2473) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str2474) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then21, label %ifend23 then21: %t184 = load ptr, ptr %t1 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = getelementptr inbounds ptr, ptr %t188, i32 0 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_emit_expr(ptr %t190) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = call ptr @fn_rect_field(ptr %t195, i32 96) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t192 %t199 = getelementptr inbounds %Cmp_Val, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = call ptr @fn_rect_field(ptr %t200, i32 64) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t192 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = call ptr @fn_rect_field(ptr %t205, i32 32) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t192 %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_rect_field(ptr %t210, i32 0) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t207 %t214 = call ptr @lp_str_concat(ptr @.str2475, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str2476) %t216 = call ptr @fn_emit_bind(ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t212 %t219 = call ptr @lp_str_concat(ptr @.str2477, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str2478) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t197 %t224 = call ptr @lp_str_concat(ptr @.str2479, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str2480) %t226 = load ptr, ptr %t217 %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226) %t228 = call ptr @fn_emit_bind(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t202 %t231 = call ptr @lp_str_concat(ptr @.str2481, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str2482) %t233 = load ptr, ptr %t222 %t234 = call ptr @lp_str_concat(ptr %t232, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = load ptr, ptr %t229 %t238 = load ptr, ptr %t236 %t239 = call ptr @fn_vec_pack(ptr %t237, ptr %t238) %t240 = call ptr @fn_val(ptr %t239, ptr @.str2483) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str2484) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then24, label %ifend26 then24: %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 ptr, ptr %t248, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_emit_expr(ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t1 %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 ptr, ptr %t257, i32 1 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %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 ptr, ptr %t266, i32 2 %t268 = load ptr, ptr %t267 %t269 = call ptr @fn_emit_expr(ptr %t268) store ptr %t269, ptr %t270 %t271 = load ptr, ptr %t252 %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = call ptr @fn_rect_field(ptr %t273, i32 96) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t252 %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = call ptr @fn_rect_field(ptr %t278, i32 64) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t252 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_rect_field(ptr %t283, i32 32) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t252 %t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0 %t288 = load ptr, ptr %t287 %t289 = call ptr @fn_rect_field(ptr %t288, i32 0) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t275 %t292 = call ptr @lp_str_concat(ptr @.str2485, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str2486) %t294 = load ptr, ptr %t285 %t295 = call ptr @lp_str_concat(ptr %t293, ptr %t294) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t280 %t299 = call ptr @lp_str_concat(ptr @.str2487, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str2488) %t301 = load ptr, ptr %t290 %t302 = call ptr @lp_str_concat(ptr %t300, ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t261 %t306 = getelementptr inbounds %Cmp_Val, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 %t308 = load ptr, ptr %t275 %t309 = call ptr @fn_rect_cmp(ptr @.str2489, ptr %t307, ptr %t308) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t261 %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = load ptr, ptr %t297 %t315 = call ptr @fn_rect_cmp(ptr @.str2490, ptr %t313, ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t270 %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 %t319 = load ptr, ptr %t318 %t320 = load ptr, ptr %t280 %t321 = call ptr @fn_rect_cmp(ptr @.str2491, ptr %t319, ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t270 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = load ptr, ptr %t304 %t327 = call ptr @fn_rect_cmp(ptr @.str2492, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 %t330 = call ptr @lp_str_concat(ptr @.str2493, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2494) %t332 = load ptr, ptr %t316 %t333 = call ptr @lp_str_concat(ptr %t331, ptr %t332) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t322 %t337 = call ptr @lp_str_concat(ptr @.str2495, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2496) %t339 = load ptr, ptr %t328 %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 %t335 %t344 = call ptr @lp_str_concat(ptr @.str2497, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str2498) %t346 = load ptr, ptr %t342 %t347 = call ptr @lp_str_concat(ptr %t345, ptr %t346) %t348 = call ptr @fn_emit_bind(ptr %t347) %t349 = call ptr @fn_val(ptr %t348, ptr @.str2499) store ptr %t349, ptr %retval br label %ret ifend26: %t350 = load ptr, ptr %t1 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 7 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0 %t354 = load ptr, ptr %t353 %t355 = getelementptr inbounds ptr, ptr %t354, i32 0 %t356 = load ptr, ptr %t355 %t357 = call ptr @fn_emit_expr(ptr %t356) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t1 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 7 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = getelementptr inbounds ptr, ptr %t363, i32 1 %t365 = load ptr, ptr %t364 %t366 = call ptr @fn_emit_expr(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t358 %t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0 %t370 = load ptr, ptr %t369 %t371 = call ptr @fn_rect_field(ptr %t370, i32 96) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t358 %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 %t375 = load ptr, ptr %t374 %t376 = call ptr @fn_rect_field(ptr %t375, i32 64) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t358 %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 %t380 = load ptr, ptr %t379 %t381 = call ptr @fn_rect_field(ptr %t380, i32 32) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t358 %t384 = getelementptr inbounds %Cmp_Val, ptr %t383, i32 0, i32 0 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_rect_field(ptr %t385, i32 0) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t367 %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 %t390 = load ptr, ptr %t389 %t391 = call ptr @fn_rect_field(ptr %t390, i32 96) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t367 %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_rect_field(ptr %t395, i32 64) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t367 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @fn_rect_field(ptr %t400, i32 32) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t367 %t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0 %t405 = load ptr, ptr %t404 %t406 = call ptr @fn_rect_field(ptr %t405, i32 0) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t372 %t409 = call ptr @lp_str_concat(ptr @.str2500, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2501) %t411 = load ptr, ptr %t382 %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) %t413 = call ptr @fn_emit_bind(ptr %t412) store ptr %t413, ptr %t414 %t415 = load ptr, ptr %t377 %t416 = call ptr @lp_str_concat(ptr @.str2502, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2503) %t418 = load ptr, ptr %t387 %t419 = call ptr @lp_str_concat(ptr %t417, ptr %t418) %t420 = call ptr @fn_emit_bind(ptr %t419) store ptr %t420, ptr %t421 %t422 = load ptr, ptr %t392 %t423 = call ptr @lp_str_concat(ptr @.str2504, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2505) %t425 = load ptr, ptr %t402 %t426 = call ptr @lp_str_concat(ptr %t424, ptr %t425) %t427 = call ptr @fn_emit_bind(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t397 %t430 = call ptr @lp_str_concat(ptr @.str2506, ptr %t429) %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2507) %t432 = load ptr, ptr %t407 %t433 = call ptr @lp_str_concat(ptr %t431, ptr %t432) %t434 = call ptr @fn_emit_bind(ptr %t433) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t372 %t437 = load ptr, ptr %t428 %t438 = call ptr @fn_rect_cmp(ptr @.str2508, ptr %t436, ptr %t437) store ptr %t438, ptr %t439 %t440 = load ptr, ptr %t392 %t441 = load ptr, ptr %t414 %t442 = call ptr @fn_rect_cmp(ptr @.str2509, ptr %t440, ptr %t441) store ptr %t442, ptr %t443 %t444 = load ptr, ptr %t377 %t445 = load ptr, ptr %t435 %t446 = call ptr @fn_rect_cmp(ptr @.str2510, ptr %t444, ptr %t445) store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t397 %t449 = load ptr, ptr %t421 %t450 = call ptr @fn_rect_cmp(ptr @.str2511, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 %t453 = call ptr @lp_str_concat(ptr @.str2512, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2513) %t455 = load ptr, ptr %t443 %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 %t447 %t460 = call ptr @lp_str_concat(ptr @.str2514, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2515) %t462 = load ptr, ptr %t451 %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 %t458 %t467 = call ptr @lp_str_concat(ptr @.str2516, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2517) %t469 = load ptr, ptr %t465 %t470 = call ptr @lp_str_concat(ptr %t468, ptr %t469) %t471 = call ptr @fn_emit_bind(ptr %t470) %t472 = call ptr @fn_val(ptr %t471, ptr @.str2518) store ptr %t472, ptr %retval br label %ret ret: %t473 = load ptr, ptr %retval ret ptr %t473 } 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 %t47 = alloca i32 %t58 = alloca i32 %t69 = alloca i32 %t70 = alloca i32 %t71 = alloca i32 %t96 = alloca i32 %t107 = alloca i32 %t108 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2519) %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 @.str2520) %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 @.str2521) %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 @.str2522) %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 @.str2523) %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 @.str2524) %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 @.str2525) %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: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str2526) %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 @.str2527) %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: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str2528) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t58 br i1 %t61, label %scend22, label %sc21 sc21: %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str2529) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br label %scend22 scend22: %t67 = load i32, ptr %t58 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then23, label %ifend25 then23: store i32 1, ptr %retval br label %ret ifend25: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2530) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t71 br i1 %t74, label %scend27, label %sc26 sc26: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str2531) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t71 br label %scend27 scend27: %t80 = load i32, ptr %t71 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t70 br i1 %t81, label %scend29, label %sc28 sc28: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str2532) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t70 br label %scend29 scend29: %t87 = load i32, ptr %t70 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t69 br i1 %t88, label %scend31, label %sc30 sc30: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str2533) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t69 br label %scend31 scend31: %t94 = load i32, ptr %t69 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then32, label %ifend34 then32: store i32 1, ptr %retval br label %ret ifend34: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str2534) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t96 br i1 %t99, label %scend36, label %sc35 sc35: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2535) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t96 br label %scend36 scend36: %t105 = load i32, ptr %t96 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then37, label %ifend39 then37: store i32 1, ptr %retval br label %ret ifend39: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str2536) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t108 br i1 %t111, label %scend41, label %sc40 sc40: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str2537) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t108 br label %scend41 scend41: %t117 = load i32, ptr %t108 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t107 br i1 %t118, label %scend43, label %sc42 sc42: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str2538) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t107 br label %scend43 scend43: %t124 = load i32, ptr %t107 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then44, label %ifend46 then44: store i32 1, ptr %retval br label %ret ifend46: store i32 0, ptr %retval br label %ret ret: %t126 = load i32, ptr %retval ret i32 %t126 } define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t13 = alloca ptr %t32 = alloca ptr %t41 = alloca ptr %t50 = alloca ptr %t79 = alloca ptr %t88 = alloca ptr %t112 = alloca ptr %t121 = alloca ptr %t142 = alloca ptr %t152 = alloca ptr %t169 = alloca ptr %t180 = alloca ptr %t184 = alloca ptr %t241 = alloca ptr %t265 = alloca ptr %t289 = alloca ptr %t313 = alloca ptr %t322 = alloca ptr %t351 = alloca ptr %t375 = alloca ptr %t388 = alloca i32 %t407 = alloca ptr %t419 = alloca ptr %t427 = alloca ptr %t437 = alloca ptr %t442 = alloca ptr %t449 = alloca ptr %t456 = alloca ptr %t461 = alloca ptr %t477 = alloca ptr %t484 = alloca ptr %t502 = alloca ptr %t507 = alloca ptr %t519 = alloca ptr %t526 = alloca ptr %t528 = alloca ptr %t534 = alloca ptr %t536 = alloca ptr %t538 = alloca ptr %t551 = alloca ptr %t564 = alloca ptr %t569 = alloca ptr %t574 = 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 @.str2539) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 store i32 1, ptr @g_g_uses_intstr %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 @.str2540, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2541) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2542) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2543) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %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 ptr, ptr %t28, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 %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 ptr, ptr %t37, i32 1 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_emit_expr(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t1 %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 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds ptr, ptr %t46, i32 2 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_emit_expr(ptr %t48) store ptr %t49, ptr %t50 store i32 1, ptr @g_g_uses_strslice %t51 = load ptr, ptr %t32 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str2544, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2545) %t56 = load ptr, ptr %t41 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = call ptr @lp_str_concat(ptr %t55, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str2546) %t61 = load ptr, ptr %t50 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2547) %t66 = call ptr @fn_emit_bind(ptr %t65) %t67 = call ptr @fn_val(ptr %t66, ptr @.str2548) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2549) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then6, label %ifend8 then6: %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 ptr, ptr %t75, 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 ptr, ptr %t84, i32 1 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 store i32 1, ptr @g_g_uses_str %t89 = load ptr, ptr %t79 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = call ptr @lp_str_concat(ptr @.str2550, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2551) %t94 = load ptr, ptr %t88 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2552) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str2553) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2554) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then9, label %ifend11 then9: %t104 = load ptr, ptr %t1 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds ptr, ptr %t108, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_emit_expr(ptr %t110) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t1 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds ptr, ptr %t117, i32 1 %t119 = load ptr, ptr %t118 %t120 = call ptr @fn_emit_expr(ptr %t119) store ptr %t120, ptr %t121 store i32 1, ptr @g_g_uses_str %t122 = load ptr, ptr %t112 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @lp_str_concat(ptr @.str2555, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2556) %t127 = load ptr, ptr %t121 %t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = call ptr @lp_str_concat(ptr %t126, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str2557) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2558) store ptr %t133, ptr %retval br label %ret ifend11: %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 ptr, ptr %t138, i32 0 %t140 = load ptr, ptr %t139 %t141 = call ptr @fn_emit_expr(ptr %t140) store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2559) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then12, label %ifend14 then12: %t146 = load ptr, ptr %t142 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = call ptr @lp_str_concat(ptr @.str2560, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2561) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = call ptr @lp_str_concat(ptr @.str2562, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2563) %t156 = call ptr @fn_emit_bind(ptr %t155) %t157 = call ptr @fn_val(ptr %t156, ptr @.str2564) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2565) %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then15, label %ifend17 then15: %t161 = load ptr, ptr %t1 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds ptr, ptr %t165, i32 1 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_emit_expr(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t142 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = call ptr @lp_str_concat(ptr @.str2566, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2567) %t175 = load ptr, ptr %t169 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = call ptr @lp_str_concat(ptr %t174, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 %t182 = call ptr @lp_str_concat(ptr @.str2568, ptr %t181) %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 @.str2569, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2570) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str2571) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2572) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then18, label %ifend20 then18: %t193 = load ptr, ptr %t142 %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = call ptr @lp_str_concat(ptr @.str2573, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2574) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str2575) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2576) %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then21, label %ifend23 then21: store i32 1, ptr @g_g_uses_textrt %t203 = load ptr, ptr %t142 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = call ptr @lp_str_concat(ptr @.str2577, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2578) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2579) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2580) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then24, label %ifend26 then24: store i32 1, ptr @g_g_uses_textrt %t213 = load ptr, ptr %t142 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = call ptr @lp_str_concat(ptr @.str2581, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2582) %t218 = call ptr @fn_emit_bind(ptr %t217) %t219 = call ptr @fn_val(ptr %t218, ptr @.str2583) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2584) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then27, label %ifend29 then27: store i32 1, ptr @g_g_uses_textrt %t223 = load ptr, ptr %t142 %t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 %t226 = call ptr @lp_str_concat(ptr @.str2585, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2586) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2587) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2588) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then30, label %ifend32 then30: store i32 1, ptr @g_g_uses_textrt %t233 = load ptr, ptr %t1 %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 0 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds ptr, ptr %t237, i32 1 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_emit_expr(ptr %t239) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t142 %t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = call ptr @lp_str_concat(ptr @.str2589, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2590) %t247 = load ptr, ptr %t241 %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @lp_str_concat(ptr %t246, ptr %t249) %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str2591) %t252 = call ptr @fn_emit_bind(ptr %t251) %t253 = call ptr @fn_val(ptr %t252, ptr @.str2592) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2593) %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then33, label %ifend35 then33: store i32 1, ptr @g_g_uses_textrt %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 ptr, ptr %t261, i32 1 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_emit_expr(ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t142 %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = call ptr @lp_str_concat(ptr @.str2594, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2595) %t271 = load ptr, ptr %t265 %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = call ptr @lp_str_concat(ptr %t270, ptr %t273) %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str2596) %t276 = call ptr @fn_emit_bind(ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str2597) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2598) %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then36, label %ifend38 then36: store i32 1, ptr @g_g_uses_textrt %t281 = load ptr, ptr %t1 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 7 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds ptr, ptr %t285, i32 1 %t287 = load ptr, ptr %t286 %t288 = call ptr @fn_emit_expr(ptr %t287) store ptr %t288, ptr %t289 %t290 = load ptr, ptr %t142 %t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = call ptr @lp_str_concat(ptr @.str2599, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2600) %t295 = load ptr, ptr %t289 %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297) %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str2601) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str2602) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2603) %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then39, label %ifend41 then39: store i32 1, ptr @g_g_uses_textrt2 %t305 = load ptr, ptr %t1 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = getelementptr inbounds ptr, ptr %t309, 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 ptr, ptr %t318, i32 2 %t320 = load ptr, ptr %t319 %t321 = call ptr @fn_emit_expr(ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t142 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = call ptr @lp_str_concat(ptr @.str2604, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2605) %t328 = load ptr, ptr %t313 %t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = call ptr @lp_str_concat(ptr %t327, ptr %t330) %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str2606) %t333 = load ptr, ptr %t322 %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 %t336 = call ptr @lp_str_concat(ptr %t332, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str2607) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str2608) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2609) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then42, label %ifend44 then42: store i32 1, ptr @g_g_uses_textrt2 %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 ptr, ptr %t347, i32 1 %t349 = load ptr, ptr %t348 %t350 = call ptr @fn_emit_expr(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t142 %t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0 %t354 = load ptr, ptr %t353 %t355 = call ptr @lp_str_concat(ptr @.str2610, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2611) %t357 = load ptr, ptr %t351 %t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0 %t359 = load ptr, ptr %t358 %t360 = call ptr @lp_str_concat(ptr %t356, ptr %t359) %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str2612) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str2613) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2614) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then45, label %ifend47 then45: store i32 1, ptr @g_g_uses_textrt2 %t367 = load ptr, ptr %t1 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7 %t369 = load ptr, ptr %t368 %t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds ptr, ptr %t371, i32 1 %t373 = load ptr, ptr %t372 %t374 = call ptr @fn_emit_expr(ptr %t373) store ptr %t374, ptr %t375 %t376 = load ptr, ptr %t142 %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 %t378 = load ptr, ptr %t377 %t379 = call ptr @lp_str_concat(ptr @.str2615, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2616) %t381 = load ptr, ptr %t375 %t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0 %t383 = load ptr, ptr %t382 %t384 = call ptr @lp_str_concat(ptr %t380, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str2617) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str2618) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2619) %t391 = icmp ne i32 %t390, 0 %t392 = zext i1 %t391 to i32 store i32 %t392, ptr %t388 br i1 %t391, label %scend49, label %sc48 sc48: %t393 = load ptr, ptr %t0 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str2620) %t395 = icmp ne i32 %t394, 0 %t396 = zext i1 %t395 to i32 store i32 %t396, ptr %t388 br label %scend49 scend49: %t397 = load i32, ptr %t388 %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then50, label %ifend52 then50: %t399 = load ptr, ptr %t1 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7 %t401 = load ptr, ptr %t400 %t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = getelementptr inbounds ptr, ptr %t403, i32 1 %t405 = load ptr, ptr %t404 %t406 = call ptr @fn_emit_expr(ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t142 %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = call ptr @lp_str_concat(ptr @.str2621, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2622) %t413 = load ptr, ptr %t407 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 %t416 = call ptr @lp_str_concat(ptr %t412, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2623) %t418 = call ptr @fn_emit_bind(ptr %t417) store ptr %t418, ptr %t419 %t420 = load ptr, ptr %t0 %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str2624) %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then53, label %ifend55 then53: %t423 = load ptr, ptr %t419 %t424 = call ptr @lp_str_concat(ptr @.str2625, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2626) %t426 = call ptr @fn_emit_bind(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t427 %t429 = call ptr @lp_str_concat(ptr @.str2627, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2628) %t431 = call ptr @fn_emit_bind(ptr %t430) %t432 = call ptr @fn_val(ptr %t431, ptr @.str2629) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 %t434 = call ptr @lp_str_concat(ptr @.str2630, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2631) %t436 = call ptr @fn_emit_bind(ptr %t435) store ptr %t436, ptr %t437 %t438 = load ptr, ptr %t419 %t439 = call ptr @lp_str_concat(ptr @.str2632, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2633) %t441 = call ptr @fn_emit_bind(ptr %t440) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t142 %t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0 %t445 = load ptr, ptr %t444 %t446 = call ptr @lp_str_concat(ptr @.str2634, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2635) %t448 = call ptr @fn_emit_bind(ptr %t447) store ptr %t448, ptr %t449 %t450 = load ptr, ptr %t442 %t451 = call ptr @lp_str_concat(ptr @.str2636, ptr %t450) %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2637) %t453 = load ptr, ptr %t449 %t454 = call ptr @lp_str_concat(ptr %t452, 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 @.str2638, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2639) %t460 = call ptr @fn_emit_bind(ptr %t459) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t437 %t463 = call ptr @lp_str_concat(ptr @.str2640, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2641) %t465 = load ptr, ptr %t461 %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) %t467 = call ptr @fn_emit_bind(ptr %t466) %t468 = call ptr @fn_val(ptr %t467, ptr @.str2642) store ptr %t468, ptr %retval br label %ret ifend52: %t469 = load ptr, ptr %t1 %t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 7 %t471 = load ptr, ptr %t470 %t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 %t474 = getelementptr inbounds ptr, ptr %t473, i32 1 %t475 = load ptr, ptr %t474 %t476 = call ptr @fn_emit_expr(ptr %t475) store ptr %t476, ptr %t477 %t478 = load ptr, ptr %t477 %t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0 %t480 = load ptr, ptr %t479 %t481 = call ptr @lp_str_concat(ptr @.str2643, ptr %t480) %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2644) %t483 = call ptr @fn_emit_bind(ptr %t482) store ptr %t483, ptr %t484 %t485 = load ptr, ptr %t0 %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str2645) %t487 = icmp ne i32 %t486, 0 br i1 %t487, label %then56, label %ifend58 then56: %t488 = load ptr, ptr %t142 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 %t490 = load ptr, ptr %t489 %t491 = call ptr @lp_str_concat(ptr @.str2646, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2647) %t493 = load ptr, ptr %t477 %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = call ptr @lp_str_concat(ptr %t492, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str2648) %t498 = load ptr, ptr %t484 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2649) %t501 = call ptr @fn_emit_bind(ptr %t500) store ptr %t501, ptr %t502 %t503 = load ptr, ptr %t502 %t504 = call ptr @lp_str_concat(ptr @.str2650, ptr %t503) %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2651) %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 @.str2652, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2653) %t511 = call ptr @fn_emit_bind(ptr %t510) %t512 = call ptr @fn_val(ptr %t511, ptr @.str2654) store ptr %t512, ptr %retval br label %ret ifend58: %t513 = load ptr, ptr %t142 %t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0 %t515 = load ptr, ptr %t514 %t516 = call ptr @lp_str_concat(ptr @.str2655, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2656) %t518 = call ptr @fn_emit_bind(ptr %t517) store ptr %t518, ptr %t519 %t520 = load ptr, ptr %t519 %t521 = call ptr @lp_str_concat(ptr @.str2657, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2658) %t523 = load ptr, ptr %t484 %t524 = call ptr @lp_str_concat(ptr %t522, ptr %t523) %t525 = call ptr @fn_emit_bind(ptr %t524) store ptr %t525, ptr %t526 %t527 = call ptr @fn_emit_alloca(ptr @.str2659) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2660, ptr @.str2661, ptr %t529) %t530 = load ptr, ptr %t526 %t531 = call ptr @lp_str_concat(ptr @.str2662, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2663) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 %t535 = call ptr @fn_lbl(ptr @.str2664) store ptr %t535, ptr %t536 %t537 = call ptr @fn_lbl(ptr @.str2665) store ptr %t537, ptr %t538 call void @fn_emit(ptr @.str2666) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str2667) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str2668) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str2669) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str2670) %t543 = load ptr, ptr %t142 %t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0 %t545 = load ptr, ptr %t544 %t546 = call ptr @lp_str_concat(ptr @.str2671, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2672) %t548 = load ptr, ptr %t526 %t549 = call ptr @lp_str_concat(ptr %t547, ptr %t548) %t550 = call ptr @fn_emit_bind(ptr %t549) store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t551 %t553 = call ptr @lp_str_concat(ptr @.str2673, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2674) %t555 = load ptr, ptr %t477 %t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0 %t557 = load ptr, ptr %t556 %t558 = call ptr @lp_str_concat(ptr %t554, ptr %t557) %t559 = call ptr @lp_str_concat(ptr %t558, ptr @.str2675) %t560 = load ptr, ptr %t484 %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2676) %t563 = call ptr @fn_emit_bind(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t564 %t566 = call ptr @lp_str_concat(ptr @.str2677, ptr %t565) %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2678) %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 @.str2679, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2680) %t573 = call ptr @fn_emit_bind(ptr %t572) store ptr %t573, ptr %t574 %t575 = load ptr, ptr %t574 %t576 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2681, ptr %t575, ptr %t576) call void @fn_emit(ptr @.str2682) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str2683) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str2684) %t579 = load ptr, ptr %t528 %t580 = call ptr @lp_str_concat(ptr @.str2685, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) %t582 = call ptr @fn_val(ptr %t581, ptr @.str2686) store ptr %t582, ptr %retval br label %ret ret: %t583 = load ptr, ptr %retval ret ptr %t583 } define void @fn_emit_text_prelude() { entry: call void @fn_emith(ptr @.str2687) call void @fn_emith(ptr @.str2688) call void @fn_emith(ptr @.str2689) call void @fn_emith(ptr @.str2690) call void @fn_emith(ptr @.str2691) call void @fn_emith(ptr @.str2692) call void @fn_emith(ptr @.str2693) call void @fn_emith(ptr @.str2694) call void @fn_emith(ptr @.str2695) call void @fn_emith(ptr @.str2696) call void @fn_emith(ptr @.str2697) call void @fn_emith(ptr @.str2698) call void @fn_emith(ptr @.str2699) call void @fn_emith(ptr @.str2700) call void @fn_emith(ptr @.str2701) call void @fn_emith(ptr @.str2702) call void @fn_emith(ptr @.str2703) call void @fn_emith(ptr @.str2704) call void @fn_emith(ptr @.str2705) call void @fn_emith(ptr @.str2706) call void @fn_emith(ptr @.str2707) call void @fn_emith(ptr @.str2708) call void @fn_emith(ptr @.str2709) call void @fn_emith(ptr @.str2710) call void @fn_emith(ptr @.str2711) call void @fn_emith(ptr @.str2712) call void @fn_emith(ptr @.str2713) call void @fn_emith(ptr @.str2714) call void @fn_emith(ptr @.str2715) call void @fn_emith(ptr @.str2716) call void @fn_emith(ptr @.str2717) call void @fn_emith(ptr @.str2718) call void @fn_emith(ptr @.str2719) call void @fn_emith(ptr @.str2720) call void @fn_emith(ptr @.str2721) call void @fn_emith(ptr @.str2722) call void @fn_emith(ptr @.str2723) call void @fn_emith(ptr @.str2724) call void @fn_emith(ptr @.str2725) call void @fn_emith(ptr @.str2726) call void @fn_emith(ptr @.str2727) call void @fn_emith(ptr @.str2728) call void @fn_emith(ptr @.str2729) call void @fn_emith(ptr @.str2730) call void @fn_emith(ptr @.str2731) call void @fn_emith(ptr @.str2732) call void @fn_emith(ptr @.str2733) call void @fn_emith(ptr @.str2734) call void @fn_emith(ptr @.str2735) call void @fn_emith(ptr @.str2736) call void @fn_emith(ptr @.str2737) call void @fn_emith(ptr @.str2738) call void @fn_emith(ptr @.str2739) call void @fn_emith(ptr @.str2740) call void @fn_emith(ptr @.str2741) call void @fn_emith(ptr @.str2742) call void @fn_emith(ptr @.str2743) call void @fn_emith(ptr @.str2744) call void @fn_emith(ptr @.str2745) call void @fn_emith(ptr @.str2746) call void @fn_emith(ptr @.str2747) call void @fn_emith(ptr @.str2748) call void @fn_emith(ptr @.str2749) call void @fn_emith(ptr @.str2750) call void @fn_emith(ptr @.str2751) call void @fn_emith(ptr @.str2752) call void @fn_emith(ptr @.str2753) call void @fn_emith(ptr @.str2754) call void @fn_emith(ptr @.str2755) call void @fn_emith(ptr @.str2756) call void @fn_emith(ptr @.str2757) call void @fn_emith(ptr @.str2758) call void @fn_emith(ptr @.str2759) call void @fn_emith(ptr @.str2760) call void @fn_emith(ptr @.str2761) call void @fn_emith(ptr @.str2762) call void @fn_emith(ptr @.str2763) call void @fn_emith(ptr @.str2764) call void @fn_emith(ptr @.str2765) call void @fn_emith(ptr @.str2766) call void @fn_emith(ptr @.str2767) call void @fn_emith(ptr @.str2768) call void @fn_emith(ptr @.str2769) call void @fn_emith(ptr @.str2770) call void @fn_emith(ptr @.str2771) call void @fn_emith(ptr @.str2772) call void @fn_emith(ptr @.str2773) call void @fn_emith(ptr @.str2774) call void @fn_emith(ptr @.str2775) call void @fn_emith(ptr @.str2776) call void @fn_emith(ptr @.str2777) call void @fn_emith(ptr @.str2778) call void @fn_emith(ptr @.str2779) call void @fn_emith(ptr @.str2780) call void @fn_emith(ptr @.str2781) call void @fn_emith(ptr @.str2782) call void @fn_emith(ptr @.str2783) call void @fn_emith(ptr @.str2784) call void @fn_emith(ptr @.str2785) call void @fn_emith(ptr @.str2786) call void @fn_emith(ptr @.str2787) call void @fn_emith(ptr @.str2788) call void @fn_emith(ptr @.str2789) call void @fn_emith(ptr @.str2790) call void @fn_emith(ptr @.str2791) call void @fn_emith(ptr @.str2792) call void @fn_emith(ptr @.str2793) call void @fn_emith(ptr @.str2794) call void @fn_emith(ptr @.str2795) call void @fn_emith(ptr @.str2796) call void @fn_emith(ptr @.str2797) call void @fn_emith(ptr @.str2798) call void @fn_emith(ptr @.str2799) call void @fn_emith(ptr @.str2800) call void @fn_emith(ptr @.str2801) call void @fn_emith(ptr @.str2802) call void @fn_emith(ptr @.str2803) call void @fn_emith(ptr @.str2804) call void @fn_emith(ptr @.str2805) call void @fn_emith(ptr @.str2806) call void @fn_emith(ptr @.str2807) call void @fn_emith(ptr @.str2808) call void @fn_emith(ptr @.str2809) call void @fn_emith(ptr @.str2810) call void @fn_emith(ptr @.str2811) call void @fn_emith(ptr @.str2812) call void @fn_emith(ptr @.str2813) call void @fn_emith(ptr @.str2814) call void @fn_emith(ptr @.str2815) call void @fn_emith(ptr @.str2816) call void @fn_emith(ptr @.str2817) call void @fn_emith(ptr @.str2818) call void @fn_emith(ptr @.str2819) call void @fn_emith(ptr @.str2820) call void @fn_emith(ptr @.str2821) call void @fn_emith(ptr @.str2822) call void @fn_emith(ptr @.str2823) call void @fn_emith(ptr @.str2824) call void @fn_emith(ptr @.str2825) call void @fn_emith(ptr @.str2826) call void @fn_emith(ptr @.str2827) call void @fn_emith(ptr @.str2828) call void @fn_emith(ptr @.str2829) call void @fn_emith(ptr @.str2830) call void @fn_emith(ptr @.str2831) call void @fn_emith(ptr @.str2832) call void @fn_emith(ptr @.str2833) call void @fn_emith(ptr @.str2834) call void @fn_emith(ptr @.str2835) call void @fn_emith(ptr @.str2836) call void @fn_emith(ptr @.str2837) call void @fn_emith(ptr @.str2838) call void @fn_emith(ptr @.str2839) call void @fn_emith(ptr @.str2840) call void @fn_emith(ptr @.str2841) call void @fn_emith(ptr @.str2842) call void @fn_emith(ptr @.str2843) call void @fn_emith(ptr @.str2844) call void @fn_emith(ptr @.str2845) call void @fn_emith(ptr @.str2846) call void @fn_emith(ptr @.str2847) call void @fn_emith(ptr @.str2848) call void @fn_emith(ptr @.str2849) call void @fn_emith(ptr @.str2850) call void @fn_emith(ptr @.str2851) call void @fn_emith(ptr @.str2852) call void @fn_emith(ptr @.str2853) call void @fn_emith(ptr @.str2854) call void @fn_emith(ptr @.str2855) call void @fn_emith(ptr @.str2856) call void @fn_emith(ptr @.str2857) call void @fn_emith(ptr @.str2858) call void @fn_emith(ptr @.str2859) call void @fn_emith(ptr @.str2860) call void @fn_emith(ptr @.str2861) call void @fn_emith(ptr @.str2862) call void @fn_emith(ptr @.str2863) call void @fn_emith(ptr @.str2864) call void @fn_emith(ptr @.str2865) call void @fn_emith(ptr @.str2866) call void @fn_emith(ptr @.str2867) call void @fn_emith(ptr @.str2868) call void @fn_emith(ptr @.str2869) call void @fn_emith(ptr @.str2870) call void @fn_emith(ptr @.str2871) call void @fn_emith(ptr @.str2872) call void @fn_emith(ptr @.str2873) call void @fn_emith(ptr @.str2874) call void @fn_emith(ptr @.str2875) call void @fn_emith(ptr @.str2876) call void @fn_emith(ptr @.str2877) call void @fn_emith(ptr @.str2878) call void @fn_emith(ptr @.str2879) call void @fn_emith(ptr @.str2880) call void @fn_emith(ptr @.str2881) call void @fn_emith(ptr @.str2882) call void @fn_emith(ptr @.str2883) call void @fn_emith(ptr @.str2884) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: call void @fn_emith(ptr @.str2885) call void @fn_emith(ptr @.str2886) call void @fn_emith(ptr @.str2887) call void @fn_emith(ptr @.str2888) call void @fn_emith(ptr @.str2889) call void @fn_emith(ptr @.str2890) call void @fn_emith(ptr @.str2891) call void @fn_emith(ptr @.str2892) call void @fn_emith(ptr @.str2893) call void @fn_emith(ptr @.str2894) call void @fn_emith(ptr @.str2895) call void @fn_emith(ptr @.str2896) call void @fn_emith(ptr @.str2897) call void @fn_emith(ptr @.str2898) call void @fn_emith(ptr @.str2899) call void @fn_emith(ptr @.str2900) call void @fn_emith(ptr @.str2901) call void @fn_emith(ptr @.str2902) call void @fn_emith(ptr @.str2903) call void @fn_emith(ptr @.str2904) call void @fn_emith(ptr @.str2905) call void @fn_emith(ptr @.str2906) call void @fn_emith(ptr @.str2907) call void @fn_emith(ptr @.str2908) call void @fn_emith(ptr @.str2909) call void @fn_emith(ptr @.str2910) call void @fn_emith(ptr @.str2911) call void @fn_emith(ptr @.str2912) call void @fn_emith(ptr @.str2913) call void @fn_emith(ptr @.str2914) call void @fn_emith(ptr @.str2915) call void @fn_emith(ptr @.str2916) call void @fn_emith(ptr @.str2917) call void @fn_emith(ptr @.str2918) call void @fn_emith(ptr @.str2919) call void @fn_emith(ptr @.str2920) call void @fn_emith(ptr @.str2921) call void @fn_emith(ptr @.str2922) call void @fn_emith(ptr @.str2923) call void @fn_emith(ptr @.str2924) call void @fn_emith(ptr @.str2925) call void @fn_emith(ptr @.str2926) call void @fn_emith(ptr @.str2927) call void @fn_emith(ptr @.str2928) call void @fn_emith(ptr @.str2929) call void @fn_emith(ptr @.str2930) call void @fn_emith(ptr @.str2931) call void @fn_emith(ptr @.str2932) call void @fn_emith(ptr @.str2933) call void @fn_emith(ptr @.str2934) call void @fn_emith(ptr @.str2935) call void @fn_emith(ptr @.str2936) call void @fn_emith(ptr @.str2937) call void @fn_emith(ptr @.str2938) call void @fn_emith(ptr @.str2939) call void @fn_emith(ptr @.str2940) call void @fn_emith(ptr @.str2941) call void @fn_emith(ptr @.str2942) call void @fn_emith(ptr @.str2943) call void @fn_emith(ptr @.str2944) call void @fn_emith(ptr @.str2945) call void @fn_emith(ptr @.str2946) call void @fn_emith(ptr @.str2947) call void @fn_emith(ptr @.str2948) call void @fn_emith(ptr @.str2949) call void @fn_emith(ptr @.str2950) call void @fn_emith(ptr @.str2951) call void @fn_emith(ptr @.str2952) call void @fn_emith(ptr @.str2953) call void @fn_emith(ptr @.str2954) call void @fn_emith(ptr @.str2955) call void @fn_emith(ptr @.str2956) call void @fn_emith(ptr @.str2957) call void @fn_emith(ptr @.str2958) call void @fn_emith(ptr @.str2959) call void @fn_emith(ptr @.str2960) call void @fn_emith(ptr @.str2961) call void @fn_emith(ptr @.str2962) call void @fn_emith(ptr @.str2963) call void @fn_emith(ptr @.str2964) call void @fn_emith(ptr @.str2965) call void @fn_emith(ptr @.str2966) call void @fn_emith(ptr @.str2967) call void @fn_emith(ptr @.str2968) call void @fn_emith(ptr @.str2969) call void @fn_emith(ptr @.str2970) call void @fn_emith(ptr @.str2971) call void @fn_emith(ptr @.str2972) call void @fn_emith(ptr @.str2973) call void @fn_emith(ptr @.str2974) call void @fn_emith(ptr @.str2975) call void @fn_emith(ptr @.str2976) call void @fn_emith(ptr @.str2977) call void @fn_emith(ptr @.str2978) call void @fn_emith(ptr @.str2979) call void @fn_emith(ptr @.str2980) call void @fn_emith(ptr @.str2981) call void @fn_emith(ptr @.str2982) call void @fn_emith(ptr @.str2983) call void @fn_emith(ptr @.str2984) call void @fn_emith(ptr @.str2985) call void @fn_emith(ptr @.str2986) call void @fn_emith(ptr @.str2987) call void @fn_emith(ptr @.str2988) call void @fn_emith(ptr @.str2989) call void @fn_emith(ptr @.str2990) call void @fn_emith(ptr @.str2991) call void @fn_emith(ptr @.str2992) call void @fn_emith(ptr @.str2993) call void @fn_emith(ptr @.str2994) call void @fn_emith(ptr @.str2995) call void @fn_emith(ptr @.str2996) call void @fn_emith(ptr @.str2997) call void @fn_emith(ptr @.str2998) call void @fn_emith(ptr @.str2999) call void @fn_emith(ptr @.str3000) call void @fn_emith(ptr @.str3001) call void @fn_emith(ptr @.str3002) call void @fn_emith(ptr @.str3003) call void @fn_emith(ptr @.str3004) call void @fn_emith(ptr @.str3005) call void @fn_emith(ptr @.str3006) call void @fn_emith(ptr @.str3007) call void @fn_emith(ptr @.str3008) call void @fn_emith(ptr @.str3009) call void @fn_emith(ptr @.str3010) call void @fn_emith(ptr @.str3011) call void @fn_emith(ptr @.str3012) call void @fn_emith(ptr @.str3013) call void @fn_emith(ptr @.str3014) call void @fn_emith(ptr @.str3015) call void @fn_emith(ptr @.str3016) call void @fn_emith(ptr @.str3017) call void @fn_emith(ptr @.str3018) call void @fn_emith(ptr @.str3019) call void @fn_emith(ptr @.str3020) call void @fn_emith(ptr @.str3021) call void @fn_emith(ptr @.str3022) call void @fn_emith(ptr @.str3023) call void @fn_emith(ptr @.str3024) call void @fn_emith(ptr @.str3025) call void @fn_emith(ptr @.str3026) call void @fn_emith(ptr @.str3027) call void @fn_emith(ptr @.str3028) call void @fn_emith(ptr @.str3029) call void @fn_emith(ptr @.str3030) call void @fn_emith(ptr @.str3031) call void @fn_emith(ptr @.str3032) call void @fn_emith(ptr @.str3033) call void @fn_emith(ptr @.str3034) call void @fn_emith(ptr @.str3035) call void @fn_emith(ptr @.str3036) call void @fn_emith(ptr @.str3037) call void @fn_emith(ptr @.str3038) call void @fn_emith(ptr @.str3039) call void @fn_emith(ptr @.str3040) call void @fn_emith(ptr @.str3041) call void @fn_emith(ptr @.str3042) call void @fn_emith(ptr @.str3043) call void @fn_emith(ptr @.str3044) call void @fn_emith(ptr @.str3045) 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) 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 @.str3096) %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 @.str3097) %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 @.str3098) %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 @.str3099) %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 @.str3100) %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 @.str3101) %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 @.str3102) %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 @.str3103) %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 @.str3104, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3105) %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 @.str3106, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3107) %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 @.str3108, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3109) %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 @.str3110, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3111) %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 @.str3112, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3113) %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 @.str3114, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3115) %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 @.str3116, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3117) %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 @.str3118, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3119) %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 @.str3120, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3121) %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 @.str3122, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3123) %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 @.str3124, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3125) %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 @.str3126, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3127) %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 @.str3128, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3129) %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 @.str3130, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3131) %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 @.str3132, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3133) %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 @.str3134, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3135) %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 %t21 = alloca ptr %t29 = alloca i32 %t48 = alloca ptr %t67 = alloca ptr %t83 = alloca ptr %t102 = alloca ptr %t108 = alloca ptr %t109 = alloca i32 %t128 = alloca ptr %t135 = alloca ptr %t140 = alloca ptr %t145 = alloca ptr %t152 = alloca ptr %t159 = 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 @.str3136) %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 @.str3137) %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 ptr, ptr %t17, 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 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str3138, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3139) %t27 = call ptr @fn_emit_bind(ptr %t26) %t28 = call ptr @fn_val(ptr %t27, ptr @.str3140) store ptr %t28, ptr %retval br label %ret ifend4: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3141) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend6, label %sc5 sc5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3142) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 br label %scend6 scend6: %t38 = load i32, ptr %t29 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: store i32 1, ptr @g_g_uses_hashrt %t40 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t44, 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 @.str3143, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3144) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str3145) store ptr %t55, ptr %retval br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str3146) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then10, label %ifend12 then10: %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 ptr, ptr %t63, 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 = call ptr @fn_to_long(ptr %t68) %t70 = call ptr @fn_hash_mix64_code(ptr %t69) %t71 = call ptr @fn_val(ptr %t70, ptr @.str3147) store ptr %t71, ptr %retval br label %ret ifend12: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str3148) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then13, label %ifend15 then13: store i32 1, ptr @g_g_uses_hashrt %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 ptr, ptr %t79, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_emit_expr(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = call ptr @lp_str_concat(ptr @.str3149, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str3150) %t89 = call ptr @fn_emit_bind(ptr %t88) %t90 = call ptr @fn_val(ptr %t89, ptr @.str3151) store ptr %t90, ptr %retval br label %ret ifend15: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str3152) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then16, label %ifend18 then16: %t94 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t98, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_emit_expr(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_hash_mix_code(ptr %t105) %t107 = call ptr @fn_val(ptr %t106, ptr @.str3153) store ptr %t107, ptr %retval br label %ret ifend18: store ptr @.str3154, ptr %t108 store i32 0, ptr %t109 br label %wcond19 wcond19: %t110 = load i32, ptr %t109 %t111 = load ptr, ptr %t1 %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 slt i32 %t110, %t115 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %wbody20, label %wend21 wbody20: %t119 = load ptr, ptr %t1 %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 0 %t123 = load ptr, ptr %t122 %t124 = load i32, ptr %t109 %t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124 %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 @lp_str_concat(ptr @.str3155, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str3156) %t134 = call ptr @fn_emit_bind(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t108 %t137 = call ptr @lp_str_concat(ptr @.str3157, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str3158) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t108 %t142 = call ptr @lp_str_concat(ptr @.str3159, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str3160) %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t135 %t147 = call ptr @lp_str_concat(ptr @.str3161, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str3162) %t149 = load ptr, ptr %t140 %t150 = call ptr @lp_str_concat(ptr %t148, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = call ptr @lp_str_concat(ptr @.str3163, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str3164) %t156 = load ptr, ptr %t145 %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t108 %t161 = call ptr @lp_str_concat(ptr @.str3165, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str3166) %t163 = load ptr, ptr %t159 %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) %t165 = call ptr @fn_emit_bind(ptr %t164) store ptr %t165, ptr %t108 %t166 = load i32, ptr %t109 %t167 = add i32 %t166, 1 store i32 %t167, ptr %t109 br label %wcond19 wend21: %t168 = load ptr, ptr %t108 %t169 = call ptr @fn_val(ptr %t168, ptr @.str3167) store ptr %t169, ptr %retval br label %ret ret: %t170 = load ptr, ptr %retval ret ptr %t170 } define void @fn_emit_hash_prelude() { entry: 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) 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) 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 @.str3265) %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 @.str3266) %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 @.str3267) %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 @.str3268) %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 @.str3269) %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 @.str3270) %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 @.str3271) %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 @.str3272) %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 @.str3273) %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 %t13 = alloca ptr %t32 = alloca ptr %t41 = alloca ptr %t65 = alloca ptr %t84 = alloca ptr %t93 = alloca ptr %t106 = alloca i32 %t125 = alloca ptr %t132 = alloca ptr %t154 = alloca ptr %t170 = alloca ptr %t179 = alloca ptr %t188 = alloca ptr %t200 = 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 @.str3274) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str3275, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3276) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3277) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3278) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %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 ptr, ptr %t28, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 %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 ptr, ptr %t37, i32 1 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_emit_expr(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t32 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @lp_str_concat(ptr @.str3279, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3280) %t47 = load ptr, ptr %t41 %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 @lp_str_concat(ptr %t50, ptr @.str3281) %t52 = call ptr @fn_emit_bind(ptr %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str3282) store ptr %t53, ptr %retval br label %ret ifend5: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str3283) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then6, label %ifend8 then6: %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 ptr, ptr %t61, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_emit_expr(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr @.str3284, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3285) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3286) store ptr %t72, ptr %retval br label %ret ifend8: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3287) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then9, label %ifend11 then9: %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 = getelementptr inbounds ptr, ptr %t80, i32 0 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_emit_expr(ptr %t82) store ptr %t83, ptr %t84 %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 ptr, ptr %t89, i32 1 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_emit_expr(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t84 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call ptr @lp_str_concat(ptr @.str3288, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3289) %t99 = load ptr, ptr %t93 %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 @lp_str_concat(ptr %t102, ptr @.str3290) %t104 = call ptr @fn_emit_bind(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str3291) store ptr %t105, ptr %retval br label %ret ifend11: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str3292) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t106 br i1 %t109, label %scend13, label %sc12 sc12: %t111 = load ptr, ptr %t0 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str3293) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t106 br label %scend13 scend13: %t115 = load i32, ptr %t106 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then14, label %ifend16 then14: %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 ptr, ptr %t121, i32 0 %t123 = load ptr, ptr %t122 %t124 = call ptr @fn_emit_expr(ptr %t123) store ptr %t124, ptr %t125 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = call ptr @lp_str_concat(ptr @.str3294, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str3295) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t132 %t134 = call ptr @lp_str_concat(ptr @.str3296, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str3297) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str3298) store ptr %t137, ptr %retval br label %ret ifend16: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str3299) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then17, label %ifend19 then17: %t141 = call ptr @fn_emit_bind(ptr @.str3300) %t142 = call ptr @fn_val(ptr %t141, ptr @.str3301) store ptr %t142, ptr %retval br label %ret ifend19: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str3302) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then20, label %ifend22 then20: %t146 = load ptr, ptr %t1 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds ptr, ptr %t150, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @fn_emit_expr(ptr %t152) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = call ptr @lp_str_concat(ptr @.str3303, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3304) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str3305) store ptr %t161, ptr %retval br label %ret ifend22: %t162 = load ptr, ptr %t1 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds ptr, ptr %t166, i32 0 %t168 = load ptr, ptr %t167 %t169 = call ptr @fn_emit_expr(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t1 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds ptr, ptr %t175, i32 1 %t177 = load ptr, ptr %t176 %t178 = call ptr @fn_emit_expr(ptr %t177) store ptr %t178, ptr %t179 %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 ptr, ptr %t184, i32 2 %t186 = load ptr, ptr %t185 %t187 = call ptr @fn_emit_expr(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t170 %t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = call ptr @lp_str_concat(ptr @.str3306, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str3307) %t194 = load ptr, ptr %t179 %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 @.str3308) %t199 = call ptr @fn_emit_bind(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = call ptr @lp_str_concat(ptr @.str3309, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str3310) %t204 = load ptr, ptr %t188 %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = call ptr @lp_str_concat(ptr %t203, ptr %t206) %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str3311) %t209 = call ptr @fn_emit_bind(ptr %t208) %t210 = call ptr @fn_val(ptr %t209, ptr @.str3312) store ptr %t210, ptr %retval br label %ret ret: %t211 = load ptr, ptr %retval ret ptr %t211 } define void @fn_emit_crypto_prelude() { entry: 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) call void @fn_emith(ptr @.str3455) call void @fn_emith(ptr @.str3456) call void @fn_emith(ptr @.str3457) call void @fn_emith(ptr @.str3458) call void @fn_emith(ptr @.str3459) call void @fn_emith(ptr @.str3460) call void @fn_emith(ptr @.str3461) call void @fn_emith(ptr @.str3462) call void @fn_emith(ptr @.str3463) call void @fn_emith(ptr @.str3464) 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 @.str3465) call void @fn_emith(ptr @.str3466) call void @fn_emith(ptr @.str3467) call void @fn_emith(ptr @.str3468) call void @fn_emith(ptr @.str3469) call void @fn_emith(ptr @.str3470) call void @fn_emith(ptr @.str3471) call void @fn_emith(ptr @.str3472) call void @fn_emith(ptr @.str3473) call void @fn_emith(ptr @.str3474) call void @fn_emith(ptr @.str3475) call void @fn_emith(ptr @.str3476) call void @fn_emith(ptr @.str3477) call void @fn_emith(ptr @.str3478) call void @fn_emith(ptr @.str3479) call void @fn_emith(ptr @.str3480) call void @fn_emith(ptr @.str3481) call void @fn_emith(ptr @.str3482) call void @fn_emith(ptr @.str3483) call void @fn_emith(ptr @.str3484) call void @fn_emith(ptr @.str3485) call void @fn_emith(ptr @.str3486) call void @fn_emith(ptr @.str3487) call void @fn_emith(ptr @.str3488) call void @fn_emith(ptr @.str3489) call void @fn_emith(ptr @.str3490) call void @fn_emith(ptr @.str3491) call void @fn_emith(ptr @.str3492) call void @fn_emith(ptr @.str3493) call void @fn_emith(ptr @.str3494) call void @fn_emith(ptr @.str3495) call void @fn_emith(ptr @.str3496) call void @fn_emith(ptr @.str3497) call void @fn_emith(ptr @.str3498) call void @fn_emith(ptr @.str3499) call void @fn_emith(ptr @.str3500) call void @fn_emith(ptr @.str3501) call void @fn_emith(ptr @.str3502) call void @fn_emith(ptr @.str3503) call void @fn_emith(ptr @.str3504) call void @fn_emith(ptr @.str3505) call void @fn_emith(ptr @.str3506) call void @fn_emith(ptr @.str3507) call void @fn_emith(ptr @.str3508) call void @fn_emith(ptr @.str3509) call void @fn_emith(ptr @.str3510) call void @fn_emith(ptr @.str3511) call void @fn_emith(ptr @.str3512) 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 @.str3513) %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 @.str3514) %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 @.str3515) %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 @.str3516) %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 @.str3517) %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 @.str3518) %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 @.str3519) %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 @.str3520) %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 @.str3521) %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 %t44 = alloca ptr %t63 = alloca ptr %t79 = alloca ptr %t88 = alloca ptr %t109 = 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 @.str3522) %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 @.str3523) %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 @.str3524) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3525) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3526) %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 @.str3527) %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 @.str3528) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3529) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3530) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3531) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3532) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3533) %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 ptr, ptr %t40, i32 0 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_emit_expr(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str3534, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3535) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str3536) store ptr %t51, ptr %retval br label %ret ifend15: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3537) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then16, label %ifend18 then16: %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 ptr, ptr %t59, i32 0 %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 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_val(ptr %t66, ptr @.str3538) store ptr %t67, ptr %retval br label %ret ifend18: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3539) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then19, label %ifend21 then19: %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 ptr, ptr %t75, 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 ptr, ptr %t84, i32 1 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t79 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = call ptr @lp_str_concat(ptr @.str3540, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3541) %t94 = load ptr, ptr %t88 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3542) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3543) store ptr %t100, ptr %retval br label %ret ifend21: %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 ptr, ptr %t105, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_emit_expr(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr @.str3544, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3545) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3546) store ptr %t116, ptr %retval br label %ret ret: %t117 = load ptr, ptr %retval ret ptr %t117 } define void @fn_emit_uuid_prelude() { entry: 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) 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 @.str3621) %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 @.str3622) %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 @.str3623) %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 @.str3624) %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 @.str3625) %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 @.str3626) %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 @.str3627) %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 %t13 = alloca ptr %t20 = alloca ptr %t37 = alloca ptr %t46 = alloca ptr %t55 = alloca ptr %t84 = alloca ptr %t93 = alloca ptr %t102 = alloca ptr %t131 = alloca ptr %t140 = alloca ptr %t149 = alloca ptr %t178 = alloca ptr %t187 = alloca ptr %t196 = alloca ptr %t205 = alloca ptr %t239 = alloca ptr %t248 = alloca ptr %t257 = alloca ptr %t283 = alloca ptr %t292 = alloca ptr %t301 = 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 @.str3628) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str3629, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3630) %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 @.str3631, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3632) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3633) store ptr %t25, ptr %retval br label %ret ifend2: store i32 1, ptr @g_g_uses_noisert %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3634) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t33, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(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 ptr, ptr %t42, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_emit_expr(ptr %t44) 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 ptr, ptr %t51, i32 2 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_emit_expr(ptr %t53) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t37 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = call ptr @lp_str_concat(ptr @.str3635, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3636) %t61 = load ptr, ptr %t46 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3637) %t66 = load ptr, ptr %t55 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr %t65, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3638) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3639) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3640) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then6, label %ifend8 then6: %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 = getelementptr inbounds ptr, ptr %t80, i32 0 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_emit_expr(ptr %t82) store ptr %t83, ptr %t84 %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 ptr, ptr %t89, i32 1 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_emit_expr(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t98, i32 2 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_emit_expr(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t84 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = call ptr @lp_str_concat(ptr @.str3641, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3642) %t108 = load ptr, ptr %t93 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3643) %t113 = load ptr, ptr %t102 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3644) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3645) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3646) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then9, label %ifend11 then9: %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 ptr, ptr %t127, i32 0 %t129 = load ptr, ptr %t128 %t130 = call ptr @fn_emit_expr(ptr %t129) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t1 %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 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds ptr, ptr %t136, i32 1 %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 ptr, ptr %t145, i32 2 %t147 = load ptr, ptr %t146 %t148 = call ptr @fn_emit_expr(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t131 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @lp_str_concat(ptr @.str3647, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3648) %t155 = load ptr, ptr %t140 %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = call ptr @lp_str_concat(ptr %t154, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3649) %t160 = load ptr, ptr %t149 %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr %t159, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str3650) %t165 = call ptr @fn_emit_bind(ptr %t164) %t166 = call ptr @fn_val(ptr %t165, ptr @.str3651) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3652) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then12, label %ifend14 then12: store i32 1, ptr @g_g_uses_mathrt %t170 = load ptr, ptr %t1 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds ptr, ptr %t174, i32 0 %t176 = load ptr, ptr %t175 %t177 = call ptr @fn_emit_expr(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t1 %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 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds ptr, ptr %t183, i32 1 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_emit_expr(ptr %t185) store ptr %t186, ptr %t187 %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 ptr, ptr %t192, i32 2 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_emit_expr(ptr %t194) store ptr %t195, ptr %t196 %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 ptr, ptr %t201, i32 3 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_emit_expr(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t178 %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str3653, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3654) %t211 = load ptr, ptr %t187 %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 @.str3655) %t216 = load ptr, ptr %t196 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3656) %t221 = load ptr, ptr %t205 %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 %t223 = load ptr, ptr %t222 %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3657) %t226 = call ptr @fn_emit_bind(ptr %t225) %t227 = call ptr @fn_val(ptr %t226, ptr @.str3658) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3659) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then15, label %ifend17 then15: store i32 1, ptr @g_g_uses_mathrt %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 ptr, ptr %t235, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_emit_expr(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t1 %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 0 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds ptr, ptr %t244, i32 1 %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 ptr, ptr %t253, i32 2 %t255 = load ptr, ptr %t254 %t256 = call ptr @fn_emit_expr(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t239 %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = call ptr @lp_str_concat(ptr @.str3660, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3661) %t263 = load ptr, ptr %t248 %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str3662) %t268 = load ptr, ptr %t257 %t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = call ptr @lp_str_concat(ptr %t267, ptr %t270) %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str3663) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str3664) store ptr %t274, ptr %retval br label %ret ifend17: %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 ptr, ptr %t279, 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 ptr, ptr %t288, i32 1 %t290 = load ptr, ptr %t289 %t291 = call ptr @fn_emit_expr(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t1 %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds ptr, ptr %t297, i32 2 %t299 = load ptr, ptr %t298 %t300 = call ptr @fn_emit_expr(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t283 %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = call ptr @lp_str_concat(ptr @.str3665, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3666) %t307 = load ptr, ptr %t292 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = call ptr @lp_str_concat(ptr %t306, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str3667) %t312 = load ptr, ptr %t301 %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 @lp_str_concat(ptr %t315, ptr @.str3668) %t317 = call ptr @fn_emit_bind(ptr %t316) %t318 = call ptr @fn_val(ptr %t317, ptr @.str3669) store ptr %t318, ptr %retval br label %ret ret: %t319 = load ptr, ptr %retval ret ptr %t319 } define void @fn_emit_noise_prelude() { entry: call void @fn_emith(ptr @.str3670) call void @fn_emith(ptr @.str3671) call void @fn_emith(ptr @.str3672) call void @fn_emith(ptr @.str3673) call void @fn_emith(ptr @.str3674) call void @fn_emith(ptr @.str3675) call void @fn_emith(ptr @.str3676) call void @fn_emith(ptr @.str3677) call void @fn_emith(ptr @.str3678) call void @fn_emith(ptr @.str3679) call void @fn_emith(ptr @.str3680) call void @fn_emith(ptr @.str3681) call void @fn_emith(ptr @.str3682) call void @fn_emith(ptr @.str3683) call void @fn_emith(ptr @.str3684) call void @fn_emith(ptr @.str3685) call void @fn_emith(ptr @.str3686) call void @fn_emith(ptr @.str3687) call void @fn_emith(ptr @.str3688) 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_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: 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) 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 @.str3778) %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 @.str3779) %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 @.str3780) %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 @.str3781) %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 @.str3782) %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 @.str3783) %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 @.str3784) %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 @.str3785) %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 @.str3786) %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 @.str3787, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3788) %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 @.str3789, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3790) %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 %t13 = alloca ptr %t25 = alloca ptr %t26 = alloca ptr %t42 = alloca ptr %t51 = alloca ptr %t57 = alloca i32 %t77 = alloca ptr %t88 = 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 @.str3791) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str3792, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3793) call void @fn_emit(ptr %t18) %t19 = call ptr @fn_val(ptr @.str3794, ptr @.str3795) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3796) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = call ptr @fn_emit_bind(ptr @.str3797) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3798) store ptr %t24, ptr %retval br label %ret ifend5: store ptr @.str3799, ptr %t25 store ptr @.str3800, ptr %t26 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3801) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str3802, ptr %t25 store ptr @.str3803, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3804) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store ptr @.str3805, ptr %t25 store ptr @.str3806, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3807) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: store ptr @.str3808, ptr %t25 store ptr @.str3809, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3810) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: store ptr @.str3811, ptr %t25 store ptr @.str3812, ptr %t26 br label %ifend17 ifend17: store i32 1, ptr @g_g_uses_str %t39 = load ptr, ptr %t26 %t40 = call ptr @fn_emit_str_const(ptr %t39) %t41 = call ptr @fn_val(ptr %t40, ptr @.str3813) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t1 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds ptr, ptr %t47, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_emit_expr(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t42 %t53 = load ptr, ptr %t51 %t54 = call ptr @fn_log_stringify(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str3815) %t56 = call ptr @fn_emit_str_op(ptr @.str3814, ptr %t52, ptr %t55) store ptr %t56, ptr %t42 store i32 1, ptr %t57 br label %wcond18 wcond18: %t58 = load i32, ptr %t57 %t59 = add i32 %t58, 1 %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 %wbody19, label %wend20 wbody19: %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 = load i32, ptr %t57 %t74 = getelementptr inbounds ptr, ptr %t72, i32 %t73 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_emit_expr(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t1 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = load i32, ptr %t57 %t84 = add i32 %t83, 1 %t85 = getelementptr inbounds ptr, ptr %t82, i32 %t84 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t42 %t90 = call ptr @fn_emit_str_const(ptr @.str3817) %t91 = call ptr @fn_val(ptr %t90, ptr @.str3818) %t92 = call ptr @fn_emit_str_op(ptr @.str3816, ptr %t89, ptr %t91) store ptr %t92, ptr %t42 %t93 = load ptr, ptr %t42 %t94 = load ptr, ptr %t77 %t95 = call ptr @fn_log_stringify(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str3820) %t97 = call ptr @fn_emit_str_op(ptr @.str3819, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 %t99 = call ptr @fn_emit_str_const(ptr @.str3822) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3823) %t101 = call ptr @fn_emit_str_op(ptr @.str3821, ptr %t98, ptr %t100) store ptr %t101, ptr %t42 %t102 = load ptr, ptr %t42 %t103 = load ptr, ptr %t88 %t104 = call ptr @fn_log_stringify(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str3825) %t106 = call ptr @fn_emit_str_op(ptr @.str3824, ptr %t102, ptr %t105) store ptr %t106, ptr %t42 %t107 = load i32, ptr %t57 %t108 = add i32 %t107, 2 store i32 %t108, ptr %t57 br label %wcond18 wend20: %t109 = load ptr, ptr %t25 %t110 = call ptr @lp_str_concat(ptr @.str3826, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3827) %t112 = load ptr, ptr %t42 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = call ptr @lp_str_concat(ptr %t111, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str3828) call void @fn_emit(ptr %t116) %t117 = call ptr @fn_val(ptr @.str3829, ptr @.str3830) store ptr %t117, ptr %retval br label %ret ret: %t118 = load ptr, ptr %retval ret ptr %t118 } define void @fn_emit_log_prelude() { entry: call void @fn_emith(ptr @.str3831) call void @fn_emith(ptr @.str3832) call void @fn_emith(ptr @.str3833) call void @fn_emith(ptr @.str3834) %t0 = call ptr @fn_stdstream_rhs(i32 2) %t1 = call ptr @lp_str_concat(ptr @.str3835, ptr %t0) %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str3836) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str3837) call void @fn_emith(ptr @.str3838) 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 @.str3839) %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 @.str3840) %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 @.str3841) %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 @.str3842) %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 @.str3843) %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 @.str3844) %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 @.str3845) %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 @.str3846) %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 @.str3847) %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 @.str3848) %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 @.str3849) %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 @.str3850) %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 @.str3851) %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 @.str3852) %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 @.str3853) %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 @.str3854) %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 @.str3855) %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 @.str3856) %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 %t18 = alloca ptr %t20 = alloca ptr %t29 = alloca ptr %t50 = alloca ptr %t68 = alloca ptr %t87 = alloca ptr %t94 = alloca ptr %t99 = alloca ptr %t105 = alloca i32 %t116 = alloca i32 %t128 = alloca ptr %t132 = alloca ptr %t139 = alloca ptr %t168 = alloca ptr %t177 = alloca ptr %t201 = alloca ptr %t210 = alloca ptr %t222 = alloca ptr %t227 = alloca ptr %t244 = alloca ptr %t251 = alloca ptr %t256 = alloca ptr %t283 = alloca ptr %t302 = alloca ptr %t321 = 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 @.str3857) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str3858) %t6 = call ptr @fn_val(ptr %t5, ptr @.str3859) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3860) %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 ptr, ptr %t14, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_emit_expr(ptr %t16) store ptr %t17, ptr %t18 %t19 = call ptr @fn_emit_bind(ptr @.str3861) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str3862, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3863) %t24 = load ptr, ptr %t18 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = call ptr @lp_str_concat(ptr %t23, 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 @.str3864, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) %t33 = call ptr @fn_val(ptr %t32, ptr @.str3865) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3866) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: store i32 1, ptr @g_g_uses_pid %t37 = call ptr @fn_emit_bind(ptr @.str3867) %t38 = call ptr @fn_val(ptr %t37, ptr @.str3868) store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3869) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then9, label %ifend11 then9: %t42 = load ptr, ptr %t1 %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 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds ptr, ptr %t46, i32 0 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_emit_expr(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str3870, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3871) call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str3872) store i32 1, ptr @g_g_term %t56 = call ptr @fn_val(ptr @.str3873, ptr @.str3874) store ptr %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3875) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %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 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds ptr, ptr %t64, 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 @.str3876, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3877) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str3878) store ptr %t75, ptr %retval br label %ret ifend14: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3879) %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 ptr, ptr %t83, 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 @lp_str_concat(ptr @.str3880, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3881) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr @.str3882, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3883) %t98 = call ptr @fn_emit_bind(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = call ptr @lp_str_concat(ptr @.str3884, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3885) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3886) store ptr %t104, ptr %retval br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3887) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t105 br i1 %t108, label %scend19, label %sc18 sc18: %t110 = load ptr, ptr %t0 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str3888) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t105 br label %scend19 scend19: %t114 = load i32, ptr %t105 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then20, label %ifend22 then20: store i32 1, ptr %t116 %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str3889) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then23, label %ifend25 then23: store i32 2, ptr %t116 br label %ifend25 ifend25: %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 ptr, ptr %t124, i32 0 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_emit_expr(ptr %t126) store ptr %t127, ptr %t128 %t129 = load i32, ptr %t116 %t130 = call ptr @fn_stdstream_rhs(i32 %t129) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t128 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr @.str3890, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3891) %t138 = call ptr @fn_emit_bind(ptr %t137) store ptr %t138, ptr %t139 %t140 = load ptr, ptr %t128 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = call ptr @lp_str_concat(ptr @.str3892, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3893) %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3894) %t148 = load ptr, ptr %t132 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3895) call void @fn_emit(ptr %t150) %t151 = call ptr @fn_val(ptr @.str3896, ptr @.str3897) store ptr %t151, ptr %retval br label %ret ifend22: store i32 1, ptr @g_g_uses_osrt %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str3898) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: %t155 = call ptr @fn_emit_bind(ptr @.str3899) %t156 = call ptr @fn_val(ptr %t155, ptr @.str3900) store ptr %t156, ptr %retval br label %ret ifend28: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3901) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then29, label %ifend31 then29: %t160 = load ptr, ptr %t1 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds ptr, ptr %t164, 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 ptr, ptr %t173, i32 1 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_emit_expr(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t168 %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = call ptr @lp_str_concat(ptr @.str3902, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3903) %t183 = load ptr, ptr %t177 %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = call ptr @lp_str_concat(ptr %t182, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str3904) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str3905) store ptr %t189, ptr %retval br label %ret ifend31: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3906) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then32, label %ifend34 then32: %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 ptr, ptr %t197, 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 ptr, ptr %t206, i32 1 %t208 = load ptr, ptr %t207 %t209 = call ptr @fn_emit_expr(ptr %t208) store ptr %t209, ptr %t210 %t211 = load ptr, ptr %t201 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr @.str3907, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3908) %t216 = load ptr, ptr %t210 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3909) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t222 %t224 = call ptr @lp_str_concat(ptr @.str3910, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3911) %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 @.str3912, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3913) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str3914) store ptr %t232, ptr %retval br label %ret ifend34: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3915) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then35, label %ifend37 then35: %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 ptr, ptr %t240, i32 0 %t242 = load ptr, ptr %t241 %t243 = call ptr @fn_emit_expr(ptr %t242) store ptr %t243, ptr %t244 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0 %t247 = load ptr, ptr %t246 %t248 = call ptr @lp_str_concat(ptr @.str3916, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3917) %t250 = call ptr @fn_emit_bind(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t251 %t253 = call ptr @lp_str_concat(ptr @.str3918, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3919) %t255 = call ptr @fn_emit_bind(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t256 %t258 = call ptr @lp_str_concat(ptr @.str3920, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3921) %t260 = call ptr @fn_emit_bind(ptr %t259) %t261 = call ptr @fn_val(ptr %t260, ptr @.str3922) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3923) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: %t265 = call ptr @fn_emit_bind(ptr @.str3924) %t266 = call ptr @fn_val(ptr %t265, ptr @.str3925) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3926) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: %t270 = call ptr @fn_emit_bind(ptr @.str3927) %t271 = call ptr @fn_val(ptr %t270, ptr @.str3928) store ptr %t271, ptr %retval br label %ret ifend43: %t272 = load ptr, ptr %t0 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3929) %t274 = icmp ne i32 %t273, 0 br i1 %t274, label %then44, label %ifend46 then44: %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 ptr, ptr %t279, i32 0 %t281 = load ptr, ptr %t280 %t282 = call ptr @fn_emit_expr(ptr %t281) store ptr %t282, ptr %t283 %t284 = load ptr, ptr %t283 %t285 = getelementptr inbounds %Cmp_Val, ptr %t284, i32 0, i32 0 %t286 = load ptr, ptr %t285 %t287 = call ptr @lp_str_concat(ptr @.str3930, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3931) %t289 = call ptr @fn_emit_bind(ptr %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str3932) store ptr %t290, ptr %retval br label %ret ifend46: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3933) %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %then47, label %ifend49 then47: %t294 = load ptr, ptr %t1 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 7 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds ptr, ptr %t298, i32 0 %t300 = load ptr, ptr %t299 %t301 = call ptr @fn_emit_expr(ptr %t300) store ptr %t301, ptr %t302 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %Cmp_Val, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = call ptr @lp_str_concat(ptr @.str3934, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3935) %t308 = call ptr @fn_emit_bind(ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str3936) store ptr %t309, ptr %retval br label %ret ifend49: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3937) %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then50, label %ifend52 then50: %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 ptr, ptr %t317, i32 0 %t319 = load ptr, ptr %t318 %t320 = call ptr @fn_emit_expr(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0 %t324 = load ptr, ptr %t323 %t325 = call ptr @lp_str_concat(ptr @.str3938, ptr %t324) %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3939) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str3940) store ptr %t328, ptr %retval br label %ret ifend52: %t329 = call ptr @fn_emit_bind(ptr @.str3941) %t330 = call ptr @fn_val(ptr %t329, ptr @.str3942) store ptr %t330, ptr %retval br label %ret ret: %t331 = load ptr, ptr %retval ret ptr %t331 } 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 @.str3943) call void @fn_emith(ptr @.str3944) call void @fn_emith(ptr @.str3945) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str3946) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str3947) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str3948) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str3949) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str3950) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str3951) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str3952) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str3953) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str3954) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str3955) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str3956) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str3957) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str3958) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str3959) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str3960) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str3961) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str3962) store ptr %t36, ptr %t37 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) %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 @.str3975, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3976) %t45 = load ptr, ptr %t7 %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3977) call void @fn_emith(ptr %t47) 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) %t48 = load ptr, ptr %t17 %t49 = call ptr @lp_str_concat(ptr @.str3983, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3984) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str3985) call void @fn_emith(ptr @.str3986) call void @fn_emith(ptr @.str3987) call void @fn_emith(ptr @.str3988) %t51 = load ptr, ptr %t31 %t52 = call ptr @lp_str_concat(ptr @.str3989, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3990) call void @fn_emith(ptr %t53) 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) %t54 = load ptr, ptr %t9 %t55 = call ptr @lp_str_concat(ptr @.str3996, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str3997) %t57 = load ptr, ptr %t19 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3998) %t60 = load ptr, ptr %t25 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3999) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 %t64 = call ptr @lp_str_concat(ptr @.str4000, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4001) %t66 = load ptr, ptr %t21 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4002) %t69 = load ptr, ptr %t27 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str4003) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 %t73 = call ptr @lp_str_concat(ptr @.str4004, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4005) %t75 = load ptr, ptr %t23 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4006) %t78 = load ptr, ptr %t29 %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4007) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 %t82 = call ptr @lp_str_concat(ptr @.str4008, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4009) %t84 = load ptr, ptr %t15 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4010) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str4011) call void @fn_emith(ptr @.str4012) call void @fn_emith(ptr @.str4013) call void @fn_emith(ptr @.str4014) call void @fn_emith(ptr @.str4015) call void @fn_emith(ptr @.str4016) call void @fn_emith(ptr @.str4017) call void @fn_emith(ptr @.str4018) call void @fn_emith(ptr @.str4019) %t87 = load ptr, ptr %t17 %t88 = call ptr @lp_str_concat(ptr @.str4020, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4021) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 %t91 = call ptr @lp_str_concat(ptr @.str4022, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4023) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 %t94 = call ptr @lp_str_concat(ptr @.str4024, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4025) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 %t97 = call ptr @lp_str_concat(ptr @.str4026, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4027) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str4028) call void @fn_emith(ptr @.str4029) call void @fn_emith(ptr @.str4030) call void @fn_emith(ptr @.str4031) 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 @.str4032) %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 @.str4033) %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 @.str4034) %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 @.str4035) %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 @.str4036) %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 @.str4037) %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 @.str4038) %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 @.str4039) %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 @.str4040) %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 %t13 = alloca ptr %t20 = alloca ptr %t37 = alloca ptr %t56 = alloca ptr %t75 = alloca ptr %t84 = alloca ptr %t108 = alloca ptr %t127 = alloca ptr %t146 = alloca ptr %t165 = alloca ptr %t174 = alloca ptr %t195 = 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 @.str4041) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str4042, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4043) %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 @.str4044, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4045) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str4046) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4047) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t33, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str4048, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4049) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str4050) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str4051) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: %t48 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t52, 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 @.str4052, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4053) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str4054) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str4055) %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 ptr, ptr %t71, i32 0 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_emit_expr(ptr %t73) store ptr %t74, ptr %t75 %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 = getelementptr inbounds ptr, ptr %t80, i32 1 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_emit_expr(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t75 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = call ptr @lp_str_concat(ptr @.str4056, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4057) %t90 = load ptr, ptr %t84 %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 @.str4058) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str4059) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str4060) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: %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 ptr, ptr %t104, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_emit_expr(ptr %t106) store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = call ptr @lp_str_concat(ptr @.str4061, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4062) %t114 = call ptr @fn_emit_bind(ptr %t113) %t115 = call ptr @fn_val(ptr %t114, ptr @.str4063) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str4064) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: %t119 = load ptr, ptr %t1 %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 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds ptr, ptr %t123, i32 0 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_emit_expr(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @lp_str_concat(ptr @.str4065, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4066) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str4067) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str4068) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then18, label %ifend20 then18: %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 ptr, ptr %t142, i32 0 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_emit_expr(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = call ptr @lp_str_concat(ptr @.str4069, ptr %t149) %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str4070) %t152 = call ptr @fn_emit_bind(ptr %t151) %t153 = call ptr @fn_val(ptr %t152, ptr @.str4071) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str4072) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then21, label %ifend23 then21: %t157 = load ptr, ptr %t1 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds ptr, ptr %t161, i32 0 %t163 = load ptr, ptr %t162 %t164 = call ptr @fn_emit_expr(ptr %t163) store ptr %t164, ptr %t165 %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 ptr, ptr %t170, i32 1 %t172 = load ptr, ptr %t171 %t173 = call ptr @fn_emit_expr(ptr %t172) store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t165 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = call ptr @lp_str_concat(ptr @.str4073, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str4074) %t180 = load ptr, ptr %t174 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = call ptr @lp_str_concat(ptr %t179, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str4075) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str4076) store ptr %t186, ptr %retval br label %ret ifend23: %t187 = load ptr, ptr %t1 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds ptr, ptr %t191, i32 0 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_emit_expr(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @lp_str_concat(ptr @.str4077, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str4078) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = call ptr @fn_val(ptr %t201, ptr @.str4079) store ptr %t202, ptr %retval br label %ret ret: %t203 = load ptr, ptr %retval ret ptr %t203 } 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 @.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) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: 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_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) call void @fn_emith(ptr @.str4187) call void @fn_emith(ptr @.str4188) call void @fn_emith(ptr @.str4189) call void @fn_emith(ptr @.str4190) call void @fn_emith(ptr @.str4191) call void @fn_emith(ptr @.str4192) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str4193) call void @fn_emith(ptr @.str4194) call void @fn_emith(ptr @.str4195) call void @fn_emith(ptr @.str4196) call void @fn_emith(ptr @.str4197) call void @fn_emith(ptr @.str4198) call void @fn_emith(ptr @.str4199) call void @fn_emith(ptr @.str4200) call void @fn_emith(ptr @.str4201) call void @fn_emith(ptr @.str4202) call void @fn_emith(ptr @.str4203) call void @fn_emith(ptr @.str4204) call void @fn_emith(ptr @.str4205) call void @fn_emith(ptr @.str4206) call void @fn_emith(ptr @.str4207) call void @fn_emith(ptr @.str4208) call void @fn_emith(ptr @.str4209) call void @fn_emith(ptr @.str4210) call void @fn_emith(ptr @.str4211) call void @fn_emith(ptr @.str4212) call void @fn_emith(ptr @.str4213) call void @fn_emith(ptr @.str4214) call void @fn_emith(ptr @.str4215) call void @fn_emith(ptr @.str4216) call void @fn_emith(ptr @.str4217) call void @fn_emith(ptr @.str4218) call void @fn_emith(ptr @.str4219) call void @fn_emith(ptr @.str4220) call void @fn_emith(ptr @.str4221) call void @fn_emith(ptr @.str4222) call void @fn_emith(ptr @.str4223) call void @fn_emith(ptr @.str4224) call void @fn_emith(ptr @.str4225) call void @fn_emith(ptr @.str4226) call void @fn_emith(ptr @.str4227) call void @fn_emith(ptr @.str4228) call void @fn_emith(ptr @.str4229) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: call void @fn_emith(ptr @.str4230) call void @fn_emith(ptr @.str4231) call void @fn_emith(ptr @.str4232) call void @fn_emith(ptr @.str4233) call void @fn_emith(ptr @.str4234) call void @fn_emith(ptr @.str4235) call void @fn_emith(ptr @.str4236) call void @fn_emith(ptr @.str4237) call void @fn_emith(ptr @.str4238) call void @fn_emith(ptr @.str4239) call void @fn_emith(ptr @.str4240) call void @fn_emith(ptr @.str4241) call void @fn_emith(ptr @.str4242) call void @fn_emith(ptr @.str4243) call void @fn_emith(ptr @.str4244) call void @fn_emith(ptr @.str4245) call void @fn_emith(ptr @.str4246) call void @fn_emith(ptr @.str4247) call void @fn_emith(ptr @.str4248) 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 @.str4249) %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 @.str4250) %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 @.str4251) %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 @.str4252) %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 @.str4253) %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 @.str4254) %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 @.str4255) %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 @.str4256) %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 @.str4257) %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 @.str4258) %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 @.str4259) %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 @.str4260) %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 @.str4261) %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 @.str4262) %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 @.str4263) %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 @.str4264) %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 @.str4265) %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 @.str4266) %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 %t10 = alloca ptr %t89 = 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 ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str4267) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str4268, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4269) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4270) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4271) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = call ptr @lp_str_concat(ptr @.str4272, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4273) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4274) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4275) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load ptr, ptr %t10 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @lp_str_concat(ptr @.str4276, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4277) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4278) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4279) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr %t10 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str4280, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4281) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4282) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4283) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: %t54 = load ptr, ptr %t10 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str4284, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4285) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4286) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str4287) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then15, label %ifend17 then15: %t64 = load ptr, ptr %t10 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @lp_str_concat(ptr @.str4288, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4289) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str4290) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str4291) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then18, label %ifend20 then18: %t74 = load ptr, ptr %t10 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr @.str4292, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4293) %t79 = call ptr @fn_emit_bind(ptr %t78) %t80 = call ptr @fn_val(ptr %t79, ptr @.str4294) store ptr %t80, ptr %retval br label %ret ifend20: %t81 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t85, i32 1 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str4295) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then21, label %ifend23 then21: %t93 = load ptr, ptr %t10 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr @.str4296, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4297) %t98 = load ptr, ptr %t89 %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 @.str4298) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str4299) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str4300) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: %t108 = load ptr, ptr %t10 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr @.str4301, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4302) %t113 = load ptr, ptr %t89 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str4303) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str4304) store ptr %t119, ptr %retval br label %ret ifend26: %t120 = load ptr, ptr %t10 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = call ptr @lp_str_concat(ptr @.str4305, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str4306) %t125 = load ptr, ptr %t89 %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 @lp_str_concat(ptr %t128, ptr @.str4307) %t130 = call ptr @fn_emit_bind(ptr %t129) %t131 = call ptr @fn_val(ptr %t130, ptr @.str4308) store ptr %t131, ptr %retval br label %ret ret: %t132 = load ptr, ptr %retval ret ptr %t132 } define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr %t69 = 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 ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str4309) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str4310, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4311) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4312) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4313) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = call ptr @lp_str_concat(ptr @.str4314, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4315) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4316) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4317) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load ptr, ptr %t10 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @lp_str_concat(ptr @.str4318, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4319) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4320) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4321) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr %t10 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str4322, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4323) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4324) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4325) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: %t54 = load ptr, ptr %t10 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str4326, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4327) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4328) store ptr %t60, ptr %retval br label %ret ifend14: %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 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds ptr, ptr %t65, i32 1 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t10 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = call ptr @lp_str_concat(ptr @.str4329, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4330) %t75 = load ptr, ptr %t69 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @lp_str_concat(ptr %t74, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str4331) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str4332) store ptr %t81, ptr %retval br label %ret ret: %t82 = load ptr, ptr %retval ret ptr %t82 } define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = 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 ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str4333) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str4334, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4335) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4336) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @lp_str_concat(ptr @.str4337, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4338) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str4339) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } 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 @.str4340) call void @fn_emith(ptr @.str4341) call void @fn_emith(ptr @.str4342) call void @fn_emith(ptr @.str4343) call void @fn_emith(ptr @.str4344) call void @fn_emith(ptr @.str4345) call void @fn_emith(ptr @.str4346) 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 @.str4347) call void @fn_emith(ptr @.str4348) call void @fn_emith(ptr @.str4349) call void @fn_emith(ptr @.str4350) call void @fn_emith(ptr @.str4351) call void @fn_emith(ptr @.str4352) call void @fn_emith(ptr @.str4353) call void @fn_emith(ptr @.str4354) call void @fn_emith(ptr @.str4355) call void @fn_emith(ptr @.str4356) call void @fn_emith(ptr @.str4357) call void @fn_emith(ptr @.str4358) call void @fn_emith(ptr @.str4359) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: call void @fn_emith(ptr @.str4360) call void @fn_emith(ptr @.str4361) call void @fn_emith(ptr @.str4362) call void @fn_emith(ptr @.str4363) call void @fn_emith(ptr @.str4364) call void @fn_emith(ptr @.str4365) call void @fn_emith(ptr @.str4366) call void @fn_emith(ptr @.str4367) call void @fn_emith(ptr @.str4368) call void @fn_emith(ptr @.str4369) call void @fn_emith(ptr @.str4370) call void @fn_emith(ptr @.str4371) call void @fn_emith(ptr @.str4372) call void @fn_emith(ptr @.str4373) call void @fn_emith(ptr @.str4374) call void @fn_emith(ptr @.str4375) call void @fn_emith(ptr @.str4376) call void @fn_emith(ptr @.str4377) call void @fn_emith(ptr @.str4378) call void @fn_emith(ptr @.str4379) call void @fn_emith(ptr @.str4380) call void @fn_emith(ptr @.str4381) call void @fn_emith(ptr @.str4382) call void @fn_emith(ptr @.str4383) call void @fn_emith(ptr @.str4384) call void @fn_emith(ptr @.str4385) call void @fn_emith(ptr @.str4386) call void @fn_emith(ptr @.str4387) call void @fn_emith(ptr @.str4388) 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) call void @fn_emith(ptr @.str4401) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str4402) call void @fn_emith(ptr @.str4403) 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) call void @fn_emith(ptr @.str4409) call void @fn_emith(ptr @.str4410) call void @fn_emith(ptr @.str4411) call void @fn_emith(ptr @.str4412) call void @fn_emith(ptr @.str4413) call void @fn_emith(ptr @.str4414) call void @fn_emith(ptr @.str4415) call void @fn_emith(ptr @.str4416) 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) call void @fn_emith(ptr @.str4422) call void @fn_emith(ptr @.str4423) call void @fn_emith(ptr @.str4424) call void @fn_emith(ptr @.str4425) call void @fn_emith(ptr @.str4426) call void @fn_emith(ptr @.str4427) call void @fn_emith(ptr @.str4428) call void @fn_emith(ptr @.str4429) call void @fn_emith(ptr @.str4430) call void @fn_emith(ptr @.str4431) call void @fn_emith(ptr @.str4432) call void @fn_emith(ptr @.str4433) call void @fn_emith(ptr @.str4434) call void @fn_emith(ptr @.str4435) call void @fn_emith(ptr @.str4436) call void @fn_emith(ptr @.str4437) call void @fn_emith(ptr @.str4438) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: 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) call void @fn_emith(ptr @.str4446) call void @fn_emith(ptr @.str4447) call void @fn_emith(ptr @.str4448) call void @fn_emith(ptr @.str4449) call void @fn_emith(ptr @.str4450) call void @fn_emith(ptr @.str4451) call void @fn_emith(ptr @.str4452) call void @fn_emith(ptr @.str4453) call void @fn_emith(ptr @.str4454) call void @fn_emith(ptr @.str4455) call void @fn_emith(ptr @.str4456) call void @fn_emith(ptr @.str4457) call void @fn_emith(ptr @.str4458) call void @fn_emith(ptr @.str4459) call void @fn_emith(ptr @.str4460) call void @fn_emith(ptr @.str4461) call void @fn_emith(ptr @.str4462) call void @fn_emith(ptr @.str4463) call void @fn_emith(ptr @.str4464) call void @fn_emith(ptr @.str4465) call void @fn_emith(ptr @.str4466) call void @fn_emith(ptr @.str4467) call void @fn_emith(ptr @.str4468) call void @fn_emith(ptr @.str4469) call void @fn_emith(ptr @.str4470) call void @fn_emith(ptr @.str4471) call void @fn_emith(ptr @.str4472) call void @fn_emith(ptr @.str4473) call void @fn_emith(ptr @.str4474) call void @fn_emith(ptr @.str4475) call void @fn_emith(ptr @.str4476) call void @fn_emith(ptr @.str4477) call void @fn_emith(ptr @.str4478) call void @fn_emith(ptr @.str4479) call void @fn_emith(ptr @.str4480) call void @fn_emith(ptr @.str4481) call void @fn_emith(ptr @.str4482) call void @fn_emith(ptr @.str4483) call void @fn_emith(ptr @.str4484) call void @fn_emith(ptr @.str4485) call void @fn_emith(ptr @.str4486) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: call void @fn_emith(ptr @.str4487) call void @fn_emith(ptr @.str4488) call void @fn_emith(ptr @.str4489) call void @fn_emith(ptr @.str4490) call void @fn_emith(ptr @.str4491) call void @fn_emith(ptr @.str4492) call void @fn_emith(ptr @.str4493) call void @fn_emith(ptr @.str4494) call void @fn_emith(ptr @.str4495) call void @fn_emith(ptr @.str4496) call void @fn_emith(ptr @.str4497) call void @fn_emith(ptr @.str4498) call void @fn_emith(ptr @.str4499) call void @fn_emith(ptr @.str4500) call void @fn_emith(ptr @.str4501) call void @fn_emith(ptr @.str4502) call void @fn_emith(ptr @.str4503) call void @fn_emith(ptr @.str4504) call void @fn_emith(ptr @.str4505) call void @fn_emith(ptr @.str4506) call void @fn_emith(ptr @.str4507) call void @fn_emith(ptr @.str4508) call void @fn_emith(ptr @.str4509) call void @fn_emith(ptr @.str4510) 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 %t1003 = alloca ptr %t1007 = 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 @.str4511, 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 @.str4512, 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 @.str4513, 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 @.str4514, 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 @.str4515, 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 @.str4516, 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 @.str4517, 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 @.str4518, 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 @.str4519, 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 @.str4520, 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 @.str4521, 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 @.str4522, 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 @.str4523, 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 @.str4524, 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 @.str4525, 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 @.str4526, 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 @.str4527, 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 @.str4528, 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 @.str4529, 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 @.str4530, 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 @.str4531, 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 @.str4532, 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 @.str4533, 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 @.str4534, 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 @.str4535, 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 @.str4536, 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 @.str4537, 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 @.str4538, 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 @.str4539, 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 @.str4540, 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 @.str4541, 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 @.str4542, 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 @.str4543, 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 @.str4544, 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 @.str4545, 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 @.str4546, 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 @.str4547, 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 @.str4548, 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 @.str4549, 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 @.str4550, 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 @.str4551, 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 @.str4552, 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 @.str4553, 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 @.str4554, 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 @.str4555, 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 @.str4556, 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 @.str4557, 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 @.str4558, 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 ptr, ptr %t951, i32 %t952 %t954 = load ptr, ptr %t953 %t955 = call ptr @fn_emit_str_const(ptr %t954) %t956 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t957 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t958 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t959 = load i32, ptr %t956 %t960 = load i32, ptr %t957 %t961 = icmp sge i32 %t959, %t960 br i1 %t961, label %grow99, label %put100 grow99: %t962 = mul i32 %t960, 2 %t963 = icmp eq i32 %t960, 0 %t964 = select i1 %t963, i32 8, i32 %t962 %t965 = getelementptr ptr, ptr null, i32 1 %t966 = ptrtoint ptr %t965 to i64 %t967 = zext i32 %t964 to i64 %t968 = mul i64 %t967, %t966 %t969 = load ptr, ptr %t958 %t970 = call ptr @realloc(ptr %t969, i64 %t968) store ptr %t970, ptr %t958 store i32 %t964, ptr %t957 br label %put100 put100: %t971 = load ptr, ptr %t958 %t972 = getelementptr inbounds ptr, ptr %t971, i32 %t959 store ptr %t955, ptr %t972 %t973 = add i32 %t959, 1 store i32 %t973, ptr %t956 %t974 = load ptr, ptr %t939 %t975 = load ptr, ptr %t13 %t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0 %t977 = load ptr, ptr %t976 %t978 = load i32, ptr %t940 %t979 = getelementptr inbounds ptr, ptr %t977, i32 %t978 %t980 = load ptr, ptr %t979 %t981 = call ptr @fn_emit_str_const(ptr %t980) %t982 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1 %t983 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2 %t984 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0 %t985 = load i32, ptr %t982 %t986 = load i32, ptr %t983 %t987 = icmp sge i32 %t985, %t986 br i1 %t987, label %grow101, label %put102 grow101: %t988 = mul i32 %t986, 2 %t989 = icmp eq i32 %t986, 0 %t990 = select i1 %t989, i32 8, i32 %t988 %t991 = getelementptr ptr, ptr null, i32 1 %t992 = ptrtoint ptr %t991 to i64 %t993 = zext i32 %t990 to i64 %t994 = mul i64 %t993, %t992 %t995 = load ptr, ptr %t984 %t996 = call ptr @realloc(ptr %t995, i64 %t994) store ptr %t996, ptr %t984 store i32 %t990, ptr %t983 br label %put102 put102: %t997 = load ptr, ptr %t984 %t998 = getelementptr inbounds ptr, ptr %t997, i32 %t985 store ptr %t981, ptr %t998 %t999 = add i32 %t985, 1 store i32 %t999, ptr %t982 %t1000 = load i32, ptr %t940 %t1001 = add i32 %t1000, 1 store i32 %t1001, ptr %t940 br label %wcond96 wend98: %t1002 = call ptr @fn_emit_str_const(ptr @.str4559) store ptr %t1002, ptr %t1003 %t1004 = load ptr, ptr %t6 %t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1 %t1006 = load i32, ptr %t1005 store i32 %t1006, ptr %t1007 %t1008 = load i32, ptr %t1007 %t1009 = call ptr @fn_itoa(i32 %t1008) %t1010 = call ptr @lp_str_concat(ptr @.str4560, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4561) call void @fn_emith(ptr %t1011) store i32 0, ptr %t940 br label %wcond103 wcond103: %t1012 = load i32, ptr %t940 %t1013 = load ptr, ptr %t6 %t1014 = getelementptr inbounds %LSlice, ptr %t1013, i32 0, i32 1 %t1015 = load i32, ptr %t1014 %t1016 = icmp slt i32 %t1012, %t1015 %t1017 = zext i1 %t1016 to i32 %t1018 = icmp ne i32 %t1017, 0 br i1 %t1018, label %wbody104, label %wend105 wbody104: %t1019 = load i32, ptr %t940 %t1020 = icmp sgt i32 %t1019, 0 %t1021 = zext i1 %t1020 to i32 %t1022 = icmp ne i32 %t1021, 0 br i1 %t1022, label %then106, label %ifend108 then106: call void @fn_emith(ptr @.str4562) br label %ifend108 ifend108: %t1023 = load ptr, ptr %t932 %t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0 %t1025 = load ptr, ptr %t1024 %t1026 = load i32, ptr %t940 %t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026 %t1028 = load ptr, ptr %t1027 %t1029 = call ptr @lp_str_concat(ptr @.str4563, ptr %t1028) %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4564) %t1031 = load ptr, ptr %t939 %t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0 %t1033 = load ptr, ptr %t1032 %t1034 = load i32, ptr %t940 %t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034 %t1036 = load ptr, ptr %t1035 %t1037 = call ptr @lp_str_concat(ptr %t1030, ptr %t1036) %t1038 = call ptr @lp_str_concat(ptr %t1037, ptr @.str4565) call void @fn_emith(ptr %t1038) %t1039 = load i32, ptr %t940 %t1040 = add i32 %t1039, 1 store i32 %t1040, ptr %t940 br label %wcond103 wend105: call void @fn_emith(ptr @.str4566) call void @fn_emith(ptr @.str4567) call void @fn_emith(ptr @.str4568) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) %t1043 = call ptr @lp_str_concat(ptr @.str4569, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4570) call void @fn_emith(ptr %t1044) %t1045 = load i32, ptr %t1007 %t1046 = call ptr @fn_itoa(i32 %t1045) %t1047 = call ptr @lp_str_concat(ptr @.str4571, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4572) call void @fn_emith(ptr %t1048) %t1049 = load i32, ptr %t1007 %t1050 = call ptr @fn_itoa(i32 %t1049) %t1051 = call ptr @lp_str_concat(ptr @.str4573, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4574) call void @fn_emith(ptr %t1052) call void @fn_emith(ptr @.str4575) %t1053 = load ptr, ptr %t1003 %t1054 = call ptr @lp_str_concat(ptr @.str4576, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4577) call void @fn_emith(ptr %t1055) 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_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: 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) 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) 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 @.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) br label %ifend2 ifend2: 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) %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 @.str4625) call void @fn_emith(ptr @.str4626) call void @fn_emith(ptr @.str4627) 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 @.str4628) call void @fn_emith(ptr @.str4629) br label %ret ret: ret void } define void @fn_emit_pak_mount() { 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) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: 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_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) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: 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) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str4682) call void @fn_emith(ptr @.str4683) call void @fn_emith(ptr @.str4684) call void @fn_emith(ptr @.str4685) call void @fn_emith(ptr @.str4686) call void @fn_emith(ptr @.str4687) call void @fn_emith(ptr @.str4688) call void @fn_emith(ptr @.str4689) call void @fn_emith(ptr @.str4690) call void @fn_emith(ptr @.str4691) call void @fn_emith(ptr @.str4692) call void @fn_emith(ptr @.str4693) call void @fn_emith(ptr @.str4694) call void @fn_emith(ptr @.str4695) call void @fn_emith(ptr @.str4696) call void @fn_emith(ptr @.str4697) call void @fn_emith(ptr @.str4698) call void @fn_emith(ptr @.str4699) call void @fn_emith(ptr @.str4700) call void @fn_emith(ptr @.str4701) call void @fn_emith(ptr @.str4702) call void @fn_emith(ptr @.str4703) call void @fn_emith(ptr @.str4704) call void @fn_emith(ptr @.str4705) call void @fn_emith(ptr @.str4706) call void @fn_emith(ptr @.str4707) call void @fn_emith(ptr @.str4708) call void @fn_emith(ptr @.str4709) call void @fn_emith(ptr @.str4710) call void @fn_emith(ptr @.str4711) call void @fn_emith(ptr @.str4712) call void @fn_emith(ptr @.str4713) call void @fn_emith(ptr @.str4714) %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 @.str4715) call void @fn_emith(ptr @.str4716) br label %ifend2 else1: call void @fn_emith(ptr @.str4717) call void @fn_emith(ptr @.str4718) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4719) call void @fn_emith(ptr @.str4720) call void @fn_emith(ptr @.str4721) call void @fn_emith(ptr @.str4722) call void @fn_emith(ptr @.str4723) call void @fn_emith(ptr @.str4724) call void @fn_emith(ptr @.str4725) call void @fn_emith(ptr @.str4726) call void @fn_emith(ptr @.str4727) call void @fn_emith(ptr @.str4728) %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 @.str4729) br label %ifend5 ifend5: call void @fn_emith(ptr @.str4730) call void @fn_emith(ptr @.str4731) %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 @.str4732) call void @fn_emith(ptr @.str4733) call void @fn_emith(ptr @.str4734) call void @fn_emith(ptr @.str4735) call void @fn_emith(ptr @.str4736) call void @fn_emith(ptr @.str4737) call void @fn_emith(ptr @.str4738) call void @fn_emith(ptr @.str4739) call void @fn_emith(ptr @.str4740) call void @fn_emith(ptr @.str4741) call void @fn_emith(ptr @.str4742) call void @fn_emith(ptr @.str4743) call void @fn_emith(ptr @.str4744) call void @fn_emith(ptr @.str4745) call void @fn_emith(ptr @.str4746) call void @fn_emith(ptr @.str4747) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: call void @fn_emith(ptr @.str4748) call void @fn_emith(ptr @.str4749) call void @fn_emith(ptr @.str4750) call void @fn_emith(ptr @.str4751) call void @fn_emith(ptr @.str4752) call void @fn_emith(ptr @.str4753) call void @fn_emith(ptr @.str4754) call void @fn_emith(ptr @.str4755) call void @fn_emith(ptr @.str4756) call void @fn_emith(ptr @.str4757) call void @fn_emith(ptr @.str4758) call void @fn_emith(ptr @.str4759) call void @fn_emith(ptr @.str4760) call void @fn_emith(ptr @.str4761) call void @fn_emith(ptr @.str4762) call void @fn_emith(ptr @.str4763) call void @fn_emith(ptr @.str4764) call void @fn_emith(ptr @.str4765) call void @fn_emith(ptr @.str4766) call void @fn_emith(ptr @.str4767) call void @fn_emith(ptr @.str4768) call void @fn_emith(ptr @.str4769) call void @fn_emith(ptr @.str4770) call void @fn_emith(ptr @.str4771) call void @fn_emith(ptr @.str4772) call void @fn_emith(ptr @.str4773) call void @fn_emith(ptr @.str4774) call void @fn_emith(ptr @.str4775) call void @fn_emith(ptr @.str4776) call void @fn_emith(ptr @.str4777) call void @fn_emith(ptr @.str4778) call void @fn_emith(ptr @.str4779) call void @fn_emith(ptr @.str4780) call void @fn_emith(ptr @.str4781) call void @fn_emith(ptr @.str4782) call void @fn_emith(ptr @.str4783) call void @fn_emith(ptr @.str4784) 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 @.str4785) call void @fn_emith(ptr @.str4786) call void @fn_emith(ptr @.str4787) call void @fn_emith(ptr @.str4788) 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) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: 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) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: 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_emith(ptr @.str4844) call void @fn_emith(ptr @.str4845) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: 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) 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 @.str4857) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str4858) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str4859) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str4860) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str4861) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str4862) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str4863) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str4864, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4865) %t19 = load ptr, ptr %t0 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4866) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str4867) call void @fn_emith(ptr @.str4868) call void @fn_emith(ptr @.str4869) call void @fn_emith(ptr @.str4870) %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str4871, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4872) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 %t26 = call ptr @lp_str_concat(ptr @.str4873, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4874) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = call ptr @lp_str_concat(ptr @.str4875, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str4876) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 %t32 = call ptr @lp_str_concat(ptr @.str4877, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4878) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 %t35 = call ptr @lp_str_concat(ptr @.str4879, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4880) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4881) %t40 = load ptr, ptr %t11 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4882) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 %t44 = call ptr @lp_str_concat(ptr @.str4883, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4884) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 %t47 = call ptr @lp_str_concat(ptr @.str4885, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4886) call void @fn_emith(ptr %t48) 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) 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 @.str4894, 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 @.str4895, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4896) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4897) %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 @.str4898) %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 @.str4899) %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 @.str4900) %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 @.str4901) %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 @.str4902) %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 @.str4903) %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 @.str4904) %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 @.str4905) %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 @.str4906) %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 @.str4907) %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 @.str4908) %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 @.str4909) %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 @.str4910) %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 @.str4911) %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 @.str4912) %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 @.str4913) %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 @.str4914) %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 @.str4915) %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 @.str4916, 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 @.str4917, 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 @.str4918, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4919) %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 @.str4920) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str4921) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4922) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4923) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4924) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str4925) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str4926) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str4927, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4928) %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 @.str4929, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4930) %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 @.str4931, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4932) %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 @.str4933, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4934) %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 @.str4935, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4936) %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 @.str4937, 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 @.str4938, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4939) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4940) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str4941) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str4942) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4943) call void @fn_emit(ptr @.str4944) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4945) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str4946) call void @fn_emit(ptr @.str4947) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str4948) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str4949) 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 @.str4950, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4951) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4952) %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 @.str4953, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4954) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4955) %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 @.str4956, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4957) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4958) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4959) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4960) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4961) %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 @.str4962, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4963) %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 @.str4964, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4965) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4966) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4967) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4968) %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 @.str4969, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4970) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4971) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4972) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4973) %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 @.str4974, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4975) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4976) %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 @.str4977, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4978) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4979) %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 @.str4980, 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 @.str4981, 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 @.str4982, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4983) %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 @.str4984, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4985) %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 @.str4986, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4987) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str4988) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4989, ptr @.str4990, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str4991) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str4992) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str4993) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str4994) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str4995) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str4996) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str4997, 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 @.str4998, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4999) %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 @.str5000) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str5001) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str5002) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str5003) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str5004) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str5005, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5006) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str5007) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str5008, ptr @.str5009, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str5010) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str5011) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str5012) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str5013) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str5014) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str5015) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str5016, 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 @.str5017, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str5018) %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 @.str5019) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str5020) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str5021) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str5022) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str5023) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str5024, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5025) %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 @.str5026, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5027) %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 @.str5028, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5029) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5030) %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 @.str5031, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5032) %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 @.str5033, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5034) %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 @.str5035, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str5036) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5037) %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 @.str5038) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5039, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str5040) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5041, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str5042) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5043, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str5044) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str5045) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str5046) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str5047) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str5048) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str5049) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str5050, 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 @.str5051, 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 @.str5052, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5053) %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 @.str5054, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str5055) %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 @.str5056, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str5057) %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 @.str5058) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str5059) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str5060) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str5061) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str5062) %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 @.str5063, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str5064) %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 @.str5065, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str5066) %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 @.str5067, 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 @.str5068) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str5069) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str5070) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str5071) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str5072) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str5073) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str5074) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str5075) call void @fn_emit(ptr @.str5076) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str5077) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str5078) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str5079) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str5080, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5081) %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 @.str5082, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str5083) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str5084) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str5085) call void @fn_emit(ptr @.str5086) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str5087) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str5088) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str5089) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str5090, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5091) %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 @.str5092, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str5093) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str5094) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str5095) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str5096, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5097) %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 @.str5098, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str5099) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str5100) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str5101) %t281 = call ptr @fn_lbl(ptr @.str5102) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str5103) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str5104) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str5105) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str5106) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str5107) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str5108, 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 @.str5109, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str5110) %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 @.str5111) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5112) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5113) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str5114) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str5115) %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 @.str5116, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5117) %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 @.str5118, 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 @.str5119) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str5120) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str5121) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str5122) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str5123, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str5124) %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 @.str5125, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str5126, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str5127) %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 @.str5128, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str5129) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str5130) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str5131) %t344 = call ptr @fn_lbl(ptr @.str5132) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str5133) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str5134) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str5135) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str5136) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str5137) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str5138, 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 @.str5139, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str5140) %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 @.str5141) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str5142) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str5143) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str5144) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str5145) %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 @.str5146, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5147) %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 @.str5148, 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 @.str5149) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str5150) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str5151) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str5152) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str5153, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str5154) %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 @.str5155, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str5156, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5157) %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 @.str5158, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str5159) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str5160) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str5161) %t407 = call ptr @fn_emit_alloca(ptr @.str5162) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str5163, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str5164) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str5165) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str5166) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str5167) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str5168) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str5169) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str5170, 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 @.str5171, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str5172) %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 @.str5173) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str5174) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str5175) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5176) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5177) %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 @.str5178, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str5179) %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 @.str5180) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str5181) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str5182) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str5183) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str5184, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str5185) %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 @.str5186, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str5187) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str5188) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str5189) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str5190, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str5191) %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 @.str5192, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str5193) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str5194) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str5195) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5196, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str5197) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str5198) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str5199) call void @fn_emit(ptr @.str5200) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str5201) 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 %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 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 @.str5202, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5203) 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 ptr, ptr %t17, i32 1 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 33 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %t25 = load ptr, ptr %t0 %t26 = call ptr @lp_str_concat(ptr @.str5204, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5205) call void @fn_perr(ptr %t27) br label %ifend5 ifend5: %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 ptr, ptr %t32, i32 1 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_find_fn(ptr %t38) %t40 = icmp eq ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then6, label %ifend8 then6: %t43 = load ptr, ptr %t0 %t44 = call ptr @lp_str_concat(ptr @.str5206, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5207) %t46 = load ptr, ptr %t37 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5208) call void @fn_perr(ptr %t48) br label %ifend8 ifend8: %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_list_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t23 = alloca ptr %t32 = alloca ptr %t57 = alloca ptr %t72 = alloca ptr %t75 = alloca ptr %t79 = alloca ptr %t82 = alloca ptr %t94 = alloca ptr %t109 = alloca ptr %t114 = alloca ptr %t119 = alloca ptr %t134 = alloca ptr %t139 = alloca ptr %t144 = alloca ptr %t151 = alloca ptr %t168 = alloca ptr %t177 = alloca ptr %t184 = alloca ptr %t191 = alloca ptr %t198 = alloca ptr %t205 = alloca ptr %t213 = alloca i32 %t232 = alloca ptr %t236 = alloca ptr %t238 = alloca ptr %t241 = alloca ptr %t244 = alloca ptr %t246 = alloca ptr %t248 = alloca ptr %t250 = alloca ptr %t252 = alloca ptr %t258 = alloca ptr %t265 = alloca ptr %t274 = alloca ptr %t281 = alloca ptr %t293 = alloca ptr %t306 = alloca ptr %t314 = alloca ptr %t324 = alloca ptr %t341 = alloca ptr %t350 = alloca ptr %t356 = alloca ptr %t358 = alloca ptr %t362 = alloca ptr %t364 = alloca ptr %t366 = alloca ptr %t372 = alloca ptr %t381 = alloca ptr %t390 = alloca ptr %t395 = alloca ptr %t402 = alloca ptr %t407 = alloca ptr %t421 = alloca ptr %t431 = alloca ptr %t446 = alloca ptr %t450 = alloca ptr %t455 = alloca ptr %t457 = alloca ptr %t463 = alloca ptr %t465 = alloca ptr %t467 = alloca ptr %t473 = alloca ptr %t480 = alloca ptr %t489 = alloca ptr %t494 = alloca ptr %t501 = alloca ptr %t506 = alloca ptr %t528 = alloca ptr %t532 = alloca ptr %t534 = alloca ptr %t537 = alloca ptr %t540 = alloca ptr %t542 = alloca ptr %t544 = alloca ptr %t546 = alloca ptr %t548 = alloca ptr %t554 = alloca ptr %t561 = alloca ptr %t565 = alloca ptr %t570 = alloca ptr %t577 = alloca ptr %t586 = alloca ptr %t593 = alloca ptr %t605 = alloca ptr %t618 = alloca ptr %t626 = alloca ptr %t631 = alloca ptr %t633 = alloca ptr %t635 = alloca ptr %t644 = alloca ptr %t646 = alloca ptr %t650 = alloca ptr %t652 = alloca ptr %t654 = alloca ptr %t660 = alloca ptr %t667 = alloca ptr %t676 = alloca ptr %t681 = alloca ptr %t688 = alloca ptr %t693 = alloca ptr %t712 = alloca ptr %t717 = alloca ptr %t719 = alloca ptr %t721 = alloca ptr %t723 = alloca ptr %t731 = alloca ptr %t733 = alloca ptr %t736 = alloca ptr %t738 = alloca ptr %t740 = alloca ptr %t746 = alloca ptr %t753 = alloca ptr %t762 = alloca ptr %t769 = alloca ptr %t771 = alloca ptr %t776 = alloca ptr %t780 = alloca ptr %t782 = alloca ptr %t784 = alloca ptr %t790 = alloca ptr %t795 = alloca ptr %t800 = alloca ptr %t807 = alloca ptr %t817 = alloca ptr %t824 = alloca ptr %t833 = alloca ptr %t838 = alloca ptr %t846 = alloca ptr %t854 = alloca ptr %t859 = alloca ptr %t864 = alloca ptr %t872 = alloca ptr %t890 = alloca ptr %t906 = alloca i32 %t920 = alloca ptr %t923 = alloca ptr %t941 = alloca ptr %t942 = alloca i32 %t959 = alloca i32 %t972 = alloca ptr %t974 = alloca ptr %t977 = alloca ptr %t982 = alloca ptr %t986 = alloca ptr %t988 = alloca ptr %t990 = alloca ptr %t996 = alloca ptr %t1000 = alloca ptr %t1007 = alloca ptr %t1016 = alloca ptr %t1021 = alloca ptr %t1028 = alloca ptr %t1035 = alloca ptr %t1046 = alloca ptr %t1053 = 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 @.str5209) %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 @.str5210) %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 @.str5211) %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 ptr, ptr %t19, i32 0 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_emit_expr(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 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds ptr, ptr %t28, i32 1 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 %t33 = call ptr @fn_find_fn(ptr @.str5212) %t34 = icmp eq ptr %t33, null %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: call void @fn_perr(ptr @.str5213) br label %ifend11 ifend11: %t37 = load ptr, ptr %t23 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr @.str5214, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5215) %t42 = load ptr, ptr %t32 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5216) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str5217) store ptr %t48, ptr %retval br label %ret ifend8: %t49 = load ptr, ptr %t1 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds ptr, ptr %t53, i32 0 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_emit_expr(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @fn_is_slice_ty(ptr %t60) %t62 = icmp eq i32 %t61, 0 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: %t65 = load ptr, ptr %t0 %t66 = call ptr @lp_str_concat(ptr @.str5218, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5219) call void @fn_perr(ptr %t67) br label %ifend14 ifend14: %t68 = load ptr, ptr %t57 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_slice_elem(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_llty(ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t57 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_slice_field(ptr %t80, i32 1) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str5220) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str5221) %t86 = load ptr, ptr %t82 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str5222) %t87 = call ptr @fn_val(ptr @.str5223, ptr @.str5224) store ptr %t87, ptr %retval br label %ret ifend17: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str5225) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then18, label %ifend20 then18: %t91 = load ptr, ptr %t79 %t92 = load ptr, ptr %t75 %t93 = call ptr @fn_list_elem_addr(ptr %t91, ptr %t92, ptr @.str5226) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t75 %t96 = call ptr @lp_str_concat(ptr @.str5227, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5228) %t98 = load ptr, ptr %t94 %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) %t100 = call ptr @fn_emit_bind(ptr %t99) %t101 = load ptr, ptr %t72 %t102 = call ptr @fn_val(ptr %t100, ptr %t101) store ptr %t102, ptr %retval br label %ret ifend20: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str5229) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then21, label %ifend23 then21: %t106 = load ptr, ptr %t82 %t107 = call ptr @lp_str_concat(ptr @.str5230, 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 @.str5231, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5232) %t113 = call ptr @fn_emit_bind(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t79 %t116 = load ptr, ptr %t75 %t117 = load ptr, ptr %t114 %t118 = call ptr @fn_list_elem_addr(ptr %t115, ptr %t116, ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t75 %t121 = call ptr @lp_str_concat(ptr @.str5233, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5234) %t123 = load ptr, ptr %t119 %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) %t125 = call ptr @fn_emit_bind(ptr %t124) %t126 = load ptr, ptr %t72 %t127 = call ptr @fn_val(ptr %t125, ptr %t126) store ptr %t127, ptr %retval br label %ret ifend23: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str5235) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then24, label %ifend26 then24: %t131 = load ptr, ptr %t82 %t132 = call ptr @lp_str_concat(ptr @.str5236, ptr %t131) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr @.str5237, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str5238) %t138 = call ptr @fn_emit_bind(ptr %t137) store ptr %t138, ptr %t139 %t140 = load ptr, ptr %t79 %t141 = load ptr, ptr %t75 %t142 = load ptr, ptr %t139 %t143 = call ptr @fn_list_elem_addr(ptr %t140, ptr %t141, ptr %t142) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t75 %t146 = call ptr @lp_str_concat(ptr @.str5239, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5240) %t148 = load ptr, ptr %t144 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 call void @fn_emit(ptr @.str5241) %t152 = load ptr, ptr %t139 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str5242) %t153 = load ptr, ptr %t82 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str5243) %t154 = load ptr, ptr %t151 %t155 = load ptr, ptr %t72 %t156 = call ptr @fn_val(ptr %t154, ptr %t155) store ptr %t156, ptr %retval br label %ret ifend26: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str5244) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then27, label %ifend29 then27: %t160 = load ptr, ptr %t1 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds ptr, ptr %t164, i32 1 %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 ptr, ptr %t173, i32 2 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_emit_expr(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t79 %t179 = load ptr, ptr %t75 %t180 = load ptr, ptr %t168 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_list_elem_addr(ptr %t178, ptr %t179, ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t79 %t186 = load ptr, ptr %t75 %t187 = load ptr, ptr %t177 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = call ptr @fn_list_elem_addr(ptr %t185, ptr %t186, ptr %t189) store ptr %t190, ptr %t191 %t192 = load ptr, ptr %t75 %t193 = call ptr @lp_str_concat(ptr @.str5245, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str5246) %t195 = load ptr, ptr %t184 %t196 = call ptr @lp_str_concat(ptr %t194, ptr %t195) %t197 = call ptr @fn_emit_bind(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t75 %t200 = call ptr @lp_str_concat(ptr @.str5247, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str5248) %t202 = load ptr, ptr %t191 %t203 = call ptr @lp_str_concat(ptr %t201, ptr %t202) %t204 = call ptr @fn_emit_bind(ptr %t203) store ptr %t204, ptr %t205 call void @fn_emit(ptr @.str5249) %t206 = load ptr, ptr %t75 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str5250) %t207 = load ptr, ptr %t205 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str5251) %t208 = load ptr, ptr %t184 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str5252) call void @fn_emit(ptr @.str5253) %t209 = load ptr, ptr %t75 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str5254) %t210 = load ptr, ptr %t198 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str5255) %t211 = load ptr, ptr %t191 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str5256) %t212 = call ptr @fn_val(ptr @.str5257, ptr @.str5258) store ptr %t212, ptr %retval br label %ret ifend29: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str5259) %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t213 br i1 %t216, label %scend31, label %sc30 sc30: %t218 = load ptr, ptr %t0 %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str5260) %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t213 br label %scend31 scend31: %t222 = load i32, ptr %t213 %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then32, label %ifend34 then32: %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 ptr, ptr %t228, i32 1 %t230 = load ptr, ptr %t229 %t231 = call ptr @fn_emit_expr(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t82 %t234 = call ptr @lp_str_concat(ptr @.str5261, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = call ptr @fn_emit_alloca(ptr @.str5262) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5263, ptr @.str5264, ptr %t239) %t240 = call ptr @fn_emit_alloca(ptr @.str5265) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str5266, ptr @.str5267, ptr %t242) %t243 = call ptr @fn_lbl(ptr @.str5268) store ptr %t243, ptr %t244 %t245 = call ptr @fn_lbl(ptr @.str5269) store ptr %t245, ptr %t246 %t247 = call ptr @fn_lbl(ptr @.str5270) store ptr %t247, ptr %t248 %t249 = call ptr @fn_lbl(ptr @.str5271) store ptr %t249, ptr %t250 %t251 = call ptr @fn_lbl(ptr @.str5272) store ptr %t251, ptr %t252 call void @fn_emit(ptr @.str5273) %t253 = load ptr, ptr %t244 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str5274) %t254 = load ptr, ptr %t244 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str5275) %t255 = load ptr, ptr %t241 %t256 = call ptr @lp_str_concat(ptr @.str5276, ptr %t255) %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 @.str5277, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str5278) %t262 = load ptr, ptr %t236 %t263 = call ptr @lp_str_concat(ptr %t261, ptr %t262) %t264 = call ptr @fn_emit_bind(ptr %t263) store ptr %t264, ptr %t265 call void @fn_emit(ptr @.str5279) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str5280) %t267 = load ptr, ptr %t246 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str5281) %t268 = load ptr, ptr %t252 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str5282) %t269 = load ptr, ptr %t246 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str5283) %t270 = load ptr, ptr %t79 %t271 = load ptr, ptr %t75 %t272 = load ptr, ptr %t258 %t273 = call ptr @fn_list_elem_addr(ptr %t270, ptr %t271, ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t75 %t276 = call ptr @lp_str_concat(ptr @.str5284, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5285) %t278 = load ptr, ptr %t274 %t279 = call ptr @lp_str_concat(ptr %t277, ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t75 %t283 = call ptr @lp_str_concat(ptr @.str5286, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5287) %t285 = load ptr, ptr %t281 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5288) %t288 = load ptr, ptr %t232 %t289 = getelementptr inbounds %Cmp_Val, ptr %t288, i32 0, i32 0 %t290 = load ptr, ptr %t289 %t291 = call ptr @lp_str_concat(ptr %t287, ptr %t290) %t292 = call ptr @fn_emit_bind(ptr %t291) store ptr %t292, ptr %t293 call void @fn_emit(ptr @.str5289) %t294 = load ptr, ptr %t293 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str5290) %t295 = load ptr, ptr %t248 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str5291) %t296 = load ptr, ptr %t250 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str5292) %t297 = load ptr, ptr %t248 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str5293) %t298 = load ptr, ptr %t258 %t299 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5294, ptr %t298, ptr %t299) call void @fn_emit(ptr @.str5295) %t300 = load ptr, ptr %t252 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5296) %t301 = load ptr, ptr %t250 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5297) %t302 = load ptr, ptr %t258 %t303 = call ptr @lp_str_concat(ptr @.str5298, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5299) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 %t308 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str5300, ptr %t307, ptr %t308) call void @fn_emit(ptr @.str5301) %t309 = load ptr, ptr %t244 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str5302) %t310 = load ptr, ptr %t252 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str5303) %t311 = load ptr, ptr %t238 %t312 = call ptr @lp_str_concat(ptr @.str5304, ptr %t311) %t313 = call ptr @fn_emit_bind(ptr %t312) store ptr %t313, ptr %t314 %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str5305) %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then35, label %ifend37 then35: %t318 = load ptr, ptr %t314 %t319 = call ptr @fn_val(ptr %t318, ptr @.str5306) store ptr %t319, ptr %retval br label %ret ifend37: %t320 = load ptr, ptr %t314 %t321 = call ptr @lp_str_concat(ptr @.str5307, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str5308) %t323 = call ptr @fn_emit_bind(ptr %t322) store ptr %t323, ptr %t324 %t325 = load ptr, ptr %t324 %t326 = call ptr @lp_str_concat(ptr @.str5309, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str5310) %t328 = call ptr @fn_emit_bind(ptr %t327) %t329 = call ptr @fn_val(ptr %t328, ptr @.str5311) store ptr %t329, ptr %retval br label %ret ifend34: %t330 = load ptr, ptr %t0 %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str5312) %t332 = icmp ne i32 %t331, 0 br i1 %t332, label %then38, label %ifend40 then38: %t333 = load ptr, ptr %t1 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 7 %t335 = load ptr, ptr %t334 %t336 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 %t337 = load ptr, ptr %t336 %t338 = getelementptr inbounds ptr, ptr %t337, i32 1 %t339 = load ptr, ptr %t338 %t340 = call ptr @fn_emit_expr(ptr %t339) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t1 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 7 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds ptr, ptr %t346, i32 2 %t348 = load ptr, ptr %t347 %t349 = call ptr @fn_emit_expr(ptr %t348) store ptr %t349, ptr %t350 %t351 = load ptr, ptr %t79 %t352 = load ptr, ptr %t75 call void @fn_list_grow_if_full(ptr %t351, ptr %t352) %t353 = load ptr, ptr %t82 %t354 = call ptr @lp_str_concat(ptr @.str5313, ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = call ptr @fn_emit_alloca(ptr @.str5314) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t356 %t360 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5315, ptr %t359, ptr %t360) %t361 = call ptr @fn_lbl(ptr @.str5316) store ptr %t361, ptr %t362 %t363 = call ptr @fn_lbl(ptr @.str5317) store ptr %t363, ptr %t364 %t365 = call ptr @fn_lbl(ptr @.str5318) store ptr %t365, ptr %t366 call void @fn_emit(ptr @.str5319) %t367 = load ptr, ptr %t362 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str5320) %t368 = load ptr, ptr %t362 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str5321) %t369 = load ptr, ptr %t358 %t370 = call ptr @lp_str_concat(ptr @.str5322, ptr %t369) %t371 = call ptr @fn_emit_bind(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t372 %t374 = call ptr @lp_str_concat(ptr @.str5323, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str5324) %t376 = load ptr, ptr %t341 %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 %t378 = load ptr, ptr %t377 %t379 = call ptr @lp_str_concat(ptr %t375, ptr %t378) %t380 = call ptr @fn_emit_bind(ptr %t379) store ptr %t380, ptr %t381 call void @fn_emit(ptr @.str5325) %t382 = load ptr, ptr %t381 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str5326) %t383 = load ptr, ptr %t364 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str5327) %t384 = load ptr, ptr %t366 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str5328) %t385 = load ptr, ptr %t364 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str5329) %t386 = load ptr, ptr %t372 %t387 = call ptr @lp_str_concat(ptr @.str5330, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5331) %t389 = call ptr @fn_emit_bind(ptr %t388) store ptr %t389, ptr %t390 %t391 = load ptr, ptr %t79 %t392 = load ptr, ptr %t75 %t393 = load ptr, ptr %t390 %t394 = call ptr @fn_list_elem_addr(ptr %t391, ptr %t392, ptr %t393) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t75 %t397 = call ptr @lp_str_concat(ptr @.str5332, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str5333) %t399 = load ptr, ptr %t395 %t400 = call ptr @lp_str_concat(ptr %t398, ptr %t399) %t401 = call ptr @fn_emit_bind(ptr %t400) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t79 %t404 = load ptr, ptr %t75 %t405 = load ptr, ptr %t372 %t406 = call ptr @fn_list_elem_addr(ptr %t403, ptr %t404, ptr %t405) store ptr %t406, ptr %t407 call void @fn_emit(ptr @.str5334) %t408 = load ptr, ptr %t75 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str5335) %t409 = load ptr, ptr %t402 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str5336) %t410 = load ptr, ptr %t407 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str5337) %t411 = load ptr, ptr %t390 %t412 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5338, ptr %t411, ptr %t412) call void @fn_emit(ptr @.str5339) %t413 = load ptr, ptr %t362 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str5340) %t414 = load ptr, ptr %t366 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str5341) %t415 = load ptr, ptr %t79 %t416 = load ptr, ptr %t75 %t417 = load ptr, ptr %t341 %t418 = getelementptr inbounds %Cmp_Val, ptr %t417, i32 0, i32 0 %t419 = load ptr, ptr %t418 %t420 = call ptr @fn_list_elem_addr(ptr %t415, ptr %t416, ptr %t419) store ptr %t420, ptr %t421 call void @fn_emit(ptr @.str5342) %t422 = load ptr, ptr %t75 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str5343) %t423 = load ptr, ptr %t350 %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 %t425 = load ptr, ptr %t424 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str5344) %t426 = load ptr, ptr %t421 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str5345) %t427 = load ptr, ptr %t356 %t428 = call ptr @lp_str_concat(ptr @.str5346, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5347) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 call void @fn_emit(ptr @.str5348) %t432 = load ptr, ptr %t431 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5349) %t433 = load ptr, ptr %t82 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5350) %t434 = call ptr @fn_val(ptr @.str5351, ptr @.str5352) store ptr %t434, ptr %retval br label %ret ifend40: %t435 = load ptr, ptr %t0 %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str5353) %t437 = icmp ne i32 %t436, 0 br i1 %t437, label %then41, label %ifend43 then41: %t438 = load ptr, ptr %t1 %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 7 %t440 = load ptr, ptr %t439 %t441 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 0 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds ptr, ptr %t442, i32 1 %t444 = load ptr, ptr %t443 %t445 = call ptr @fn_emit_expr(ptr %t444) store ptr %t445, ptr %t446 %t447 = load ptr, ptr %t82 %t448 = call ptr @lp_str_concat(ptr @.str5354, ptr %t447) %t449 = call ptr @fn_emit_bind(ptr %t448) store ptr %t449, ptr %t450 %t451 = load ptr, ptr %t450 %t452 = call ptr @lp_str_concat(ptr @.str5355, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str5356) %t454 = call ptr @fn_emit_bind(ptr %t453) store ptr %t454, ptr %t455 %t456 = call ptr @fn_emit_alloca(ptr @.str5357) store ptr %t456, ptr %t457 %t458 = load ptr, ptr %t446 %t459 = getelementptr inbounds %Cmp_Val, ptr %t458, i32 0, i32 0 %t460 = load ptr, ptr %t459 %t461 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str5358, ptr %t460, ptr %t461) %t462 = call ptr @fn_lbl(ptr @.str5359) store ptr %t462, ptr %t463 %t464 = call ptr @fn_lbl(ptr @.str5360) store ptr %t464, ptr %t465 %t466 = call ptr @fn_lbl(ptr @.str5361) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str5362) %t468 = load ptr, ptr %t463 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str5363) %t469 = load ptr, ptr %t463 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str5364) %t470 = load ptr, ptr %t457 %t471 = call ptr @lp_str_concat(ptr @.str5365, ptr %t470) %t472 = call ptr @fn_emit_bind(ptr %t471) store ptr %t472, ptr %t473 %t474 = load ptr, ptr %t473 %t475 = call ptr @lp_str_concat(ptr @.str5366, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str5367) %t477 = load ptr, ptr %t455 %t478 = call ptr @lp_str_concat(ptr %t476, ptr %t477) %t479 = call ptr @fn_emit_bind(ptr %t478) store ptr %t479, ptr %t480 call void @fn_emit(ptr @.str5368) %t481 = load ptr, ptr %t480 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str5369) %t482 = load ptr, ptr %t465 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str5370) %t483 = load ptr, ptr %t467 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str5371) %t484 = load ptr, ptr %t465 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str5372) %t485 = load ptr, ptr %t473 %t486 = call ptr @lp_str_concat(ptr @.str5373, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str5374) %t488 = call ptr @fn_emit_bind(ptr %t487) store ptr %t488, ptr %t489 %t490 = load ptr, ptr %t79 %t491 = load ptr, ptr %t75 %t492 = load ptr, ptr %t489 %t493 = call ptr @fn_list_elem_addr(ptr %t490, ptr %t491, ptr %t492) store ptr %t493, ptr %t494 %t495 = load ptr, ptr %t75 %t496 = call ptr @lp_str_concat(ptr @.str5375, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str5376) %t498 = load ptr, ptr %t494 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @fn_emit_bind(ptr %t499) store ptr %t500, ptr %t501 %t502 = load ptr, ptr %t79 %t503 = load ptr, ptr %t75 %t504 = load ptr, ptr %t473 %t505 = call ptr @fn_list_elem_addr(ptr %t502, ptr %t503, ptr %t504) store ptr %t505, ptr %t506 call void @fn_emit(ptr @.str5377) %t507 = load ptr, ptr %t75 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str5378) %t508 = load ptr, ptr %t501 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str5379) %t509 = load ptr, ptr %t506 call void @fn_emit(ptr %t509) call void @fn_emit(ptr @.str5380) %t510 = load ptr, ptr %t489 %t511 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str5381, ptr %t510, ptr %t511) call void @fn_emit(ptr @.str5382) %t512 = load ptr, ptr %t463 call void @fn_emit(ptr %t512) call void @fn_emit(ptr @.str5383) %t513 = load ptr, ptr %t467 call void @fn_emit(ptr %t513) call void @fn_emit(ptr @.str5384) call void @fn_emit(ptr @.str5385) %t514 = load ptr, ptr %t455 call void @fn_emit(ptr %t514) call void @fn_emit(ptr @.str5386) %t515 = load ptr, ptr %t82 call void @fn_emit(ptr %t515) call void @fn_emit(ptr @.str5387) %t516 = call ptr @fn_val(ptr @.str5388, ptr @.str5389) store ptr %t516, ptr %retval br label %ret ifend43: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str5390) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then44, label %ifend46 then44: %t520 = load ptr, ptr %t1 %t521 = getelementptr inbounds %Cmp_Node, ptr %t520, i32 0, i32 7 %t522 = load ptr, ptr %t521 %t523 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 0 %t524 = load ptr, ptr %t523 %t525 = getelementptr inbounds ptr, ptr %t524, i32 1 %t526 = load ptr, ptr %t525 %t527 = call ptr @fn_emit_expr(ptr %t526) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t82 %t530 = call ptr @lp_str_concat(ptr @.str5391, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = call ptr @fn_emit_alloca(ptr @.str5392) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5393, ptr @.str5394, ptr %t535) %t536 = call ptr @fn_emit_alloca(ptr @.str5395) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str5396, ptr @.str5397, ptr %t538) %t539 = call ptr @fn_lbl(ptr @.str5398) store ptr %t539, ptr %t540 %t541 = call ptr @fn_lbl(ptr @.str5399) store ptr %t541, ptr %t542 %t543 = call ptr @fn_lbl(ptr @.str5400) store ptr %t543, ptr %t544 %t545 = call ptr @fn_lbl(ptr @.str5401) store ptr %t545, ptr %t546 %t547 = call ptr @fn_lbl(ptr @.str5402) store ptr %t547, ptr %t548 call void @fn_emit(ptr @.str5403) %t549 = load ptr, ptr %t540 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str5404) %t550 = load ptr, ptr %t540 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str5405) %t551 = load ptr, ptr %t537 %t552 = call ptr @lp_str_concat(ptr @.str5406, ptr %t551) %t553 = call ptr @fn_emit_bind(ptr %t552) store ptr %t553, ptr %t554 %t555 = load ptr, ptr %t554 %t556 = call ptr @lp_str_concat(ptr @.str5407, ptr %t555) %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str5408) %t558 = load ptr, ptr %t532 %t559 = call ptr @lp_str_concat(ptr %t557, ptr %t558) %t560 = call ptr @fn_emit_bind(ptr %t559) store ptr %t560, ptr %t561 %t562 = load ptr, ptr %t534 %t563 = call ptr @lp_str_concat(ptr @.str5409, ptr %t562) %t564 = call ptr @fn_emit_bind(ptr %t563) store ptr %t564, ptr %t565 %t566 = load ptr, ptr %t565 %t567 = call ptr @lp_str_concat(ptr @.str5410, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str5411) %t569 = call ptr @fn_emit_bind(ptr %t568) store ptr %t569, ptr %t570 %t571 = load ptr, ptr %t561 %t572 = call ptr @lp_str_concat(ptr @.str5412, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str5413) %t574 = load ptr, ptr %t570 %t575 = call ptr @lp_str_concat(ptr %t573, ptr %t574) %t576 = call ptr @fn_emit_bind(ptr %t575) store ptr %t576, ptr %t577 call void @fn_emit(ptr @.str5414) %t578 = load ptr, ptr %t577 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str5415) %t579 = load ptr, ptr %t542 call void @fn_emit(ptr %t579) call void @fn_emit(ptr @.str5416) %t580 = load ptr, ptr %t548 call void @fn_emit(ptr %t580) call void @fn_emit(ptr @.str5417) %t581 = load ptr, ptr %t542 call void @fn_emit(ptr %t581) call void @fn_emit(ptr @.str5418) %t582 = load ptr, ptr %t79 %t583 = load ptr, ptr %t75 %t584 = load ptr, ptr %t554 %t585 = call ptr @fn_list_elem_addr(ptr %t582, ptr %t583, ptr %t584) store ptr %t585, ptr %t586 %t587 = load ptr, ptr %t75 %t588 = call ptr @lp_str_concat(ptr @.str5419, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str5420) %t590 = load ptr, ptr %t586 %t591 = call ptr @lp_str_concat(ptr %t589, ptr %t590) %t592 = call ptr @fn_emit_bind(ptr %t591) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t75 %t595 = call ptr @lp_str_concat(ptr @.str5421, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str5422) %t597 = load ptr, ptr %t593 %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str5423) %t600 = load ptr, ptr %t528 %t601 = getelementptr inbounds %Cmp_Val, ptr %t600, i32 0, i32 0 %t602 = load ptr, ptr %t601 %t603 = call ptr @lp_str_concat(ptr %t599, ptr %t602) %t604 = call ptr @fn_emit_bind(ptr %t603) store ptr %t604, ptr %t605 call void @fn_emit(ptr @.str5424) %t606 = load ptr, ptr %t605 call void @fn_emit(ptr %t606) call void @fn_emit(ptr @.str5425) %t607 = load ptr, ptr %t544 call void @fn_emit(ptr %t607) call void @fn_emit(ptr @.str5426) %t608 = load ptr, ptr %t546 call void @fn_emit(ptr %t608) call void @fn_emit(ptr @.str5427) %t609 = load ptr, ptr %t544 call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str5428) %t610 = load ptr, ptr %t554 %t611 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5429, ptr %t610, ptr %t611) call void @fn_emit(ptr @.str5430) %t612 = load ptr, ptr %t540 call void @fn_emit(ptr %t612) call void @fn_emit(ptr @.str5431) %t613 = load ptr, ptr %t546 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str5432) %t614 = load ptr, ptr %t554 %t615 = call ptr @lp_str_concat(ptr @.str5433, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str5434) %t617 = call ptr @fn_emit_bind(ptr %t616) store ptr %t617, ptr %t618 %t619 = load ptr, ptr %t618 %t620 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str5435, ptr %t619, ptr %t620) call void @fn_emit(ptr @.str5436) %t621 = load ptr, ptr %t540 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str5437) %t622 = load ptr, ptr %t548 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str5438) %t623 = load ptr, ptr %t534 %t624 = call ptr @lp_str_concat(ptr @.str5439, ptr %t623) %t625 = call ptr @fn_emit_bind(ptr %t624) store ptr %t625, ptr %t626 %t627 = load ptr, ptr %t626 %t628 = call ptr @lp_str_concat(ptr @.str5440, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str5441) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = call ptr @fn_lbl(ptr @.str5442) store ptr %t632, ptr %t633 %t634 = call ptr @fn_lbl(ptr @.str5443) store ptr %t634, ptr %t635 call void @fn_emit(ptr @.str5444) %t636 = load ptr, ptr %t631 call void @fn_emit(ptr %t636) call void @fn_emit(ptr @.str5445) %t637 = load ptr, ptr %t633 call void @fn_emit(ptr %t637) call void @fn_emit(ptr @.str5446) %t638 = load ptr, ptr %t635 call void @fn_emit(ptr %t638) call void @fn_emit(ptr @.str5447) %t639 = load ptr, ptr %t633 call void @fn_emit(ptr %t639) call void @fn_emit(ptr @.str5448) %t640 = load ptr, ptr %t532 %t641 = call ptr @lp_str_concat(ptr @.str5449, ptr %t640) %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str5450) %t643 = call ptr @fn_emit_bind(ptr %t642) store ptr %t643, ptr %t644 %t645 = call ptr @fn_emit_alloca(ptr @.str5451) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t626 %t648 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5452, ptr %t647, ptr %t648) %t649 = call ptr @fn_lbl(ptr @.str5453) store ptr %t649, ptr %t650 %t651 = call ptr @fn_lbl(ptr @.str5454) store ptr %t651, ptr %t652 %t653 = call ptr @fn_lbl(ptr @.str5455) store ptr %t653, ptr %t654 call void @fn_emit(ptr @.str5456) %t655 = load ptr, ptr %t650 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str5457) %t656 = load ptr, ptr %t650 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str5458) %t657 = load ptr, ptr %t646 %t658 = call ptr @lp_str_concat(ptr @.str5459, ptr %t657) %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 @.str5460, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str5461) %t664 = load ptr, ptr %t644 %t665 = call ptr @lp_str_concat(ptr %t663, ptr %t664) %t666 = call ptr @fn_emit_bind(ptr %t665) store ptr %t666, ptr %t667 call void @fn_emit(ptr @.str5462) %t668 = load ptr, ptr %t667 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str5463) %t669 = load ptr, ptr %t652 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str5464) %t670 = load ptr, ptr %t654 call void @fn_emit(ptr %t670) call void @fn_emit(ptr @.str5465) %t671 = load ptr, ptr %t652 call void @fn_emit(ptr %t671) call void @fn_emit(ptr @.str5466) %t672 = load ptr, ptr %t660 %t673 = call ptr @lp_str_concat(ptr @.str5467, ptr %t672) %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str5468) %t675 = call ptr @fn_emit_bind(ptr %t674) store ptr %t675, ptr %t676 %t677 = load ptr, ptr %t79 %t678 = load ptr, ptr %t75 %t679 = load ptr, ptr %t676 %t680 = call ptr @fn_list_elem_addr(ptr %t677, ptr %t678, ptr %t679) store ptr %t680, ptr %t681 %t682 = load ptr, ptr %t75 %t683 = call ptr @lp_str_concat(ptr @.str5469, ptr %t682) %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str5470) %t685 = load ptr, ptr %t681 %t686 = call ptr @lp_str_concat(ptr %t684, ptr %t685) %t687 = call ptr @fn_emit_bind(ptr %t686) store ptr %t687, ptr %t688 %t689 = load ptr, ptr %t79 %t690 = load ptr, ptr %t75 %t691 = load ptr, ptr %t660 %t692 = call ptr @fn_list_elem_addr(ptr %t689, ptr %t690, ptr %t691) store ptr %t692, ptr %t693 call void @fn_emit(ptr @.str5471) %t694 = load ptr, ptr %t75 call void @fn_emit(ptr %t694) call void @fn_emit(ptr @.str5472) %t695 = load ptr, ptr %t688 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str5473) %t696 = load ptr, ptr %t693 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str5474) %t697 = load ptr, ptr %t676 %t698 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5475, ptr %t697, ptr %t698) call void @fn_emit(ptr @.str5476) %t699 = load ptr, ptr %t650 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str5477) %t700 = load ptr, ptr %t654 call void @fn_emit(ptr %t700) call void @fn_emit(ptr @.str5478) call void @fn_emit(ptr @.str5479) %t701 = load ptr, ptr %t644 call void @fn_emit(ptr %t701) call void @fn_emit(ptr @.str5480) %t702 = load ptr, ptr %t82 call void @fn_emit(ptr %t702) call void @fn_emit(ptr @.str5481) call void @fn_emit(ptr @.str5482) %t703 = load ptr, ptr %t635 call void @fn_emit(ptr %t703) call void @fn_emit(ptr @.str5483) %t704 = load ptr, ptr %t635 call void @fn_emit(ptr %t704) call void @fn_emit(ptr @.str5484) %t705 = call ptr @fn_val(ptr @.str5485, ptr @.str5486) store ptr %t705, ptr %retval br label %ret ifend46: %t706 = load ptr, ptr %t0 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str5487) %t708 = icmp ne i32 %t707, 0 br i1 %t708, label %then47, label %ifend49 then47: %t709 = load ptr, ptr %t82 %t710 = call ptr @lp_str_concat(ptr @.str5488, ptr %t709) %t711 = call ptr @fn_emit_bind(ptr %t710) store ptr %t711, ptr %t712 %t713 = load ptr, ptr %t712 %t714 = call ptr @lp_str_concat(ptr @.str5489, ptr %t713) %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str5490) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = call ptr @fn_lbl(ptr @.str5491) store ptr %t718, ptr %t719 %t720 = call ptr @fn_lbl(ptr @.str5492) store ptr %t720, ptr %t721 %t722 = call ptr @fn_lbl(ptr @.str5493) store ptr %t722, ptr %t723 call void @fn_emit(ptr @.str5494) %t724 = load ptr, ptr %t717 call void @fn_emit(ptr %t724) call void @fn_emit(ptr @.str5495) %t725 = load ptr, ptr %t719 call void @fn_emit(ptr %t725) call void @fn_emit(ptr @.str5496) %t726 = load ptr, ptr %t721 call void @fn_emit(ptr %t726) call void @fn_emit(ptr @.str5497) %t727 = load ptr, ptr %t719 call void @fn_emit(ptr %t727) call void @fn_emit(ptr @.str5498) %t728 = load ptr, ptr %t82 %t729 = call ptr @lp_str_concat(ptr @.str5499, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = call ptr @fn_emit_alloca(ptr @.str5500) store ptr %t732, ptr %t733 %t734 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str5501, ptr @.str5502, ptr %t734) %t735 = call ptr @fn_lbl(ptr @.str5503) store ptr %t735, ptr %t736 %t737 = call ptr @fn_lbl(ptr @.str5504) store ptr %t737, ptr %t738 %t739 = call ptr @fn_lbl(ptr @.str5505) store ptr %t739, ptr %t740 call void @fn_emit(ptr @.str5506) %t741 = load ptr, ptr %t736 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str5507) %t742 = load ptr, ptr %t736 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str5508) %t743 = load ptr, ptr %t733 %t744 = call ptr @lp_str_concat(ptr @.str5509, ptr %t743) %t745 = call ptr @fn_emit_bind(ptr %t744) store ptr %t745, ptr %t746 %t747 = load ptr, ptr %t746 %t748 = call ptr @lp_str_concat(ptr @.str5510, ptr %t747) %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str5511) %t750 = load ptr, ptr %t731 %t751 = call ptr @lp_str_concat(ptr %t749, ptr %t750) %t752 = call ptr @fn_emit_bind(ptr %t751) store ptr %t752, ptr %t753 call void @fn_emit(ptr @.str5512) %t754 = load ptr, ptr %t753 call void @fn_emit(ptr %t754) call void @fn_emit(ptr @.str5513) %t755 = load ptr, ptr %t738 call void @fn_emit(ptr %t755) call void @fn_emit(ptr @.str5514) %t756 = load ptr, ptr %t740 call void @fn_emit(ptr %t756) call void @fn_emit(ptr @.str5515) %t757 = load ptr, ptr %t738 call void @fn_emit(ptr %t757) call void @fn_emit(ptr @.str5516) %t758 = load ptr, ptr %t79 %t759 = load ptr, ptr %t75 %t760 = load ptr, ptr %t746 %t761 = call ptr @fn_list_elem_addr(ptr %t758, ptr %t759, ptr %t760) store ptr %t761, ptr %t762 %t763 = load ptr, ptr %t75 %t764 = call ptr @lp_str_concat(ptr @.str5517, ptr %t763) %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str5518) %t766 = load ptr, ptr %t762 %t767 = call ptr @lp_str_concat(ptr %t765, ptr %t766) %t768 = call ptr @fn_emit_bind(ptr %t767) store ptr %t768, ptr %t769 %t770 = call ptr @fn_emit_alloca(ptr @.str5519) store ptr %t770, ptr %t771 %t772 = load ptr, ptr %t746 %t773 = call ptr @lp_str_concat(ptr @.str5520, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str5521) %t775 = call ptr @fn_emit_bind(ptr %t774) store ptr %t775, ptr %t776 %t777 = load ptr, ptr %t776 %t778 = load ptr, ptr %t771 call void @fn_store_at(ptr @.str5522, ptr %t777, ptr %t778) %t779 = call ptr @fn_lbl(ptr @.str5523) store ptr %t779, ptr %t780 %t781 = call ptr @fn_lbl(ptr @.str5524) store ptr %t781, ptr %t782 %t783 = call ptr @fn_lbl(ptr @.str5525) store ptr %t783, ptr %t784 call void @fn_emit(ptr @.str5526) %t785 = load ptr, ptr %t780 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str5527) %t786 = load ptr, ptr %t780 call void @fn_emit(ptr %t786) call void @fn_emit(ptr @.str5528) %t787 = load ptr, ptr %t771 %t788 = call ptr @lp_str_concat(ptr @.str5529, ptr %t787) %t789 = call ptr @fn_emit_bind(ptr %t788) store ptr %t789, ptr %t790 %t791 = load ptr, ptr %t790 %t792 = call ptr @lp_str_concat(ptr @.str5530, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str5531) %t794 = call ptr @fn_emit_bind(ptr %t793) store ptr %t794, ptr %t795 %t796 = load ptr, ptr %t79 %t797 = load ptr, ptr %t75 %t798 = load ptr, ptr %t790 %t799 = call ptr @fn_list_elem_addr(ptr %t796, ptr %t797, ptr %t798) store ptr %t799, ptr %t800 %t801 = load ptr, ptr %t75 %t802 = call ptr @lp_str_concat(ptr @.str5532, ptr %t801) %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str5533) %t804 = load ptr, ptr %t800 %t805 = call ptr @lp_str_concat(ptr %t803, ptr %t804) %t806 = call ptr @fn_emit_bind(ptr %t805) store ptr %t806, ptr %t807 %t808 = load ptr, ptr %t75 %t809 = call ptr @lp_str_concat(ptr @.str5534, ptr %t808) %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str5535) %t811 = load ptr, ptr %t807 %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str5536) %t814 = load ptr, ptr %t769 %t815 = call ptr @lp_str_concat(ptr %t813, ptr %t814) %t816 = call ptr @fn_emit_bind(ptr %t815) store ptr %t816, ptr %t817 %t818 = load ptr, ptr %t795 %t819 = call ptr @lp_str_concat(ptr @.str5537, ptr %t818) %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str5538) %t821 = load ptr, ptr %t817 %t822 = call ptr @lp_str_concat(ptr %t820, ptr %t821) %t823 = call ptr @fn_emit_bind(ptr %t822) store ptr %t823, ptr %t824 call void @fn_emit(ptr @.str5539) %t825 = load ptr, ptr %t824 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str5540) %t826 = load ptr, ptr %t782 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str5541) %t827 = load ptr, ptr %t784 call void @fn_emit(ptr %t827) call void @fn_emit(ptr @.str5542) %t828 = load ptr, ptr %t782 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str5543) %t829 = load ptr, ptr %t790 %t830 = call ptr @lp_str_concat(ptr @.str5544, ptr %t829) %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str5545) %t832 = call ptr @fn_emit_bind(ptr %t831) store ptr %t832, ptr %t833 %t834 = load ptr, ptr %t79 %t835 = load ptr, ptr %t75 %t836 = load ptr, ptr %t833 %t837 = call ptr @fn_list_elem_addr(ptr %t834, ptr %t835, ptr %t836) store ptr %t837, ptr %t838 call void @fn_emit(ptr @.str5546) %t839 = load ptr, ptr %t75 call void @fn_emit(ptr %t839) call void @fn_emit(ptr @.str5547) %t840 = load ptr, ptr %t807 call void @fn_emit(ptr %t840) call void @fn_emit(ptr @.str5548) %t841 = load ptr, ptr %t838 call void @fn_emit(ptr %t841) call void @fn_emit(ptr @.str5549) %t842 = load ptr, ptr %t790 %t843 = call ptr @lp_str_concat(ptr @.str5550, ptr %t842) %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str5551) %t845 = call ptr @fn_emit_bind(ptr %t844) store ptr %t845, ptr %t846 %t847 = load ptr, ptr %t846 %t848 = load ptr, ptr %t771 call void @fn_store_at(ptr @.str5552, ptr %t847, ptr %t848) call void @fn_emit(ptr @.str5553) %t849 = load ptr, ptr %t780 call void @fn_emit(ptr %t849) call void @fn_emit(ptr @.str5554) %t850 = load ptr, ptr %t784 call void @fn_emit(ptr %t850) call void @fn_emit(ptr @.str5555) %t851 = load ptr, ptr %t771 %t852 = call ptr @lp_str_concat(ptr @.str5556, ptr %t851) %t853 = call ptr @fn_emit_bind(ptr %t852) store ptr %t853, ptr %t854 %t855 = load ptr, ptr %t854 %t856 = call ptr @lp_str_concat(ptr @.str5557, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str5558) %t858 = call ptr @fn_emit_bind(ptr %t857) store ptr %t858, ptr %t859 %t860 = load ptr, ptr %t79 %t861 = load ptr, ptr %t75 %t862 = load ptr, ptr %t859 %t863 = call ptr @fn_list_elem_addr(ptr %t860, ptr %t861, ptr %t862) store ptr %t863, ptr %t864 call void @fn_emit(ptr @.str5559) %t865 = load ptr, ptr %t75 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str5560) %t866 = load ptr, ptr %t769 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str5561) %t867 = load ptr, ptr %t864 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str5562) %t868 = load ptr, ptr %t746 %t869 = call ptr @lp_str_concat(ptr @.str5563, ptr %t868) %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str5564) %t871 = call ptr @fn_emit_bind(ptr %t870) store ptr %t871, ptr %t872 %t873 = load ptr, ptr %t872 %t874 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str5565, ptr %t873, ptr %t874) call void @fn_emit(ptr @.str5566) %t875 = load ptr, ptr %t736 call void @fn_emit(ptr %t875) call void @fn_emit(ptr @.str5567) %t876 = load ptr, ptr %t740 call void @fn_emit(ptr %t876) call void @fn_emit(ptr @.str5568) call void @fn_emit(ptr @.str5569) %t877 = load ptr, ptr %t723 call void @fn_emit(ptr %t877) call void @fn_emit(ptr @.str5570) %t878 = load ptr, ptr %t721 call void @fn_emit(ptr %t878) call void @fn_emit(ptr @.str5571) %t879 = load ptr, ptr %t79 %t880 = load ptr, ptr %t75 call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str5572, ptr @.str5573) call void @fn_emit(ptr @.str5574) %t881 = load ptr, ptr %t723 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str5575) %t882 = load ptr, ptr %t723 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str5576) %t883 = call ptr @fn_val(ptr @.str5577, ptr @.str5578) store ptr %t883, ptr %retval br label %ret ifend49: %t884 = load ptr, ptr %t0 %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str5579) %t886 = icmp ne i32 %t885, 0 br i1 %t886, label %then50, label %ifend52 then50: %t887 = load ptr, ptr %t0 %t888 = load ptr, ptr %t1 %t889 = call ptr @fn_sort_fn_arg(ptr %t887, ptr %t888) store ptr %t889, ptr %t890 %t891 = load ptr, ptr %t890 %t892 = call ptr @fn_find_fn(ptr %t891) %t893 = call ptr @fn_param_types(ptr %t892) %t894 = getelementptr inbounds %LSlice, ptr %t893, i32 0, i32 1 %t895 = load i32, ptr %t894 %t896 = icmp ne i32 %t895, 2 %t897 = zext i1 %t896 to i32 %t898 = icmp ne i32 %t897, 0 br i1 %t898, label %then53, label %ifend55 then53: %t899 = load ptr, ptr %t890 %t900 = call ptr @lp_str_concat(ptr @.str5580, ptr %t899) %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str5581) call void @fn_perr(ptr %t901) br label %ifend55 ifend55: %t902 = load ptr, ptr %t79 %t903 = load ptr, ptr %t75 %t904 = load ptr, ptr %t890 call void @fn_emit_merge_sort(ptr %t902, ptr %t903, i32 0, ptr %t904, ptr @.str5582) %t905 = call ptr @fn_val(ptr @.str5583, ptr @.str5584) store ptr %t905, ptr %retval br label %ret ifend52: %t907 = load ptr, ptr %t0 %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str5585) %t909 = icmp ne i32 %t908, 0 %t910 = zext i1 %t909 to i32 store i32 %t910, ptr %t906 br i1 %t909, label %scend57, label %sc56 sc56: %t911 = load ptr, ptr %t0 %t912 = call i32 @lp_str_eq(ptr %t911, ptr @.str5586) %t913 = icmp ne i32 %t912, 0 %t914 = zext i1 %t913 to i32 store i32 %t914, ptr %t906 br label %scend57 scend57: %t915 = load i32, ptr %t906 %t916 = icmp ne i32 %t915, 0 br i1 %t916, label %then58, label %ifend60 then58: %t917 = load ptr, ptr %t0 %t918 = load ptr, ptr %t1 %t919 = call ptr @fn_sort_fn_arg(ptr %t917, ptr %t918) store ptr %t919, ptr %t920 %t921 = load ptr, ptr %t920 %t922 = call ptr @fn_find_fn(ptr %t921) store ptr %t922, ptr %t923 %t924 = load ptr, ptr %t923 %t925 = call ptr @fn_param_types(ptr %t924) %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 %t927 = load i32, ptr %t926 %t928 = icmp ne i32 %t927, 1 %t929 = zext i1 %t928 to i32 %t930 = icmp ne i32 %t929, 0 br i1 %t930, label %then61, label %ifend63 then61: %t931 = load ptr, ptr %t0 %t932 = call ptr @lp_str_concat(ptr @.str5587, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str5588) %t934 = load ptr, ptr %t920 %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str5589) call void @fn_perr(ptr %t936) br label %ifend63 ifend63: %t937 = load ptr, ptr %t923 %t938 = getelementptr inbounds %Cmp_Node, ptr %t937, i32 0, i32 3 %t939 = load ptr, ptr %t938 %t940 = call ptr @fn_llty(ptr %t939) store ptr %t940, ptr %t941 %t943 = load ptr, ptr %t941 %t944 = call i32 @lp_str_eq(ptr %t943, ptr @.str5590) %t945 = icmp ne i32 %t944, 0 %t946 = zext i1 %t945 to i32 store i32 %t946, ptr %t942 br i1 %t945, label %scend65, label %sc64 sc64: %t947 = load ptr, ptr %t941 %t948 = call i32 @lp_str_eq(ptr %t947, ptr @.str5591) %t949 = icmp ne i32 %t948, 0 %t950 = zext i1 %t949 to i32 store i32 %t950, ptr %t942 br label %scend65 scend65: %t951 = load i32, ptr %t942 %t952 = icmp ne i32 %t951, 0 br i1 %t952, label %then66, label %ifend68 then66: %t953 = load ptr, ptr %t0 %t954 = call ptr @lp_str_concat(ptr @.str5592, ptr %t953) %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str5593) %t956 = load ptr, ptr %t920 %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str5594) call void @fn_perr(ptr %t958) br label %ifend68 ifend68: store i32 1, ptr %t959 %t960 = load ptr, ptr %t0 %t961 = call i32 @lp_str_eq(ptr %t960, ptr @.str5595) %t962 = icmp ne i32 %t961, 0 br i1 %t962, label %then69, label %ifend71 then69: store i32 2, ptr %t959 br label %ifend71 ifend71: %t963 = load ptr, ptr %t79 %t964 = load ptr, ptr %t75 %t965 = load i32, ptr %t959 %t966 = load ptr, ptr %t920 %t967 = load ptr, ptr %t941 call void @fn_emit_merge_sort(ptr %t963, ptr %t964, i32 %t965, ptr %t966, ptr %t967) %t968 = call ptr @fn_val(ptr @.str5596, ptr @.str5597) store ptr %t968, ptr %retval br label %ret ifend60: %t969 = load ptr, ptr %t82 %t970 = call ptr @lp_str_concat(ptr @.str5598, ptr %t969) %t971 = call ptr @fn_emit_bind(ptr %t970) store ptr %t971, ptr %t972 %t973 = call ptr @fn_emit_alloca(ptr @.str5599) store ptr %t973, ptr %t974 %t975 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str5600, ptr @.str5601, ptr %t975) %t976 = call ptr @fn_emit_alloca(ptr @.str5602) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t972 %t979 = call ptr @lp_str_concat(ptr @.str5603, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str5604) %t981 = call ptr @fn_emit_bind(ptr %t980) store ptr %t981, ptr %t982 %t983 = load ptr, ptr %t982 %t984 = load ptr, ptr %t977 call void @fn_store_at(ptr @.str5605, ptr %t983, ptr %t984) %t985 = call ptr @fn_lbl(ptr @.str5606) store ptr %t985, ptr %t986 %t987 = call ptr @fn_lbl(ptr @.str5607) store ptr %t987, ptr %t988 %t989 = call ptr @fn_lbl(ptr @.str5608) store ptr %t989, ptr %t990 call void @fn_emit(ptr @.str5609) %t991 = load ptr, ptr %t986 call void @fn_emit(ptr %t991) call void @fn_emit(ptr @.str5610) %t992 = load ptr, ptr %t986 call void @fn_emit(ptr %t992) call void @fn_emit(ptr @.str5611) %t993 = load ptr, ptr %t974 %t994 = call ptr @lp_str_concat(ptr @.str5612, ptr %t993) %t995 = call ptr @fn_emit_bind(ptr %t994) store ptr %t995, ptr %t996 %t997 = load ptr, ptr %t977 %t998 = call ptr @lp_str_concat(ptr @.str5613, ptr %t997) %t999 = call ptr @fn_emit_bind(ptr %t998) store ptr %t999, ptr %t1000 %t1001 = load ptr, ptr %t996 %t1002 = call ptr @lp_str_concat(ptr @.str5614, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str5615) %t1004 = load ptr, ptr %t1000 %t1005 = call ptr @lp_str_concat(ptr %t1003, ptr %t1004) %t1006 = call ptr @fn_emit_bind(ptr %t1005) store ptr %t1006, ptr %t1007 call void @fn_emit(ptr @.str5616) %t1008 = load ptr, ptr %t1007 call void @fn_emit(ptr %t1008) call void @fn_emit(ptr @.str5617) %t1009 = load ptr, ptr %t988 call void @fn_emit(ptr %t1009) call void @fn_emit(ptr @.str5618) %t1010 = load ptr, ptr %t990 call void @fn_emit(ptr %t1010) call void @fn_emit(ptr @.str5619) %t1011 = load ptr, ptr %t988 call void @fn_emit(ptr %t1011) call void @fn_emit(ptr @.str5620) %t1012 = load ptr, ptr %t79 %t1013 = load ptr, ptr %t75 %t1014 = load ptr, ptr %t996 %t1015 = call ptr @fn_list_elem_addr(ptr %t1012, ptr %t1013, ptr %t1014) store ptr %t1015, ptr %t1016 %t1017 = load ptr, ptr %t79 %t1018 = load ptr, ptr %t75 %t1019 = load ptr, ptr %t1000 %t1020 = call ptr @fn_list_elem_addr(ptr %t1017, ptr %t1018, ptr %t1019) store ptr %t1020, ptr %t1021 %t1022 = load ptr, ptr %t75 %t1023 = call ptr @lp_str_concat(ptr @.str5621, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str5622) %t1025 = load ptr, ptr %t1016 %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 %t75 %t1030 = call ptr @lp_str_concat(ptr @.str5623, ptr %t1029) %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str5624) %t1032 = load ptr, ptr %t1021 %t1033 = call ptr @lp_str_concat(ptr %t1031, ptr %t1032) %t1034 = call ptr @fn_emit_bind(ptr %t1033) store ptr %t1034, ptr %t1035 call void @fn_emit(ptr @.str5625) %t1036 = load ptr, ptr %t75 call void @fn_emit(ptr %t1036) call void @fn_emit(ptr @.str5626) %t1037 = load ptr, ptr %t1035 call void @fn_emit(ptr %t1037) call void @fn_emit(ptr @.str5627) %t1038 = load ptr, ptr %t1016 call void @fn_emit(ptr %t1038) call void @fn_emit(ptr @.str5628) call void @fn_emit(ptr @.str5629) %t1039 = load ptr, ptr %t75 call void @fn_emit(ptr %t1039) call void @fn_emit(ptr @.str5630) %t1040 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1040) call void @fn_emit(ptr @.str5631) %t1041 = load ptr, ptr %t1021 call void @fn_emit(ptr %t1041) call void @fn_emit(ptr @.str5632) %t1042 = load ptr, ptr %t996 %t1043 = call ptr @lp_str_concat(ptr @.str5633, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str5634) %t1045 = call ptr @fn_emit_bind(ptr %t1044) store ptr %t1045, ptr %t1046 %t1047 = load ptr, ptr %t1046 %t1048 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str5635, ptr %t1047, ptr %t1048) %t1049 = load ptr, ptr %t1000 %t1050 = call ptr @lp_str_concat(ptr @.str5636, ptr %t1049) %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str5637) %t1052 = call ptr @fn_emit_bind(ptr %t1051) store ptr %t1052, ptr %t1053 %t1054 = load ptr, ptr %t1053 %t1055 = load ptr, ptr %t977 call void @fn_store_at(ptr @.str5638, ptr %t1054, ptr %t1055) call void @fn_emit(ptr @.str5639) %t1056 = load ptr, ptr %t986 call void @fn_emit(ptr %t1056) call void @fn_emit(ptr @.str5640) %t1057 = load ptr, ptr %t990 call void @fn_emit(ptr %t1057) call void @fn_emit(ptr @.str5641) %t1058 = call ptr @fn_val(ptr @.str5642, ptr @.str5643) store ptr %t1058, ptr %retval br label %ret ret: %t1059 = load ptr, ptr %retval ret ptr %t1059 } 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 @.str5644) %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 @.str5645) %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 @.str5646) %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 @.str5647) %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 @.str5648) %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 @.str5649) %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 @.str5650) 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 @.str5651, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5652) %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 @.str5653, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5654) %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 @.str5655, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5656) %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 @.str5657, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5658) %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 @.str5659, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5660) %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 @.str5661, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5662) %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 @.str5663, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5664) %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 @.str5665, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5666) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5667) %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 @.str5668, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5669) %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 @.str5670, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5671) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5672) %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 @.str5673, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5674) %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 @.str5675, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str5676) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5677) %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 @.str5678, 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 @.str5679, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5680) %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 @.str5681, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5682) %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 @.str5683, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5684) %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 @.str5685) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str5686) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str5687, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5688) %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 @.str5689, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5690) %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 @.str5691, 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 @.str5692, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5693) %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 @.str5694, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5695) %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 @.str5696) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str5697, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5698) %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 @.str5699, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5700) %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 %t10 = 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 ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5701) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_ease_eval(i32 1, ptr %t16) %t18 = call ptr @fn_val(ptr %t17, ptr @.str5702) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5703) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: %t22 = load ptr, ptr %t10 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_ease_eval(i32 2, ptr %t24) %t26 = call ptr @fn_val(ptr %t25, ptr @.str5704) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5705) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: %t30 = load ptr, ptr %t10 %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_ease_eval(i32 3, ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str5706) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5707) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then9, label %ifend11 then9: %t38 = load ptr, ptr %t10 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_ease_eval(i32 4, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str5708) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5709) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: %t46 = load ptr, ptr %t10 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_ease_eval(i32 5, ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str5710) store ptr %t50, ptr %retval br label %ret ifend14: %t51 = load ptr, ptr %t10 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_ease_eval(i32 6, ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str5711) store ptr %t55, ptr %retval br label %ret ret: %t56 = load ptr, ptr %retval ret ptr %t56 } 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 @.str5712) %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 @.str5713) %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 @.str5714) %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 @.str5715) %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 @.str5716) %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 @.str5717) %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 @.str5718) %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 @.str5719, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5720) %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 @.str5721, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5722) %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 @.str5723, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5724) %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 @.str5725, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5726) %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 @.str5727, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5728) %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 @.str5729, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5730) %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 @.str5731, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5732) %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 %t13 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t39 = alloca ptr %t44 = alloca ptr %t63 = alloca ptr %t72 = alloca ptr %t81 = alloca ptr %t89 = alloca ptr %t96 = alloca ptr %t103 = alloca ptr %t125 = alloca ptr %t134 = alloca ptr %t143 = alloca ptr %t151 = alloca ptr %t158 = alloca ptr %t163 = alloca ptr %t166 = alloca ptr %t173 = alloca ptr %t180 = alloca ptr %t189 = alloca ptr %t211 = alloca ptr %t220 = alloca ptr %t229 = alloca ptr %t237 = alloca ptr %t246 = alloca ptr %t263 = alloca ptr %t272 = alloca ptr %t279 = alloca ptr %t284 = alloca ptr %t303 = alloca ptr %t312 = alloca ptr %t321 = alloca ptr %t326 = alloca ptr %t335 = alloca ptr %t353 = alloca ptr %t362 = alloca ptr %t371 = alloca ptr %t376 = alloca ptr %t385 = 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 @.str5733) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t27, i32 2 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t13 %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t22 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_anim_elapsed(ptr %t34, ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t31 %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_anim_atleast1(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t39 %t46 = call ptr @lp_str_concat(ptr @.str5734, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5735) %t48 = load ptr, ptr %t44 %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str5736) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5737) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then3, label %ifend5 then3: %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 ptr, ptr %t59, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_emit_expr(ptr %t61) store ptr %t62, ptr %t63 %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 ptr, ptr %t68, i32 1 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_expr(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t77, i32 2 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_emit_expr(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t63 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = load ptr, ptr %t72 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_anim_elapsed(ptr %t84, ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t81 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr @.str5738, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5739) %t95 = call ptr @fn_emit_bind(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t89 %t98 = call ptr @lp_str_concat(ptr @.str5740, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5741) %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 = load ptr, ptr %t103 %t105 = call ptr @lp_str_concat(ptr @.str5742, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5743) %t107 = load ptr, ptr %t89 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5744) %t110 = load ptr, ptr %t96 %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @fn_emit_bind(ptr %t111) %t113 = call ptr @fn_val(ptr %t112, ptr @.str5745) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5746) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then6, label %ifend8 then6: %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 ptr, ptr %t121, i32 0 %t123 = load ptr, ptr %t122 %t124 = call ptr @fn_emit_expr(ptr %t123) store ptr %t124, ptr %t125 %t126 = load ptr, ptr %t1 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds ptr, ptr %t130, i32 1 %t132 = load ptr, ptr %t131 %t133 = call ptr @fn_emit_expr(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t1 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 7 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds ptr, ptr %t139, i32 2 %t141 = load ptr, ptr %t140 %t142 = call ptr @fn_emit_expr(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t125 %t145 = getelementptr inbounds %Cmp_Val, ptr %t144, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = call ptr @fn_anim_elapsed(ptr %t146, ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t143 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @lp_str_concat(ptr @.str5747, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str5748) %t157 = call ptr @fn_emit_bind(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 %t160 = call ptr @lp_str_concat(ptr @.str5749, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str5750) %t162 = call ptr @fn_emit_bind(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_anim_atleast1(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t151 %t168 = call ptr @lp_str_concat(ptr @.str5751, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5752) %t170 = load ptr, ptr %t166 %t171 = call ptr @lp_str_concat(ptr %t169, ptr %t170) %t172 = call ptr @fn_emit_bind(ptr %t171) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t166 %t175 = call ptr @lp_str_concat(ptr @.str5753, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5754) %t177 = load ptr, ptr %t173 %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t173 %t182 = call ptr @lp_str_concat(ptr @.str5755, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5756) %t184 = load ptr, ptr %t143 %t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = call ptr @lp_str_concat(ptr %t183, ptr %t186) %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t189 %t191 = call ptr @lp_str_concat(ptr @.str5757, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str5758) %t193 = load ptr, ptr %t173 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5759) %t196 = load ptr, ptr %t180 %t197 = call ptr @lp_str_concat(ptr %t195, ptr %t196) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str5760) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str5761) %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then9, label %ifend11 then9: %t203 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t207, i32 0 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_emit_expr(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t1 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds ptr, ptr %t216, i32 1 %t218 = load ptr, ptr %t217 %t219 = call ptr @fn_emit_expr(ptr %t218) store ptr %t219, ptr %t220 %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 ptr, ptr %t225, i32 2 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_emit_expr(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t211 %t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0 %t232 = load ptr, ptr %t231 %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235) store ptr %t236, ptr %t237 %t238 = load ptr, ptr %t237 %t239 = call ptr @lp_str_concat(ptr @.str5762, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5763) %t241 = load ptr, ptr %t229 %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = call ptr @lp_str_concat(ptr %t240, ptr %t243) %t245 = call ptr @fn_emit_bind(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 %t248 = call ptr @lp_str_concat(ptr @.str5764, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5765) %t250 = call ptr @fn_emit_bind(ptr %t249) %t251 = call ptr @fn_val(ptr %t250, ptr @.str5766) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str5767) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then12, label %ifend14 then12: %t255 = load ptr, ptr %t1 %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 7 %t257 = load ptr, ptr %t256 %t258 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0 %t259 = load ptr, ptr %t258 %t260 = getelementptr inbounds ptr, ptr %t259, i32 0 %t261 = load ptr, ptr %t260 %t262 = call ptr @fn_emit_expr(ptr %t261) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t268, i32 1 %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 @lp_str_concat(ptr @.str5768, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5769) %t278 = call ptr @fn_emit_bind(ptr %t277) store ptr %t278, ptr %t279 %t280 = load ptr, ptr %t263 %t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = call ptr @fn_anim_atleast1(ptr %t282) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t279 %t286 = call ptr @lp_str_concat(ptr @.str5770, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5771) %t288 = load ptr, ptr %t284 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @fn_emit_bind(ptr %t289) %t291 = call ptr @fn_val(ptr %t290, ptr @.str5772) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5773) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then15, label %ifend17 then15: %t295 = load ptr, ptr %t1 %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 7 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds %LSlice, ptr %t297, i32 0, i32 0 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds ptr, ptr %t299, i32 0 %t301 = load ptr, ptr %t300 %t302 = call ptr @fn_emit_expr(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t1 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 7 %t306 = load ptr, ptr %t305 %t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds ptr, ptr %t308, 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 ptr, ptr %t317, i32 2 %t319 = load ptr, ptr %t318 %t320 = call ptr @fn_emit_expr(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t312 %t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0 %t324 = load ptr, ptr %t323 %t325 = call ptr @fn_anim_atleast1(ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t303 %t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = call ptr @lp_str_concat(ptr @.str5774, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str5775) %t332 = load ptr, ptr %t326 %t333 = call ptr @lp_str_concat(ptr %t331, 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 @.str5776, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str5777) %t339 = load ptr, ptr %t321 %t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0 %t341 = load ptr, ptr %t340 %t342 = call ptr @lp_str_concat(ptr %t338, ptr %t341) %t343 = call ptr @fn_emit_bind(ptr %t342) %t344 = call ptr @fn_val(ptr %t343, ptr @.str5778) store ptr %t344, ptr %retval br label %ret ifend17: %t345 = load ptr, ptr %t1 %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 7 %t347 = load ptr, ptr %t346 %t348 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 0 %t349 = load ptr, ptr %t348 %t350 = getelementptr inbounds ptr, ptr %t349, i32 0 %t351 = load ptr, ptr %t350 %t352 = call ptr @fn_emit_expr(ptr %t351) store ptr %t352, ptr %t353 %t354 = load ptr, ptr %t1 %t355 = getelementptr inbounds %Cmp_Node, ptr %t354, i32 0, i32 7 %t356 = load ptr, ptr %t355 %t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0 %t358 = load ptr, ptr %t357 %t359 = getelementptr inbounds ptr, ptr %t358, i32 1 %t360 = load ptr, ptr %t359 %t361 = call ptr @fn_emit_expr(ptr %t360) store ptr %t361, ptr %t362 %t363 = load ptr, ptr %t1 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 7 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0 %t367 = load ptr, ptr %t366 %t368 = getelementptr inbounds ptr, ptr %t367, i32 2 %t369 = load ptr, ptr %t368 %t370 = call ptr @fn_emit_expr(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t362 %t373 = getelementptr inbounds %Cmp_Val, ptr %t372, i32 0, i32 0 %t374 = load ptr, ptr %t373 %t375 = call ptr @fn_anim_atleast1(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t353 %t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = call ptr @lp_str_concat(ptr @.str5779, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str5780) %t382 = load ptr, ptr %t376 %t383 = call ptr @lp_str_concat(ptr %t381, ptr %t382) %t384 = call ptr @fn_emit_bind(ptr %t383) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t385 %t387 = call ptr @lp_str_concat(ptr @.str5781, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5782) %t389 = load ptr, ptr %t371 %t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = call ptr @lp_str_concat(ptr %t388, ptr %t391) %t393 = call ptr @fn_emit_bind(ptr %t392) %t394 = call ptr @fn_val(ptr %t393, ptr @.str5783) store ptr %t394, ptr %retval br label %ret ret: %t395 = load ptr, ptr %retval ret ptr %t395 } 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 @.str5784) %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 @.str5785) %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 @.str5786) %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 @.str5787) %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 @.str5788) %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 @.str5789) %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 @.str5790) %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 @.str5791) %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 @.str5792) %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 @.str5793, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5794) %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 @.str5795, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5796) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5797) %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 %t13 = alloca ptr %t22 = alloca ptr %t29 = alloca ptr %t39 = alloca ptr %t45 = alloca ptr %t50 = alloca ptr %t57 = alloca ptr %t62 = alloca ptr %t69 = alloca ptr %t89 = alloca ptr %t98 = alloca ptr %t103 = alloca ptr %t109 = alloca ptr %t126 = alloca ptr %t135 = alloca ptr %t140 = alloca ptr %t146 = alloca ptr %t151 = alloca ptr %t155 = alloca ptr %t160 = alloca ptr %t190 = alloca ptr %t206 = alloca ptr %t215 = alloca ptr %t226 = alloca ptr %t243 = alloca ptr %t251 = alloca ptr %t277 = alloca ptr %t286 = alloca ptr %t295 = alloca ptr %t318 = alloca ptr %t327 = alloca ptr %t336 = alloca ptr %t347 = alloca ptr %t352 = alloca ptr %t359 = alloca ptr %t366 = alloca ptr %t371 = alloca ptr %t376 = alloca ptr %t381 = alloca ptr %t402 = alloca ptr %t411 = alloca ptr %t420 = alloca ptr %t425 = alloca ptr %t430 = alloca ptr %t435 = alloca ptr %t440 = alloca ptr %t447 = alloca ptr %t454 = alloca ptr %t467 = alloca ptr %t476 = alloca ptr %t485 = alloca ptr %t498 = alloca ptr %t511 = alloca ptr %t524 = 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 @.str5798) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %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 @.str5799, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5800) %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 @.str5801, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5802) %t33 = load ptr, ptr %t22 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr %t32, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5803) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t13 %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load ptr, ptr %t39 %t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str5804, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5805) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str5806, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5807) %t54 = load ptr, ptr %t45 %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 %t57 %t59 = call ptr @lp_str_concat(ptr @.str5808, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5809) %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 @.str5810, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5811) %t66 = load ptr, ptr %t57 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t29 %t71 = call ptr @lp_str_concat(ptr @.str5812, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5813) %t73 = load ptr, ptr %t69 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5814) %t76 = call ptr @fn_emit_bind(ptr %t75) %t77 = call ptr @fn_val(ptr %t76, ptr @.str5815) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str5816) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then3, label %ifend5 then3: %t81 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t85, i32 0 %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 = getelementptr inbounds ptr, ptr %t94, i32 1 %t96 = load ptr, ptr %t95 %t97 = call ptr @fn_emit_expr(ptr %t96) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_tween_den(ptr %t101) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t89 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = load ptr, ptr %t103 %t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr @.str5817, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5818) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = call ptr @fn_val(ptr %t113, ptr @.str5819) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5820) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then6, label %ifend8 then6: %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 ptr, ptr %t122, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_emit_expr(ptr %t124) store ptr %t125, ptr %t126 %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 ptr, ptr %t131, i32 1 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_emit_expr(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_tween_den(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t126 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = load ptr, ptr %t140 %t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = call ptr @lp_str_concat(ptr @.str5821, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5822) %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 @.str5823, ptr %t152) %t154 = call ptr @fn_emit_bind(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t151 %t157 = call ptr @lp_str_concat(ptr @.str5824, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5825) %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 @.str5826, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5827) %t164 = load ptr, ptr %t151 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5828) %t167 = load ptr, ptr %t155 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) %t170 = call ptr @fn_val(ptr %t169, ptr @.str5829) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5830) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then9, label %ifend11 then9: %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 1 %t178 = load i32, ptr %t177 %t179 = icmp eq i32 %t178, 1 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then12, label %ifend14 then12: %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 ptr, ptr %t186, i32 0 %t188 = load ptr, ptr %t187 %t189 = call ptr @fn_emit_expr(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = call ptr @lp_str_concat(ptr @.str5831, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5832) %t196 = call ptr @fn_emit_bind(ptr %t195) %t197 = call ptr @fn_val(ptr %t196, ptr @.str5833) store ptr %t197, ptr %retval br label %ret ifend14: %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 0 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds ptr, ptr %t202, 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 ptr, ptr %t211, i32 1 %t213 = load ptr, ptr %t212 %t214 = call ptr @fn_emit_expr(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t206 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str5834, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5835) %t221 = load ptr, ptr %t215 %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 %t223 = load ptr, ptr %t222 %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) %t225 = call ptr @fn_emit_bind(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t226 %t228 = call ptr @lp_str_concat(ptr @.str5836, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5837) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str5838) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5839) %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then15, label %ifend17 then15: %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 ptr, ptr %t239, i32 0 %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 ptr, ptr %t248, i32 1 %t250 = load ptr, ptr %t249 store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 0 %t254 = load i32, ptr %t253 %t255 = icmp ne i32 %t254, 30 %t256 = zext i1 %t255 to i32 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then18, label %ifend20 then18: call void @fn_perr(ptr @.str5840) br label %ifend20 ifend20: %t258 = load ptr, ptr %t251 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 2 %t260 = load i32, ptr %t259 %t261 = load ptr, ptr %t243 %t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_ease_eval(i32 %t260, ptr %t263) %t265 = call ptr @fn_val(ptr %t264, ptr @.str5841) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5842) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then21, label %ifend23 then21: %t269 = load ptr, ptr %t1 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 7 %t271 = load ptr, ptr %t270 %t272 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds ptr, ptr %t273, i32 0 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_emit_expr(ptr %t275) store ptr %t276, ptr %t277 %t278 = load ptr, ptr %t1 %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 7 %t280 = load ptr, ptr %t279 %t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds ptr, ptr %t282, i32 1 %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 ptr, ptr %t291, i32 2 %t293 = load ptr, ptr %t292 %t294 = call ptr @fn_emit_expr(ptr %t293) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t277 %t297 = getelementptr inbounds %Cmp_Val, ptr %t296, i32 0, i32 0 %t298 = load ptr, ptr %t297 %t299 = load ptr, ptr %t286 %t300 = getelementptr inbounds %Cmp_Val, ptr %t299, i32 0, i32 0 %t301 = load ptr, ptr %t300 %t302 = load ptr, ptr %t295 %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = call ptr @fn_fx_lerp_code(ptr %t298, ptr %t301, ptr %t304) %t306 = call ptr @fn_val(ptr %t305, ptr @.str5843) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5844) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then24, label %ifend26 then24: %t310 = load ptr, ptr %t1 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 7 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = getelementptr inbounds ptr, ptr %t314, i32 0 %t316 = load ptr, ptr %t315 %t317 = call ptr @fn_emit_expr(ptr %t316) store ptr %t317, ptr %t318 %t319 = load ptr, ptr %t1 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds ptr, ptr %t323, i32 1 %t325 = load ptr, ptr %t324 %t326 = call ptr @fn_emit_expr(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t1 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds ptr, ptr %t332, i32 2 %t334 = load ptr, ptr %t333 %t335 = call ptr @fn_emit_expr(ptr %t334) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t327 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = call ptr @lp_str_concat(ptr @.str5845, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5846) %t342 = load ptr, ptr %t318 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = call ptr @lp_str_concat(ptr %t341, 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 @.str5847, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5848) %t351 = call ptr @fn_emit_bind(ptr %t350) store ptr %t351, ptr %t352 %t353 = load ptr, ptr %t336 %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = call ptr @lp_str_concat(ptr @.str5849, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5850) %t358 = call ptr @fn_emit_bind(ptr %t357) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t352 %t361 = call ptr @lp_str_concat(ptr @.str5851, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5852) %t363 = load ptr, ptr %t359 %t364 = call ptr @lp_str_concat(ptr %t362, ptr %t363) %t365 = call ptr @fn_emit_bind(ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t366 %t368 = call ptr @lp_str_concat(ptr @.str5853, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5854) %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 @.str5855, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5856) %t375 = call ptr @fn_emit_bind(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t376 %t378 = call ptr @lp_str_concat(ptr @.str5857, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5858) %t380 = call ptr @fn_emit_bind(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t318 %t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = call ptr @lp_str_concat(ptr @.str5859, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5860) %t387 = load ptr, ptr %t381 %t388 = call ptr @lp_str_concat(ptr %t386, ptr %t387) %t389 = call ptr @fn_emit_bind(ptr %t388) %t390 = call ptr @fn_val(ptr %t389, ptr @.str5861) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5862) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then27, label %ifend29 then27: %t394 = load ptr, ptr %t1 %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 7 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 %t399 = getelementptr inbounds ptr, ptr %t398, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @fn_emit_expr(ptr %t400) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t1 %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 ptr, ptr %t407, i32 1 %t409 = load ptr, ptr %t408 %t410 = call ptr @fn_emit_expr(ptr %t409) store ptr %t410, ptr %t411 %t412 = load ptr, ptr %t1 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 7 %t414 = load ptr, ptr %t413 %t415 = getelementptr inbounds %LSlice, ptr %t414, i32 0, i32 0 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds ptr, ptr %t416, i32 2 %t418 = load ptr, ptr %t417 %t419 = call ptr @fn_emit_expr(ptr %t418) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t402 %t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0 %t423 = load ptr, ptr %t422 %t424 = call ptr @fn_vec_x(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t402 %t427 = getelementptr inbounds %Cmp_Val, ptr %t426, i32 0, i32 0 %t428 = load ptr, ptr %t427 %t429 = call ptr @fn_vec_y(ptr %t428) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t411 %t432 = getelementptr inbounds %Cmp_Val, ptr %t431, i32 0, i32 0 %t433 = load ptr, ptr %t432 %t434 = call ptr @fn_vec_x(ptr %t433) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t411 %t437 = getelementptr inbounds %Cmp_Val, ptr %t436, i32 0, i32 0 %t438 = load ptr, ptr %t437 %t439 = call ptr @fn_vec_y(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t425 %t442 = load ptr, ptr %t435 %t443 = load ptr, ptr %t420 %t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0 %t445 = load ptr, ptr %t444 %t446 = call ptr @fn_fx_lerp_code(ptr %t441, ptr %t442, ptr %t445) store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t430 %t449 = load ptr, ptr %t440 %t450 = load ptr, ptr %t420 %t451 = getelementptr inbounds %Cmp_Val, ptr %t450, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = call ptr @fn_fx_lerp_code(ptr %t448, ptr %t449, ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t447 %t456 = load ptr, ptr %t454 %t457 = call ptr @fn_vec_pack(ptr %t455, ptr %t456) %t458 = call ptr @fn_val(ptr %t457, ptr @.str5863) store ptr %t458, ptr %retval br label %ret ifend29: %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 ptr, ptr %t463, i32 0 %t465 = load ptr, ptr %t464 %t466 = call ptr @fn_emit_expr(ptr %t465) store ptr %t466, ptr %t467 %t468 = load ptr, ptr %t1 %t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 7 %t470 = load ptr, ptr %t469 %t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds ptr, ptr %t472, i32 1 %t474 = load ptr, ptr %t473 %t475 = call ptr @fn_emit_expr(ptr %t474) store ptr %t475, ptr %t476 %t477 = load ptr, ptr %t1 %t478 = getelementptr inbounds %Cmp_Node, ptr %t477, i32 0, i32 7 %t479 = load ptr, ptr %t478 %t480 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 0 %t481 = load ptr, ptr %t480 %t482 = getelementptr inbounds ptr, ptr %t481, i32 2 %t483 = load ptr, ptr %t482 %t484 = call ptr @fn_emit_expr(ptr %t483) store ptr %t484, ptr %t485 %t486 = load ptr, ptr %t467 %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 %t488 = load ptr, ptr %t487 %t489 = call ptr @fn_color_ch(ptr %t488, ptr @.str5864) %t490 = load ptr, ptr %t476 %t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0 %t492 = load ptr, ptr %t491 %t493 = call ptr @fn_color_ch(ptr %t492, ptr @.str5865) %t494 = load ptr, ptr %t485 %t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0 %t496 = load ptr, ptr %t495 %t497 = call ptr @fn_color_lerp_ch(ptr %t489, ptr %t493, ptr %t496) store ptr %t497, ptr %t498 %t499 = load ptr, ptr %t467 %t500 = getelementptr inbounds %Cmp_Val, ptr %t499, i32 0, i32 0 %t501 = load ptr, ptr %t500 %t502 = call ptr @fn_color_ch(ptr %t501, ptr @.str5866) %t503 = load ptr, ptr %t476 %t504 = getelementptr inbounds %Cmp_Val, ptr %t503, i32 0, i32 0 %t505 = load ptr, ptr %t504 %t506 = call ptr @fn_color_ch(ptr %t505, ptr @.str5867) %t507 = load ptr, ptr %t485 %t508 = getelementptr inbounds %Cmp_Val, ptr %t507, i32 0, i32 0 %t509 = load ptr, ptr %t508 %t510 = call ptr @fn_color_lerp_ch(ptr %t502, ptr %t506, ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t467 %t513 = getelementptr inbounds %Cmp_Val, ptr %t512, i32 0, i32 0 %t514 = load ptr, ptr %t513 %t515 = call ptr @fn_color_ch(ptr %t514, ptr @.str5868) %t516 = load ptr, ptr %t476 %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0 %t518 = load ptr, ptr %t517 %t519 = call ptr @fn_color_ch(ptr %t518, ptr @.str5869) %t520 = load ptr, ptr %t485 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 %t523 = call ptr @fn_color_lerp_ch(ptr %t515, ptr %t519, ptr %t522) store ptr %t523, ptr %t524 %t525 = load ptr, ptr %t498 %t526 = load ptr, ptr %t511 %t527 = load ptr, ptr %t524 %t528 = call ptr @fn_color_pack(ptr %t525, ptr %t526, ptr %t527) %t529 = call ptr @fn_val(ptr %t528, ptr @.str5870) store ptr %t529, ptr %retval br label %ret ret: %t530 = load ptr, ptr %retval ret ptr %t530 } 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 @.str5871) %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 @.str5872) %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 @.str5873) %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 @.str5874) %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 @.str5875, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5876) %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 @.str5877, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5878) %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 @.str5879, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5880) %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 @.str5881, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5882) %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 @.str5883, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5884) %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 @.str5885, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5886) %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 @.str5887, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5888) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5889) %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 @.str5890, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5891) %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 @.str5892, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5893) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5894) %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 %t13 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t40 = alloca ptr %t49 = alloca ptr %t58 = alloca ptr %t67 = alloca ptr %t76 = alloca ptr %t87 = alloca ptr %t98 = alloca ptr %t109 = alloca ptr %t120 = alloca ptr %t129 = alloca ptr %t138 = alloca ptr %t147 = alloca ptr %t156 = alloca ptr %t163 = alloca ptr %t170 = alloca ptr %t177 = alloca ptr %t194 = alloca ptr %t203 = alloca ptr %t212 = alloca ptr %t221 = alloca ptr %t230 = alloca ptr %t239 = alloca ptr %t250 = alloca ptr %t261 = alloca ptr %t272 = alloca ptr %t281 = alloca ptr %t292 = alloca ptr %t301 = alloca ptr %t308 = alloca ptr %t315 = alloca ptr %t322 = alloca ptr %t339 = alloca ptr %t348 = alloca ptr %t357 = alloca ptr %t366 = alloca ptr %t375 = alloca ptr %t384 = alloca ptr %t395 = alloca ptr %t406 = alloca ptr %t410 = alloca ptr %t421 = alloca ptr %t426 = alloca ptr %t433 = alloca ptr %t440 = alloca ptr %t454 = alloca ptr %t463 = alloca ptr %t472 = alloca ptr %t481 = alloca ptr %t490 = alloca ptr %t499 = alloca ptr %t508 = alloca ptr %t519 = alloca ptr %t530 = alloca ptr %t539 = alloca ptr %t548 = alloca ptr %t557 = alloca ptr %t566 = alloca ptr %t570 = alloca ptr %t577 = alloca ptr %t584 = alloca ptr %t591 = 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 @.str5895) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t27, i32 2 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %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 ptr, ptr %t36, i32 3 %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 ptr, ptr %t45, i32 4 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_emit_expr(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t54, i32 5 %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 ptr, ptr %t63, i32 6 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_emit_expr(ptr %t65) store ptr %t66, ptr %t67 %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 ptr, ptr %t72, i32 7 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_emit_expr(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t13 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @lp_str_concat(ptr @.str5896, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5897) %t82 = load ptr, ptr %t31 %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 @fn_emit_bind(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t49 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str5898, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5899) %t93 = load ptr, ptr %t67 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr %t92, ptr %t95) %t97 = call ptr @fn_emit_bind(ptr %t96) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t22 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = call ptr @lp_str_concat(ptr @.str5900, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5901) %t104 = load ptr, ptr %t40 %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 @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t58 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr @.str5902, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5903) %t115 = load ptr, ptr %t76 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = call ptr @lp_str_concat(ptr %t114, ptr %t117) %t119 = call ptr @fn_emit_bind(ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t13 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = call ptr @lp_str_concat(ptr @.str5904, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5905) %t126 = load ptr, ptr %t98 %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) %t128 = call ptr @fn_emit_bind(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t49 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr @.str5906, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5907) %t135 = load ptr, ptr %t87 %t136 = call ptr @lp_str_concat(ptr %t134, ptr %t135) %t137 = call ptr @fn_emit_bind(ptr %t136) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t22 %t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str5908, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5909) %t144 = load ptr, ptr %t120 %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 %t58 %t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = call ptr @lp_str_concat(ptr @.str5910, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5911) %t153 = load ptr, ptr %t109 %t154 = call ptr @lp_str_concat(ptr %t152, ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t129 %t158 = call ptr @lp_str_concat(ptr @.str5912, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5913) %t160 = load ptr, ptr %t138 %t161 = call ptr @lp_str_concat(ptr %t159, ptr %t160) %t162 = call ptr @fn_emit_bind(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t147 %t165 = call ptr @lp_str_concat(ptr @.str5914, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5915) %t167 = load ptr, ptr %t156 %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 %t163 %t172 = call ptr @lp_str_concat(ptr @.str5916, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5917) %t174 = load ptr, ptr %t170 %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) %t176 = call ptr @fn_emit_bind(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t177 %t179 = call ptr @lp_str_concat(ptr @.str5918, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5919) %t181 = call ptr @fn_emit_bind(ptr %t180) %t182 = call ptr @fn_val(ptr %t181, ptr @.str5920) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5921) %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then3, label %ifend5 then3: %t186 = load ptr, ptr %t1 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7 %t188 = load ptr, ptr %t187 %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds ptr, ptr %t190, i32 0 %t192 = load ptr, ptr %t191 %t193 = call ptr @fn_emit_expr(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t1 %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 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds ptr, ptr %t199, i32 1 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_emit_expr(ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t1 %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 ptr, ptr %t208, i32 2 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_emit_expr(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t1 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds ptr, ptr %t217, i32 3 %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 ptr, ptr %t226, i32 4 %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 ptr, ptr %t235, i32 5 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_emit_expr(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t212 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = call ptr @lp_str_concat(ptr @.str5922, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5923) %t245 = load ptr, ptr %t230 %t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0 %t247 = load ptr, ptr %t246 %t248 = call ptr @lp_str_concat(ptr %t244, ptr %t247) %t249 = call ptr @fn_emit_bind(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t221 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = call ptr @lp_str_concat(ptr @.str5924, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5925) %t256 = load ptr, ptr %t239 %t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = call ptr @lp_str_concat(ptr %t255, ptr %t258) %t260 = call ptr @fn_emit_bind(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t194 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = call ptr @lp_str_concat(ptr @.str5926, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5927) %t267 = load ptr, ptr %t212 %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 @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t194 %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = call ptr @lp_str_concat(ptr @.str5928, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5929) %t278 = load ptr, ptr %t250 %t279 = call ptr @lp_str_concat(ptr %t277, ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t203 %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 %t284 = load ptr, ptr %t283 %t285 = call ptr @lp_str_concat(ptr @.str5930, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5931) %t287 = load ptr, ptr %t221 %t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = call ptr @lp_str_concat(ptr %t286, ptr %t289) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t203 %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 %t296 = call ptr @lp_str_concat(ptr @.str5932, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5933) %t298 = load ptr, ptr %t261 %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t272 %t303 = call ptr @lp_str_concat(ptr @.str5934, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5935) %t305 = load ptr, ptr %t281 %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) %t307 = call ptr @fn_emit_bind(ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t292 %t310 = call ptr @lp_str_concat(ptr @.str5936, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5937) %t312 = load ptr, ptr %t301 %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 %t308 %t317 = call ptr @lp_str_concat(ptr @.str5938, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5939) %t319 = load ptr, ptr %t315 %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) %t321 = call ptr @fn_emit_bind(ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t322 %t324 = call ptr @lp_str_concat(ptr @.str5940, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5941) %t326 = call ptr @fn_emit_bind(ptr %t325) %t327 = call ptr @fn_val(ptr %t326, ptr @.str5942) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5943) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then6, label %ifend8 then6: %t331 = load ptr, ptr %t1 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 7 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 %t336 = getelementptr inbounds ptr, ptr %t335, i32 0 %t337 = load ptr, ptr %t336 %t338 = call ptr @fn_emit_expr(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t1 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 %t342 = load ptr, ptr %t341 %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds ptr, ptr %t344, i32 1 %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 %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 ptr, ptr %t353, i32 2 %t355 = load ptr, ptr %t354 %t356 = call ptr @fn_emit_expr(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t1 %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 7 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0 %t362 = load ptr, ptr %t361 %t363 = getelementptr inbounds ptr, ptr %t362, i32 3 %t364 = load ptr, ptr %t363 %t365 = call ptr @fn_emit_expr(ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t1 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7 %t369 = load ptr, ptr %t368 %t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds ptr, ptr %t371, i32 4 %t373 = load ptr, ptr %t372 %t374 = call ptr @fn_emit_expr(ptr %t373) store ptr %t374, ptr %t375 %t376 = load ptr, ptr %t1 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 7 %t378 = load ptr, ptr %t377 %t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0 %t380 = load ptr, ptr %t379 %t381 = getelementptr inbounds ptr, ptr %t380, i32 5 %t382 = load ptr, ptr %t381 %t383 = call ptr @fn_emit_expr(ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t339 %t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0 %t387 = load ptr, ptr %t386 %t388 = call ptr @lp_str_concat(ptr @.str5944, ptr %t387) %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5945) %t390 = load ptr, ptr %t366 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = call ptr @lp_str_concat(ptr %t389, ptr %t392) %t394 = call ptr @fn_emit_bind(ptr %t393) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t348 %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 %t399 = call ptr @lp_str_concat(ptr @.str5946, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5947) %t401 = load ptr, ptr %t375 %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = call ptr @lp_str_concat(ptr %t400, ptr %t403) %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t395 %t408 = load ptr, ptr %t406 %t409 = call ptr @fn_coll_sq_sum(ptr %t407, ptr %t408) store ptr %t409, ptr %t410 %t411 = load ptr, ptr %t357 %t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0 %t413 = load ptr, ptr %t412 %t414 = call ptr @lp_str_concat(ptr @.str5948, ptr %t413) %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5949) %t416 = load ptr, ptr %t384 %t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0 %t418 = load ptr, ptr %t417 %t419 = call ptr @lp_str_concat(ptr %t415, ptr %t418) %t420 = call ptr @fn_emit_bind(ptr %t419) store ptr %t420, ptr %t421 %t422 = load ptr, ptr %t421 %t423 = call ptr @lp_str_concat(ptr @.str5950, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5951) %t425 = call ptr @fn_emit_bind(ptr %t424) store ptr %t425, ptr %t426 %t427 = load ptr, ptr %t426 %t428 = call ptr @lp_str_concat(ptr @.str5952, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5953) %t430 = load ptr, ptr %t426 %t431 = call ptr @lp_str_concat(ptr %t429, ptr %t430) %t432 = call ptr @fn_emit_bind(ptr %t431) store ptr %t432, ptr %t433 %t434 = load ptr, ptr %t410 %t435 = call ptr @lp_str_concat(ptr @.str5954, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5955) %t437 = load ptr, ptr %t433 %t438 = call ptr @lp_str_concat(ptr %t436, 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 @.str5956, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5957) %t444 = call ptr @fn_emit_bind(ptr %t443) %t445 = call ptr @fn_val(ptr %t444, ptr @.str5958) store ptr %t445, ptr %retval br label %ret ifend8: %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 ptr, ptr %t450, i32 0 %t452 = load ptr, ptr %t451 %t453 = call ptr @fn_emit_expr(ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t1 %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 ptr, ptr %t459, i32 1 %t461 = load ptr, ptr %t460 %t462 = call ptr @fn_emit_expr(ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t1 %t465 = getelementptr inbounds %Cmp_Node, ptr %t464, i32 0, i32 7 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0 %t468 = load ptr, ptr %t467 %t469 = getelementptr inbounds ptr, ptr %t468, i32 2 %t470 = load ptr, ptr %t469 %t471 = call ptr @fn_emit_expr(ptr %t470) store ptr %t471, ptr %t472 %t473 = load ptr, ptr %t1 %t474 = getelementptr inbounds %Cmp_Node, ptr %t473, i32 0, i32 7 %t475 = load ptr, ptr %t474 %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 %t477 = load ptr, ptr %t476 %t478 = getelementptr inbounds ptr, ptr %t477, i32 3 %t479 = load ptr, ptr %t478 %t480 = call ptr @fn_emit_expr(ptr %t479) store ptr %t480, ptr %t481 %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 ptr, ptr %t486, i32 4 %t488 = load ptr, ptr %t487 %t489 = call ptr @fn_emit_expr(ptr %t488) store ptr %t489, ptr %t490 %t491 = load ptr, ptr %t1 %t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 7 %t493 = load ptr, ptr %t492 %t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = getelementptr inbounds ptr, ptr %t495, i32 5 %t497 = load ptr, ptr %t496 %t498 = call ptr @fn_emit_expr(ptr %t497) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t1 %t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 7 %t502 = load ptr, ptr %t501 %t503 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds ptr, ptr %t504, i32 6 %t506 = load ptr, ptr %t505 %t507 = call ptr @fn_emit_expr(ptr %t506) store ptr %t507, ptr %t508 %t509 = load ptr, ptr %t454 %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 %t511 = load ptr, ptr %t510 %t512 = call ptr @lp_str_concat(ptr @.str5959, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5960) %t514 = load ptr, ptr %t472 %t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0 %t516 = load ptr, ptr %t515 %t517 = call ptr @lp_str_concat(ptr %t513, ptr %t516) %t518 = call ptr @fn_emit_bind(ptr %t517) store ptr %t518, ptr %t519 %t520 = load ptr, ptr %t463 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 %t523 = call ptr @lp_str_concat(ptr @.str5961, ptr %t522) %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5962) %t525 = load ptr, ptr %t481 %t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0 %t527 = load ptr, ptr %t526 %t528 = call ptr @lp_str_concat(ptr %t524, ptr %t527) %t529 = call ptr @fn_emit_bind(ptr %t528) store ptr %t529, ptr %t530 %t531 = load ptr, ptr %t490 %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 %t534 = load ptr, ptr %t454 %t535 = getelementptr inbounds %Cmp_Val, ptr %t534, i32 0, i32 0 %t536 = load ptr, ptr %t535 %t537 = load ptr, ptr %t519 %t538 = call ptr @fn_coll_clamp(ptr %t533, ptr %t536, ptr %t537) store ptr %t538, ptr %t539 %t540 = load ptr, ptr %t499 %t541 = getelementptr inbounds %Cmp_Val, ptr %t540, i32 0, i32 0 %t542 = load ptr, ptr %t541 %t543 = load ptr, ptr %t463 %t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0 %t545 = load ptr, ptr %t544 %t546 = load ptr, ptr %t530 %t547 = call ptr @fn_coll_clamp(ptr %t542, ptr %t545, ptr %t546) store ptr %t547, ptr %t548 %t549 = load ptr, ptr %t490 %t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0 %t551 = load ptr, ptr %t550 %t552 = call ptr @lp_str_concat(ptr @.str5963, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5964) %t554 = load ptr, ptr %t539 %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @fn_emit_bind(ptr %t555) store ptr %t556, ptr %t557 %t558 = load ptr, ptr %t499 %t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = call ptr @lp_str_concat(ptr @.str5965, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5966) %t563 = load ptr, ptr %t548 %t564 = call ptr @lp_str_concat(ptr %t562, ptr %t563) %t565 = call ptr @fn_emit_bind(ptr %t564) store ptr %t565, ptr %t566 %t567 = load ptr, ptr %t557 %t568 = load ptr, ptr %t566 %t569 = call ptr @fn_coll_sq_sum(ptr %t567, ptr %t568) store ptr %t569, ptr %t570 %t571 = load ptr, ptr %t508 %t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0 %t573 = load ptr, ptr %t572 %t574 = call ptr @lp_str_concat(ptr @.str5967, ptr %t573) %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5968) %t576 = call ptr @fn_emit_bind(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 %t579 = call ptr @lp_str_concat(ptr @.str5969, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5970) %t581 = load ptr, ptr %t577 %t582 = call ptr @lp_str_concat(ptr %t580, ptr %t581) %t583 = call ptr @fn_emit_bind(ptr %t582) store ptr %t583, ptr %t584 %t585 = load ptr, ptr %t570 %t586 = call ptr @lp_str_concat(ptr @.str5971, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5972) %t588 = load ptr, ptr %t584 %t589 = call ptr @lp_str_concat(ptr %t587, ptr %t588) %t590 = call ptr @fn_emit_bind(ptr %t589) store ptr %t590, ptr %t591 %t592 = load ptr, ptr %t591 %t593 = call ptr @lp_str_concat(ptr @.str5973, ptr %t592) %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5974) %t595 = call ptr @fn_emit_bind(ptr %t594) %t596 = call ptr @fn_val(ptr %t595, ptr @.str5975) store ptr %t596, ptr %retval br label %ret ret: %t597 = load ptr, ptr %retval ret ptr %t597 } 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 @.str5976) %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 @.str5977) %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 @.str5978) %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 @.str5979) %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 @.str5980) %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 @.str5981) %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 %t13 = alloca ptr %t20 = alloca ptr %t37 = alloca ptr %t44 = alloca ptr %t49 = alloca ptr %t66 = alloca ptr %t75 = alloca ptr %t84 = alloca ptr %t91 = alloca ptr %t111 = alloca ptr %t120 = alloca ptr %t129 = alloca ptr %t136 = alloca ptr %t156 = alloca ptr %t165 = alloca ptr %t176 = alloca ptr %t180 = alloca ptr %t194 = alloca ptr %t203 = alloca ptr %t212 = alloca ptr %t223 = alloca ptr %t230 = 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 @.str5982) %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 ptr, ptr %t9, 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 = call ptr @lp_str_concat(ptr @.str5983, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5984) %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 @.str5985, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5986) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str5987) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5988) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t33, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str5989, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5990) %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 @.str5991, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5992) %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 @.str5993, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5994) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str5995) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5996) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then6, label %ifend8 then6: %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 ptr, ptr %t62, i32 0 %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 ptr, ptr %t71, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_emit_expr(ptr %t73) store ptr %t74, ptr %t75 %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 = getelementptr inbounds ptr, ptr %t80, i32 2 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_emit_expr(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = call ptr @lp_str_concat(ptr @.str5997, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5998) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str5999) %t92 = load ptr, ptr %t66 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6000) %t95 = load ptr, ptr %t75 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str6001) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str6002) %t99 = call ptr @fn_val(ptr @.str6003, ptr @.str6004) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6005) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then9, label %ifend11 then9: %t103 = load ptr, ptr %t1 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds ptr, ptr %t107, i32 0 %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_emit_expr(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t1 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds ptr, ptr %t116, i32 1 %t118 = load ptr, ptr %t117 %t119 = call ptr @fn_emit_expr(ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t1 %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 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds ptr, ptr %t125, i32 2 %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 @.str6006, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str6007) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str6008) %t137 = load ptr, ptr %t111 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str6009) %t140 = load ptr, ptr %t120 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str6010) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str6011) %t144 = call ptr @fn_val(ptr @.str6012, ptr @.str6013) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6014) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then12, label %ifend14 then12: %t148 = load ptr, ptr %t1 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds ptr, ptr %t152, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_expr(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t1 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds ptr, ptr %t161, i32 1 %t163 = load ptr, ptr %t162 %t164 = call ptr @fn_emit_expr(ptr %t163) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t156 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = call ptr @lp_str_concat(ptr @.str6015, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6016) %t171 = load ptr, ptr %t165 %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 @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 %t178 = call ptr @lp_str_concat(ptr @.str6017, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 %t182 = call ptr @lp_str_concat(ptr @.str6018, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6019) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str6020) store ptr %t185, ptr %retval br label %ret ifend14: %t186 = load ptr, ptr %t1 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7 %t188 = load ptr, ptr %t187 %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds ptr, ptr %t190, i32 0 %t192 = load ptr, ptr %t191 %t193 = call ptr @fn_emit_expr(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t1 %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 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds ptr, ptr %t199, i32 1 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_emit_expr(ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t1 %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 ptr, ptr %t208, i32 2 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_emit_expr(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t194 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = call ptr @lp_str_concat(ptr @.str6021, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str6022) %t218 = load ptr, ptr %t203 %t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0 %t220 = load ptr, ptr %t219 %t221 = call ptr @lp_str_concat(ptr %t217, ptr %t220) %t222 = call ptr @fn_emit_bind(ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t212 %t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = call ptr @lp_str_concat(ptr @.str6023, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str6024) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str6025) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str6026) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str6027) %t233 = call ptr @fn_val(ptr @.str6028, ptr @.str6029) store ptr %t233, ptr %retval br label %ret ret: %t234 = load ptr, ptr %retval ret ptr %t234 } 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 @.str6030) %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 @.str6031) %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 @.str6032) %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 @.str6033) %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 @.str6034) %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 %t32 = alloca ptr %t34 = alloca ptr %t39 = alloca ptr %t50 = 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 @.str6035) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6036) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6037) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6038) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str6039, ptr @.str6040) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6041) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str6042) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str6043, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6044) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str6045) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6046) %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 ptr, ptr %t28, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 %t33 = call ptr @fn_emit_bind(ptr @.str6047) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str6048, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6049) %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 @.str6050, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6051) %t43 = load ptr, ptr %t32 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @lp_str_concat(ptr %t42, ptr %t45) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str6052) store ptr %t48, ptr %retval br label %ret ifend11: %t49 = call ptr @fn_emit_bind(ptr @.str6053) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str6054, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str6055) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str6056) store ptr %t55, ptr %retval br label %ret ret: %t56 = load ptr, ptr %retval ret ptr %t56 } 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 @.str6057) %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 @.str6058) %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 @.str6059) %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 @.str6060) %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 @.str6061) %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 @.str6062) %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 @.str6063) %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 @.str6064) %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 %t10 = 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 ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6065) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_val(ptr %t16, ptr @.str6066) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6067) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @lp_str_concat(ptr @.str6068, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str6069) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str6070) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6071) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = call ptr @lp_str_concat(ptr @.str6072, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6073) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str6074) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str6075) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: %t41 = load ptr, ptr %t10 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @lp_str_concat(ptr @.str6076, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6077) %t46 = call ptr @fn_emit_bind(ptr %t45) %t47 = call ptr @fn_val(ptr %t46, ptr @.str6078) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str6079) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then12, label %ifend14 then12: %t51 = load ptr, ptr %t10 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_val(ptr %t53, ptr @.str6080) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6081) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then15, label %ifend17 then15: %t58 = load ptr, ptr %t10 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = call ptr @lp_str_concat(ptr @.str6082, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6083) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str6084) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str6085) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then18, label %ifend20 then18: %t68 = load ptr, ptr %t10 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = call ptr @lp_str_concat(ptr @.str6086, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str6087) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str6088) store ptr %t74, ptr %retval br label %ret ifend20: %t75 = load ptr, ptr %t10 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @lp_str_concat(ptr @.str6089, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str6090) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str6091) store ptr %t81, ptr %retval br label %ret ret: %t82 = load ptr, ptr %retval ret ptr %t82 } 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 @.str6092) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str6093) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str6094) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6095, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6096) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6097) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6098) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6099) 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 @.str6100, 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 @.str6101) %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 @.str6102) %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 @.str6103) %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 @.str6104) %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 @.str6105) %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 @.str6106) %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 @.str6107) %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 @.str6108) %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 @.str6109) %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 @.str6110) %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 %t13 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t60 = alloca ptr %t77 = alloca ptr %t94 = alloca ptr %t111 = alloca ptr %t118 = alloca ptr %t123 = alloca ptr %t128 = alloca ptr %t145 = alloca ptr %t152 = alloca ptr %t157 = alloca ptr %t164 = alloca ptr %t169 = alloca ptr %t176 = alloca ptr %t181 = alloca ptr %t188 = alloca ptr %t195 = alloca ptr %t212 = alloca ptr %t221 = alloca ptr %t233 = alloca ptr %t240 = alloca ptr %t247 = alloca ptr %t259 = alloca ptr %t266 = alloca ptr %t273 = alloca ptr %t281 = alloca ptr %t300 = alloca ptr %t319 = alloca ptr %t328 = alloca ptr %t348 = alloca ptr %t357 = 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 @.str6111) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t27, i32 2 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t13 %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = call ptr @lp_str_concat(ptr @.str6112, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6113) %t37 = load ptr, ptr %t22 %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 @lp_str_concat(ptr %t40, ptr @.str6114) %t42 = load ptr, ptr %t31 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str6115) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str6116) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6117) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then3, label %ifend5 then3: %t52 = load ptr, ptr %t1 %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 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds ptr, ptr %t56, i32 0 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_emit_expr(ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_date_component(ptr %t63, i32 0) %t65 = call ptr @fn_val(ptr %t64, ptr @.str6118) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str6119) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then6, label %ifend8 then6: %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 ptr, ptr %t73, i32 0 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_emit_expr(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_date_component(ptr %t80, i32 1) %t82 = call ptr @fn_val(ptr %t81, ptr @.str6120) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str6121) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: %t86 = load ptr, ptr %t1 %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 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds ptr, ptr %t90, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_emit_expr(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_date_component(ptr %t97, i32 2) %t99 = call ptr @fn_val(ptr %t98, ptr @.str6122) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6123) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then12, label %ifend14 then12: %t103 = load ptr, ptr %t1 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds ptr, ptr %t107, i32 0 %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_emit_expr(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = call ptr @lp_str_concat(ptr @.str6124, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6125) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = call ptr @lp_str_concat(ptr @.str6126, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6127) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = call ptr @lp_str_concat(ptr @.str6128, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6129) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = call ptr @lp_str_concat(ptr @.str6130, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str6131) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str6132) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str6133) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then15, label %ifend17 then15: %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 ptr, ptr %t141, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_emit_expr(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = call ptr @lp_str_concat(ptr @.str6134, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6135) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = call ptr @lp_str_concat(ptr @.str6136, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str6137) %t156 = call ptr @fn_emit_bind(ptr %t155) store ptr %t156, ptr %t157 %t158 = load ptr, ptr %t145 %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = call ptr @lp_str_concat(ptr @.str6138, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str6139) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t164 %t166 = call ptr @lp_str_concat(ptr @.str6140, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str6141) %t168 = call ptr @fn_emit_bind(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t145 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = call ptr @lp_str_concat(ptr @.str6142, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6143) %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 @.str6144, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6145) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t157 %t183 = call ptr @lp_str_concat(ptr @.str6146, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6147) %t185 = load ptr, ptr %t169 %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 %t188 %t190 = call ptr @lp_str_concat(ptr @.str6148, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6149) %t192 = load ptr, ptr %t181 %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 @.str6150, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str6151) %t199 = call ptr @fn_emit_bind(ptr %t198) %t200 = call ptr @fn_val(ptr %t199, ptr @.str6152) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str6153) %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then18, label %ifend20 then18: store i32 1, ptr @g_g_uses_datert %t204 = load ptr, ptr %t1 %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 ptr, ptr %t208, i32 0 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_emit_expr(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t1 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds ptr, ptr %t217, i32 1 %t219 = load ptr, ptr %t218 %t220 = call ptr @fn_emit_expr(ptr %t219) store ptr %t220, ptr %t221 %t222 = load ptr, ptr %t212 %t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = call ptr @lp_str_concat(ptr @.str6154, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str6155) %t227 = load ptr, ptr %t221 %t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = call ptr @lp_str_concat(ptr %t226, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str6156) %t232 = call ptr @fn_emit_bind(ptr %t231) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t221 %t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0 %t236 = load ptr, ptr %t235 %t237 = call ptr @lp_str_concat(ptr @.str6157, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str6158) %t239 = call ptr @fn_emit_bind(ptr %t238) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t212 %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = call ptr @lp_str_concat(ptr @.str6159, ptr %t243) %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str6160) %t246 = call ptr @fn_emit_bind(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t240 %t249 = call ptr @lp_str_concat(ptr @.str6161, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6162) %t251 = load ptr, ptr %t247 %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str6163) %t254 = load ptr, ptr %t212 %t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = call ptr @lp_str_concat(ptr %t253, ptr %t256) %t258 = call ptr @fn_emit_bind(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t221 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 %t263 = call ptr @lp_str_concat(ptr @.str6164, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str6165) %t265 = call ptr @fn_emit_bind(ptr %t264) store ptr %t265, ptr %t266 %t267 = load ptr, ptr %t240 %t268 = call ptr @lp_str_concat(ptr @.str6166, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str6167) %t270 = load ptr, ptr %t266 %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 %t259 %t275 = call ptr @lp_str_concat(ptr @.str6168, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str6169) %t277 = load ptr, ptr %t273 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6170) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t281 %t283 = call ptr @lp_str_concat(ptr @.str6171, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str6172) %t285 = load ptr, ptr %t233 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str6173) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str6174) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then21, label %ifend23 then21: %t292 = load ptr, ptr %t1 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 7 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds ptr, ptr %t296, i32 0 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = call ptr @lp_str_concat(ptr @.str6175, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str6176) %t306 = call ptr @fn_emit_bind(ptr %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str6177) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str6178) %t310 = icmp ne i32 %t309, 0 br i1 %t310, label %then24, label %ifend26 then24: %t311 = load ptr, ptr %t1 %t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 7 %t313 = load ptr, ptr %t312 %t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 %t315 = load ptr, ptr %t314 %t316 = getelementptr inbounds ptr, ptr %t315, i32 0 %t317 = load ptr, ptr %t316 %t318 = call ptr @fn_emit_expr(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t1 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 7 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0 %t324 = load ptr, ptr %t323 %t325 = getelementptr inbounds ptr, ptr %t324, i32 1 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_emit_expr(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t319 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @lp_str_concat(ptr @.str6179, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6180) %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 @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str6181) store ptr %t339, ptr %retval br label %ret ifend26: %t340 = load ptr, ptr %t1 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 %t342 = load ptr, ptr %t341 %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds ptr, ptr %t344, i32 0 %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 %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 ptr, ptr %t353, i32 1 %t355 = load ptr, ptr %t354 %t356 = call ptr @fn_emit_expr(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t348 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 %t361 = call ptr @lp_str_concat(ptr @.str6182, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str6183) %t363 = load ptr, ptr %t357 %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = call ptr @lp_str_concat(ptr %t362, ptr %t365) %t367 = call ptr @fn_emit_bind(ptr %t366) %t368 = call ptr @fn_val(ptr %t367, ptr @.str6184) store ptr %t368, ptr %retval br label %ret ret: %t369 = load ptr, ptr %retval ret ptr %t369 } 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 @.str6185, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6186) %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 @.str6187, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6188) %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 @.str6189, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6190) %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 @.str6191, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6192) %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 @.str6193, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6194) %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 @.str6195) %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 @.str6196) %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 @.str6197) %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 @.str6198) %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 @.str6199) %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 @.str6200) %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 @.str6201) %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 @.str6202) %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 @.str6203) %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 @.str6204) %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 @.str6205) %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 @.str6206) %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 @.str6207, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6208) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6209) %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 %t21 = alloca ptr %t31 = alloca ptr %t35 = alloca i32 %t40 = alloca ptr %t42 = alloca ptr %t44 = alloca ptr %t46 = alloca ptr %t62 = alloca ptr %t66 = alloca ptr %t70 = alloca ptr %t75 = alloca ptr %t80 = alloca ptr %t85 = alloca ptr %t90 = alloca ptr %t95 = alloca ptr %t100 = alloca ptr %t102 = alloca ptr %t104 = alloca ptr %t105 = alloca i32 %t111 = alloca ptr %t112 = alloca i32 %t113 = alloca i32 %t170 = alloca ptr %t189 = alloca ptr %t200 = 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 ptr, ptr %t5, i32 1 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp ne i32 %t9, 31 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: call void @fn_perr(ptr @.str6210) br label %ifend2 ifend2: %t13 = load ptr, ptr %t0 %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 ptr, ptr %t17, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %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 ptr, ptr %t26, i32 1 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = call i64 @strlen(ptr %t32) %t34 = trunc i64 %t33 to i32 store i32 %t34, ptr %t35 %t36 = load ptr, ptr %t21 %t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_dt_epochday(ptr %t38) store ptr %t39, ptr %t40 %t41 = call ptr @fn_emit_alloca(ptr @.str6211) store ptr %t41, ptr %t42 %t43 = call ptr @fn_emit_alloca(ptr @.str6212) store ptr %t43, ptr %t44 %t45 = call ptr @fn_emit_alloca(ptr @.str6213) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 %t48 = call ptr @lp_str_concat(ptr @.str6214, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6215) %t50 = load ptr, ptr %t42 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6216) %t53 = load ptr, ptr %t44 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6217) %t56 = load ptr, ptr %t46 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6218) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr @.str6219, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t44 %t64 = call ptr @lp_str_concat(ptr @.str6220, ptr %t63) %t65 = call ptr @fn_emit_bind(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t46 %t68 = call ptr @lp_str_concat(ptr @.str6221, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t21 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_dt_secofday(ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr @.str6222, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str6223) %t79 = call ptr @fn_emit_bind(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t75 %t82 = call ptr @lp_str_concat(ptr @.str6224, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6225) %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 @.str6226, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6227) %t89 = call ptr @fn_emit_bind(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t75 %t92 = call ptr @lp_str_concat(ptr @.str6228, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str6229) %t94 = call ptr @fn_emit_bind(ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t62 %t97 = call ptr @lp_str_concat(ptr @.str6230, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6231) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_emit_str_const(ptr @.str6232) store ptr %t101, ptr %t102 %t103 = call ptr @fn_buf_new() store ptr %t103, ptr %t104 store i32 0, ptr %t105 br label %wcond3 wcond3: %t106 = load i32, ptr %t105 %t107 = load i32, ptr %t35 %t108 = icmp slt i32 %t106, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody4, label %wend5 wbody4: store ptr null, ptr %t111 store i32 0, ptr %t112 store i32 0, ptr %t113 %t114 = load ptr, ptr %t31 %t115 = load i32, ptr %t35 %t116 = load i32, ptr %t105 %t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str6233, i32 4) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then6, label %else7 then6: %t119 = load ptr, ptr %t62 store ptr %t119, ptr %t111 store i32 4, ptr %t112 store i32 4, ptr %t113 br label %ifend8 else7: %t120 = load ptr, ptr %t31 %t121 = load i32, ptr %t35 %t122 = load i32, ptr %t105 %t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str6234, i32 2) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then9, label %else10 then9: %t125 = load ptr, ptr %t100 store ptr %t125, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 br label %ifend11 else10: %t126 = load ptr, ptr %t31 %t127 = load i32, ptr %t35 %t128 = load i32, ptr %t105 %t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str6235, i32 2) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then12, label %else13 then12: %t131 = load ptr, ptr %t66 store ptr %t131, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 br label %ifend14 else13: %t132 = load ptr, ptr %t31 %t133 = load i32, ptr %t35 %t134 = load i32, ptr %t105 %t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str6236, i32 2) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then15, label %else16 then15: %t137 = load ptr, ptr %t70 store ptr %t137, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 br label %ifend17 else16: %t138 = load ptr, ptr %t31 %t139 = load i32, ptr %t35 %t140 = load i32, ptr %t105 %t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str6237, i32 2) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then18, label %else19 then18: %t143 = load ptr, ptr %t80 store ptr %t143, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 br label %ifend20 else19: %t144 = load ptr, ptr %t31 %t145 = load i32, ptr %t35 %t146 = load i32, ptr %t105 %t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str6238, i32 2) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then21, label %else22 then21: %t149 = load ptr, ptr %t90 store ptr %t149, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 br label %ifend23 else22: %t150 = load ptr, ptr %t31 %t151 = load i32, ptr %t35 %t152 = load i32, ptr %t105 %t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str6239, i32 2) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then24, label %ifend26 then24: %t155 = load ptr, ptr %t95 store ptr %t155, ptr %t111 store i32 2, ptr %t112 store i32 2, ptr %t113 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: %t156 = load ptr, ptr %t111 %t157 = icmp eq ptr %t156, null %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then27, label %else28 then27: %t160 = load ptr, ptr %t104 %t161 = load ptr, ptr %t31 %t162 = load i32, ptr %t105 %t163 = getelementptr inbounds i8, ptr %t161, i32 %t162 %t164 = load i8, ptr %t163 %t165 = zext i8 %t164 to i32 call void @fn_buf_putc(ptr %t160, i32 %t165) %t166 = load i32, ptr %t105 %t167 = add i32 %t166, 1 store i32 %t167, ptr %t105 br label %ifend29 else28: %t168 = load ptr, ptr %t104 %t169 = call ptr @fn_buf_str(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = call i64 @strlen(ptr %t171) %t173 = trunc i64 %t172 to i32 %t174 = icmp sgt i32 %t173, 0 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then30, label %ifend32 then30: %t177 = load ptr, ptr %t102 %t178 = load ptr, ptr %t170 %t179 = call ptr @fn_emit_str_const(ptr %t178) %t180 = call ptr @fn_dt_concat(ptr %t177, ptr %t179) store ptr %t180, ptr %t102 br label %ifend32 ifend32: %t181 = load ptr, ptr %t111 %t182 = call ptr @lp_str_concat(ptr @.str6240, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6241) %t184 = load i32, ptr %t112 %t185 = call ptr @lp_int_str(i32 %t184) %t186 = call ptr @lp_str_concat(ptr %t183, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str6242) %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t102 %t191 = load ptr, ptr %t189 %t192 = call ptr @fn_dt_concat(ptr %t190, ptr %t191) store ptr %t192, ptr %t102 %t193 = load ptr, ptr %t104 %t194 = getelementptr inbounds %Cmp_Buf, ptr %t193, i32 0, i32 1 store i32 0, ptr %t194 %t195 = load i32, ptr %t113 %t196 = load i32, ptr %t105 %t197 = add i32 %t196, %t195 store i32 %t197, ptr %t105 br label %ifend29 ifend29: br label %wcond3 wend5: %t198 = load ptr, ptr %t104 %t199 = call ptr @fn_buf_str(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = call i64 @strlen(ptr %t201) %t203 = trunc i64 %t202 to i32 %t204 = icmp sgt i32 %t203, 0 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then33, label %ifend35 then33: %t207 = load ptr, ptr %t102 %t208 = load ptr, ptr %t200 %t209 = call ptr @fn_emit_str_const(ptr %t208) %t210 = call ptr @fn_dt_concat(ptr %t207, ptr %t209) store ptr %t210, ptr %t102 br label %ifend35 ifend35: %t211 = load ptr, ptr %t102 %t212 = call ptr @fn_val(ptr %t211, ptr @.str6243) store ptr %t212, ptr %retval br label %ret ret: %t213 = load ptr, ptr %retval ret ptr %t213 } define ptr @fn_emit_datetime_parse(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t21 = alloca ptr %t31 = alloca ptr %t35 = alloca i32 %t37 = alloca ptr %t40 = alloca ptr %t43 = alloca ptr %t46 = alloca ptr %t49 = alloca ptr %t52 = alloca ptr %t55 = alloca ptr %t57 = alloca i32 %t58 = alloca i32 %t64 = alloca ptr %t65 = alloca i32 %t66 = alloca i32 %t128 = alloca ptr %t140 = alloca ptr %t144 = alloca ptr %t148 = alloca ptr %t152 = alloca ptr %t156 = alloca ptr %t160 = alloca ptr %t171 = alloca ptr %t176 = alloca ptr %t181 = alloca ptr %t186 = alloca ptr %t193 = alloca ptr %t200 = alloca ptr %t207 = alloca ptr %t211 = alloca ptr %t216 = 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 ptr, ptr %t5, i32 1 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp ne i32 %t9, 31 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: call void @fn_perr(ptr @.str6244) br label %ifend2 ifend2: %t13 = load ptr, ptr %t0 %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 ptr, ptr %t17, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %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 ptr, ptr %t26, i32 1 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = call i64 @strlen(ptr %t32) %t34 = trunc i64 %t33 to i32 store i32 %t34, ptr %t35 %t36 = call ptr @fn_emit_alloca(ptr @.str6245) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 call void @fn_store_at(ptr @.str6246, ptr @.str6247, ptr %t38) %t39 = call ptr @fn_emit_alloca(ptr @.str6248) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str6249, ptr @.str6250, ptr %t41) %t42 = call ptr @fn_emit_alloca(ptr @.str6251) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 call void @fn_store_at(ptr @.str6252, ptr @.str6253, ptr %t44) %t45 = call ptr @fn_emit_alloca(ptr @.str6254) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 call void @fn_store_at(ptr @.str6255, ptr @.str6256, ptr %t47) %t48 = call ptr @fn_emit_alloca(ptr @.str6257) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str6258, ptr @.str6259, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str6260) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str6261, ptr @.str6262, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str6263) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str6264, ptr @.str6265, ptr %t56) store i32 0, ptr %t57 store i32 0, ptr %t58 br label %wcond3 wcond3: %t59 = load i32, ptr %t58 %t60 = load i32, ptr %t35 %t61 = icmp slt i32 %t59, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody4, label %wend5 wbody4: store ptr null, ptr %t64 store i32 0, ptr %t65 store i32 0, ptr %t66 %t67 = load ptr, ptr %t31 %t68 = load i32, ptr %t35 %t69 = load i32, ptr %t58 %t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str6266, i32 4) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then6, label %else7 then6: %t72 = load ptr, ptr %t40 store ptr %t72, ptr %t64 store i32 4, ptr %t65 store i32 4, ptr %t66 br label %ifend8 else7: %t73 = load ptr, ptr %t31 %t74 = load i32, ptr %t35 %t75 = load i32, ptr %t58 %t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str6267, i32 2) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then9, label %else10 then9: %t78 = load ptr, ptr %t43 store ptr %t78, ptr %t64 store i32 2, ptr %t65 store i32 2, ptr %t66 br label %ifend11 else10: %t79 = load ptr, ptr %t31 %t80 = load i32, ptr %t35 %t81 = load i32, ptr %t58 %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str6268, i32 2) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then12, label %else13 then12: %t84 = load ptr, ptr %t46 store ptr %t84, ptr %t64 store i32 2, ptr %t65 store i32 2, ptr %t66 br label %ifend14 else13: %t85 = load ptr, ptr %t31 %t86 = load i32, ptr %t35 %t87 = load i32, ptr %t58 %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str6269, i32 2) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %else16 then15: %t90 = load ptr, ptr %t49 store ptr %t90, ptr %t64 store i32 2, ptr %t65 store i32 2, ptr %t66 br label %ifend17 else16: %t91 = load ptr, ptr %t31 %t92 = load i32, ptr %t35 %t93 = load i32, ptr %t58 %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str6270, i32 2) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %else19 then18: %t96 = load ptr, ptr %t52 store ptr %t96, ptr %t64 store i32 2, ptr %t65 store i32 2, ptr %t66 br label %ifend20 else19: %t97 = load ptr, ptr %t31 %t98 = load i32, ptr %t35 %t99 = load i32, ptr %t58 %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str6271, i32 2) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %ifend23 then21: %t102 = load ptr, ptr %t55 store ptr %t102, ptr %t64 store i32 2, ptr %t65 store i32 2, ptr %t66 br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: %t103 = load ptr, ptr %t64 %t104 = icmp eq ptr %t103, null %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then24, label %else25 then24: %t107 = load i32, ptr %t57 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t57 %t109 = load i32, ptr %t58 %t110 = add i32 %t109, 1 store i32 %t110, ptr %t58 br label %ifend26 else25: %t111 = load ptr, ptr %t21 %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = call ptr @lp_str_concat(ptr @.str6272, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str6273) %t116 = load i32, ptr %t57 %t117 = call ptr @fn_itoa(i32 %t116) %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str6274) %t120 = load i32, ptr %t65 %t121 = call ptr @lp_int_str(i32 %t120) %t122 = call ptr @lp_str_concat(ptr %t119, ptr %t121) %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str6275) %t124 = load ptr, ptr %t37 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6276) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = load ptr, ptr %t64 call void @fn_store_at(ptr @.str6277, ptr %t129, ptr %t130) %t131 = load i32, ptr %t65 %t132 = load i32, ptr %t57 %t133 = add i32 %t132, %t131 store i32 %t133, ptr %t57 %t134 = load i32, ptr %t66 %t135 = load i32, ptr %t58 %t136 = add i32 %t135, %t134 store i32 %t136, ptr %t58 br label %ifend26 ifend26: br label %wcond3 wend5: %t137 = load ptr, ptr %t40 %t138 = call ptr @lp_str_concat(ptr @.str6278, ptr %t137) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t43 %t142 = call ptr @lp_str_concat(ptr @.str6279, ptr %t141) %t143 = call ptr @fn_emit_bind(ptr %t142) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t46 %t146 = call ptr @lp_str_concat(ptr @.str6280, ptr %t145) %t147 = call ptr @fn_emit_bind(ptr %t146) store ptr %t147, ptr %t148 %t149 = load ptr, ptr %t49 %t150 = call ptr @lp_str_concat(ptr @.str6281, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t52 %t154 = call ptr @lp_str_concat(ptr @.str6282, ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t55 %t158 = call ptr @lp_str_concat(ptr @.str6283, ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t140 %t162 = call ptr @lp_str_concat(ptr @.str6284, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str6285) %t164 = load ptr, ptr %t144 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6286) %t167 = load ptr, ptr %t148 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str6287) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t171 %t173 = call ptr @lp_str_concat(ptr @.str6288, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6289) %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t152 %t178 = call ptr @lp_str_concat(ptr @.str6290, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6291) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t156 %t183 = call ptr @lp_str_concat(ptr @.str6292, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6293) %t185 = call ptr @fn_emit_bind(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t176 %t188 = call ptr @lp_str_concat(ptr @.str6294, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str6295) %t190 = load ptr, ptr %t181 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @fn_emit_bind(ptr %t191) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t193 %t195 = call ptr @lp_str_concat(ptr @.str6296, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str6297) %t197 = load ptr, ptr %t186 %t198 = call ptr @lp_str_concat(ptr %t196, ptr %t197) %t199 = call ptr @fn_emit_bind(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = call ptr @lp_str_concat(ptr @.str6298, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str6299) %t204 = load ptr, ptr %t160 %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 %t37 %t209 = call ptr @lp_str_concat(ptr @.str6300, ptr %t208) %t210 = call ptr @fn_emit_bind(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 %t213 = call ptr @lp_str_concat(ptr @.str6301, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str6302) %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 @.str6303, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str6304) %t220 = load ptr, ptr %t207 %t221 = call ptr @lp_str_concat(ptr %t219, ptr %t220) %t222 = call ptr @fn_emit_bind(ptr %t221) %t223 = call ptr @fn_val(ptr %t222, ptr @.str6305) store ptr %t223, ptr %retval br label %ret ret: %t224 = load ptr, ptr %retval ret ptr %t224 } define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t23 = alloca ptr %t32 = alloca ptr %t41 = alloca ptr %t50 = alloca ptr %t59 = alloca ptr %t68 = alloca ptr %t85 = alloca ptr %t90 = alloca ptr %t97 = alloca ptr %t104 = alloca ptr %t111 = alloca ptr %t118 = alloca ptr %t139 = alloca ptr %t156 = alloca ptr %t165 = alloca ptr %t188 = alloca ptr %t206 = alloca ptr %t224 = alloca ptr %t242 = alloca ptr %t247 = alloca ptr %t252 = alloca ptr %t257 = alloca ptr %t262 = alloca ptr %t279 = alloca ptr %t284 = alloca ptr %t301 = alloca ptr %t306 = alloca ptr %t311 = alloca ptr %t325 = alloca ptr %t330 = 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 @.str6306) %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 @.str6307) %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 @.str6308) %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 ptr, ptr %t19, i32 0 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_emit_expr(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 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds ptr, ptr %t28, i32 1 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 %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 ptr, ptr %t37, i32 2 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_emit_expr(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t1 %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 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds ptr, ptr %t46, i32 3 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_emit_expr(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t1 %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 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds ptr, ptr %t55, i32 4 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_emit_expr(ptr %t57) store ptr %t58, ptr %t59 %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 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds ptr, ptr %t64, i32 5 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_emit_expr(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t23 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = call ptr @lp_str_concat(ptr @.str6309, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6310) %t74 = load ptr, ptr %t32 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr %t73, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str6311) %t79 = load ptr, ptr %t41 %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 @lp_str_concat(ptr %t82, ptr @.str6312) %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 @.str6313, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6314) %t89 = call ptr @fn_emit_bind(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t50 %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = call ptr @lp_str_concat(ptr @.str6315, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str6316) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t59 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @lp_str_concat(ptr @.str6317, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6318) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t90 %t106 = call ptr @lp_str_concat(ptr @.str6319, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str6320) %t108 = load ptr, ptr %t97 %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr @.str6321, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str6322) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = call ptr @lp_str_concat(ptr @.str6323, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6324) %t122 = load ptr, ptr %t68 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @lp_str_concat(ptr %t121, ptr %t124) %t126 = call ptr @fn_emit_bind(ptr %t125) %t127 = call ptr @fn_val(ptr %t126, ptr @.str6325) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str6326) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then9, label %ifend11 then9: %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 ptr, ptr %t135, 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 @fn_dt_epochday(ptr %t142) %t144 = call ptr @fn_val(ptr %t143, ptr @.str6327) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6328) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then12, label %ifend14 then12: %t148 = load ptr, ptr %t1 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds ptr, ptr %t152, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_expr(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t1 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds ptr, ptr %t161, i32 1 %t163 = load ptr, ptr %t162 %t164 = call ptr @fn_emit_expr(ptr %t163) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t156 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = call ptr @lp_str_concat(ptr @.str6329, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6330) %t171 = load ptr, ptr %t165 %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 @fn_emit_bind(ptr %t174) %t176 = call ptr @fn_val(ptr %t175, ptr @.str6331) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str6332) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then15, label %ifend17 then15: %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 ptr, ptr %t184, i32 0 %t186 = load ptr, ptr %t185 %t187 = call ptr @fn_emit_expr(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_dt_epochday(ptr %t191) %t193 = call ptr @fn_date_component(ptr %t192, i32 0) %t194 = call ptr @fn_val(ptr %t193, ptr @.str6333) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str6334) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then18, label %ifend20 then18: %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 0 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds ptr, ptr %t202, i32 0 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_emit_expr(ptr %t204) store ptr %t205, ptr %t206 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_dt_epochday(ptr %t209) %t211 = call ptr @fn_date_component(ptr %t210, i32 1) %t212 = call ptr @fn_val(ptr %t211, ptr @.str6335) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str6336) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then21, label %ifend23 then21: %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 ptr, ptr %t220, i32 0 %t222 = load ptr, ptr %t221 %t223 = call ptr @fn_emit_expr(ptr %t222) store ptr %t223, ptr %t224 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_dt_epochday(ptr %t227) %t229 = call ptr @fn_date_component(ptr %t228, i32 2) %t230 = call ptr @fn_val(ptr %t229, ptr @.str6337) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str6338) %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then24, label %ifend26 then24: %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 ptr, ptr %t238, i32 0 %t240 = load ptr, ptr %t239 %t241 = call ptr @fn_emit_expr(ptr %t240) store ptr %t241, ptr %t242 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %Cmp_Val, ptr %t243, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = call ptr @fn_dt_epochday(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t247 %t249 = call ptr @lp_str_concat(ptr @.str6339, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6340) %t251 = call ptr @fn_emit_bind(ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t252 %t254 = call ptr @lp_str_concat(ptr @.str6341, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str6342) %t256 = call ptr @fn_emit_bind(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t257 %t259 = call ptr @lp_str_concat(ptr @.str6343, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str6344) %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 @.str6345, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str6346) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str6347) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str6348) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then27, label %ifend29 then27: %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 ptr, ptr %t275, i32 0 %t277 = load ptr, ptr %t276 %t278 = call ptr @fn_emit_expr(ptr %t277) store ptr %t278, ptr %t279 %t280 = load ptr, ptr %t279 %t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = call ptr @fn_dt_secofday(ptr %t282) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t284 %t286 = call ptr @lp_str_concat(ptr @.str6349, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6350) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str6351) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str6352) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then30, label %ifend32 then30: %t293 = load ptr, ptr %t1 %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds ptr, ptr %t297, i32 0 %t299 = load ptr, ptr %t298 %t300 = call ptr @fn_emit_expr(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = call ptr @fn_dt_secofday(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 %t308 = call ptr @lp_str_concat(ptr @.str6353, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str6354) %t310 = call ptr @fn_emit_bind(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t311 %t313 = call ptr @lp_str_concat(ptr @.str6355, ptr %t312) %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str6356) %t315 = call ptr @fn_emit_bind(ptr %t314) %t316 = call ptr @fn_val(ptr %t315, ptr @.str6357) store ptr %t316, ptr %retval br label %ret ifend32: %t317 = load ptr, ptr %t1 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 7 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds ptr, ptr %t321, i32 0 %t323 = load ptr, ptr %t322 %t324 = call ptr @fn_emit_expr(ptr %t323) store ptr %t324, ptr %t325 %t326 = load ptr, ptr %t325 %t327 = getelementptr inbounds %Cmp_Val, ptr %t326, i32 0, i32 0 %t328 = load ptr, ptr %t327 %t329 = call ptr @fn_dt_secofday(ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t330 %t332 = call ptr @lp_str_concat(ptr @.str6358, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6359) %t334 = call ptr @fn_emit_bind(ptr %t333) %t335 = call ptr @fn_val(ptr %t334, ptr @.str6360) store ptr %t335, ptr %retval br label %ret ret: %t336 = load ptr, ptr %retval ret ptr %t336 } define void @fn_emit_datetime_prelude() { entry: call void @fn_emith(ptr @.str6361) call void @fn_emith(ptr @.str6362) call void @fn_emith(ptr @.str6363) call void @fn_emith(ptr @.str6364) call void @fn_emith(ptr @.str6365) call void @fn_emith(ptr @.str6366) call void @fn_emith(ptr @.str6367) call void @fn_emith(ptr @.str6368) call void @fn_emith(ptr @.str6369) call void @fn_emith(ptr @.str6370) call void @fn_emith(ptr @.str6371) call void @fn_emith(ptr @.str6372) call void @fn_emith(ptr @.str6373) call void @fn_emith(ptr @.str6374) call void @fn_emith(ptr @.str6375) call void @fn_emith(ptr @.str6376) call void @fn_emith(ptr @.str6377) call void @fn_emith(ptr @.str6378) call void @fn_emith(ptr @.str6379) call void @fn_emith(ptr @.str6380) call void @fn_emith(ptr @.str6381) call void @fn_emith(ptr @.str6382) call void @fn_emith(ptr @.str6383) call void @fn_emith(ptr @.str6384) call void @fn_emith(ptr @.str6385) call void @fn_emith(ptr @.str6386) call void @fn_emith(ptr @.str6387) call void @fn_emith(ptr @.str6388) call void @fn_emith(ptr @.str6389) call void @fn_emith(ptr @.str6390) call void @fn_emith(ptr @.str6391) call void @fn_emith(ptr @.str6392) call void @fn_emith(ptr @.str6393) call void @fn_emith(ptr @.str6394) call void @fn_emith(ptr @.str6395) call void @fn_emith(ptr @.str6396) call void @fn_emith(ptr @.str6397) call void @fn_emith(ptr @.str6398) call void @fn_emith(ptr @.str6399) call void @fn_emith(ptr @.str6400) call void @fn_emith(ptr @.str6401) call void @fn_emith(ptr @.str6402) call void @fn_emith(ptr @.str6403) call void @fn_emith(ptr @.str6404) call void @fn_emith(ptr @.str6405) call void @fn_emith(ptr @.str6406) call void @fn_emith(ptr @.str6407) call void @fn_emith(ptr @.str6408) call void @fn_emith(ptr @.str6409) call void @fn_emith(ptr @.str6410) call void @fn_emith(ptr @.str6411) call void @fn_emith(ptr @.str6412) call void @fn_emith(ptr @.str6413) call void @fn_emith(ptr @.str6414) call void @fn_emith(ptr @.str6415) call void @fn_emith(ptr @.str6416) call void @fn_emith(ptr @.str6417) call void @fn_emith(ptr @.str6418) call void @fn_emith(ptr @.str6419) call void @fn_emith(ptr @.str6420) call void @fn_emith(ptr @.str6421) call void @fn_emith(ptr @.str6422) call void @fn_emith(ptr @.str6423) call void @fn_emith(ptr @.str6424) call void @fn_emith(ptr @.str6425) call void @fn_emith(ptr @.str6426) call void @fn_emith(ptr @.str6427) call void @fn_emith(ptr @.str6428) call void @fn_emith(ptr @.str6429) call void @fn_emith(ptr @.str6430) call void @fn_emith(ptr @.str6431) call void @fn_emith(ptr @.str6432) call void @fn_emith(ptr @.str6433) call void @fn_emith(ptr @.str6434) call void @fn_emith(ptr @.str6435) call void @fn_emith(ptr @.str6436) call void @fn_emith(ptr @.str6437) call void @fn_emith(ptr @.str6438) call void @fn_emith(ptr @.str6439) call void @fn_emith(ptr @.str6440) call void @fn_emith(ptr @.str6441) call void @fn_emith(ptr @.str6442) call void @fn_emith(ptr @.str6443) call void @fn_emith(ptr @.str6444) call void @fn_emith(ptr @.str6445) call void @fn_emith(ptr @.str6446) call void @fn_emith(ptr @.str6447) call void @fn_emith(ptr @.str6448) call void @fn_emith(ptr @.str6449) call void @fn_emith(ptr @.str6450) call void @fn_emith(ptr @.str6451) call void @fn_emith(ptr @.str6452) call void @fn_emith(ptr @.str6453) call void @fn_emith(ptr @.str6454) call void @fn_emith(ptr @.str6455) call void @fn_emith(ptr @.str6456) call void @fn_emith(ptr @.str6457) call void @fn_emith(ptr @.str6458) 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 @.str6459) %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 @.str6460) %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 @.str6461) %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 @.str6462) %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 %t22 = alloca ptr %t37 = alloca ptr %t39 = alloca ptr %t48 = 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 @.str6463) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6464) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6465) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6466) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str6467) %t10 = call ptr @fn_val(ptr @.str6468, ptr @.str6469) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6470) %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 ptr, ptr %t18, i32 0 %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 @.str6471, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6472) call void @fn_emit(ptr %t27) %t28 = call ptr @fn_val(ptr @.str6473, ptr @.str6474) store ptr %t28, ptr %retval br label %ret ifend8: %t29 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t33, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(ptr %t35) store ptr %t36, ptr %t37 %t38 = call ptr @fn_emit_bind(ptr @.str6475) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str6476, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6477) %t43 = load ptr, ptr %t37 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @lp_str_concat(ptr %t42, ptr %t45) %t47 = call ptr @fn_emit_bind(ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call ptr @lp_str_concat(ptr @.str6478, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str6479) call void @fn_emit(ptr %t51) %t52 = call ptr @fn_val(ptr @.str6480, ptr @.str6481) store ptr %t52, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } 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 @.str6482) %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 @.str6483) %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 @.str6484) %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 @.str6485) %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 @.str6486) %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 @.str6487) %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 @.str6488, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6489) %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 @.str6490, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6491) %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 @.str6492, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6493) %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 @.str6494, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6495) %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 @.str6496, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6497) %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 @.str6498, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6499) %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 @.str6500, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6501) %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 @.str6502, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6503) %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 @.str6504, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6505) %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 @.str6506, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6507) %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 %t13 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t54 = alloca ptr %t63 = alloca ptr %t72 = alloca ptr %t81 = alloca ptr %t92 = alloca ptr %t99 = alloca ptr %t118 = alloca ptr %t127 = alloca ptr %t134 = alloca ptr %t141 = alloca ptr %t160 = alloca ptr %t169 = alloca ptr %t178 = alloca ptr %t191 = alloca ptr %t204 = alloca ptr %t217 = alloca ptr %t234 = alloca ptr %t243 = alloca ptr %t249 = alloca ptr %t254 = alloca ptr %t259 = alloca ptr %t264 = alloca ptr %t271 = alloca ptr %t276 = alloca ptr %t283 = alloca ptr %t288 = alloca ptr %t295 = alloca ptr %t300 = alloca ptr %t314 = alloca ptr %t323 = alloca ptr %t328 = alloca ptr %t333 = alloca ptr %t338 = alloca ptr %t342 = alloca ptr %t351 = alloca ptr %t356 = alloca ptr %t363 = alloca ptr %t367 = alloca ptr %t376 = alloca ptr %t381 = alloca ptr %t388 = alloca ptr %t392 = alloca ptr %t401 = alloca ptr %t406 = alloca ptr %t413 = 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 @.str6508) %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 ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 ptr, ptr %t18, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t27, i32 2 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t13 %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t22 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t31 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_color_pack(ptr %t34, ptr %t37, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str6509) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6510) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then3, label %ifend5 then3: %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 ptr, ptr %t50, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_emit_expr(ptr %t52) store ptr %t53, ptr %t54 %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 ptr, ptr %t59, i32 1 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_emit_expr(ptr %t61) store ptr %t62, ptr %t63 %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 ptr, ptr %t68, i32 2 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_expr(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t1 %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 = getelementptr inbounds ptr, ptr %t77, i32 3 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_emit_expr(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t54 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = load ptr, ptr %t63 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = load ptr, ptr %t72 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_color_pack(ptr %t84, ptr %t87, ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t81 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr @.str6511, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6512) %t98 = call ptr @fn_emit_bind(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t92 %t101 = call ptr @lp_str_concat(ptr @.str6513, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6514) %t103 = load ptr, ptr %t99 %t104 = call ptr @lp_str_concat(ptr %t102, ptr %t103) %t105 = call ptr @fn_emit_bind(ptr %t104) %t106 = call ptr @fn_val(ptr %t105, ptr @.str6515) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str6516) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then6, label %ifend8 then6: %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 ptr, ptr %t114, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_emit_expr(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t1 %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 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds ptr, ptr %t123, i32 1 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_emit_expr(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t118 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @lp_str_concat(ptr @.str6517, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str6518) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t127 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @lp_str_concat(ptr @.str6519, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str6520) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t134 %t143 = call ptr @lp_str_concat(ptr @.str6521, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6522) %t145 = load ptr, ptr %t141 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @fn_emit_bind(ptr %t146) %t148 = call ptr @fn_val(ptr %t147, ptr @.str6523) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str6524) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then9, label %ifend11 then9: %t152 = load ptr, ptr %t1 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 7 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds ptr, ptr %t156, i32 0 %t158 = load ptr, ptr %t157 %t159 = call ptr @fn_emit_expr(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t1 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds ptr, ptr %t165, i32 1 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_emit_expr(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t1 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds ptr, ptr %t174, i32 2 %t176 = load ptr, ptr %t175 %t177 = call ptr @fn_emit_expr(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t160 %t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str6525) %t183 = load ptr, ptr %t169 %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str6526) %t187 = load ptr, ptr %t178 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = call ptr @fn_color_lerp_ch(ptr %t182, ptr %t186, ptr %t189) store ptr %t190, ptr %t191 %t192 = load ptr, ptr %t160 %t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str6527) %t196 = load ptr, ptr %t169 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str6528) %t200 = load ptr, ptr %t178 %t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0 %t202 = load ptr, ptr %t201 %t203 = call ptr @fn_color_lerp_ch(ptr %t195, ptr %t199, ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t160 %t206 = getelementptr inbounds %Cmp_Val, ptr %t205, i32 0, i32 0 %t207 = load ptr, ptr %t206 %t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str6529) %t209 = load ptr, ptr %t169 %t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str6530) %t213 = load ptr, ptr %t178 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = call ptr @fn_color_lerp_ch(ptr %t208, ptr %t212, ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t191 %t219 = load ptr, ptr %t204 %t220 = load ptr, ptr %t217 %t221 = call ptr @fn_color_pack(ptr %t218, ptr %t219, ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str6531) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6532) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then12, label %ifend14 then12: %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 ptr, ptr %t230, 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 ptr, ptr %t239, i32 1 %t241 = load ptr, ptr %t240 %t242 = call ptr @fn_emit_expr(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = call ptr @lp_str_concat(ptr @.str6533, ptr %t246) %t248 = call ptr @fn_emit_bind(ptr %t247) store ptr %t248, ptr %t249 %t250 = load ptr, ptr %t234 %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str6534) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t234 %t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 %t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str6535) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t234 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 %t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str6536) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = call ptr @lp_str_concat(ptr @.str6537, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6538) %t268 = load ptr, ptr %t249 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @fn_emit_bind(ptr %t269) store ptr %t270, ptr %t271 %t272 = load ptr, ptr %t271 %t273 = call ptr @lp_str_concat(ptr @.str6539, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6540) %t275 = call ptr @fn_emit_bind(ptr %t274) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t259 %t278 = call ptr @lp_str_concat(ptr @.str6541, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6542) %t280 = load ptr, ptr %t249 %t281 = call ptr @lp_str_concat(ptr %t279, ptr %t280) %t282 = call ptr @fn_emit_bind(ptr %t281) store ptr %t282, ptr %t283 %t284 = load ptr, ptr %t283 %t285 = call ptr @lp_str_concat(ptr @.str6543, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str6544) %t287 = call ptr @fn_emit_bind(ptr %t286) store ptr %t287, ptr %t288 %t289 = load ptr, ptr %t264 %t290 = call ptr @lp_str_concat(ptr @.str6545, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str6546) %t292 = load ptr, ptr %t249 %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 @.str6547, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str6548) %t299 = call ptr @fn_emit_bind(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t276 %t302 = load ptr, ptr %t288 %t303 = load ptr, ptr %t300 %t304 = call ptr @fn_color_pack(ptr %t301, ptr %t302, ptr %t303) %t305 = call ptr @fn_val(ptr %t304, ptr @.str6549) store ptr %t305, ptr %retval br label %ret ifend14: %t306 = load ptr, ptr %t1 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 7 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds ptr, ptr %t310, i32 0 %t312 = load ptr, ptr %t311 %t313 = call ptr @fn_emit_expr(ptr %t312) store ptr %t313, ptr %t314 %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 ptr, ptr %t319, i32 1 %t321 = load ptr, ptr %t320 %t322 = call ptr @fn_emit_expr(ptr %t321) store ptr %t322, ptr %t323 %t324 = load ptr, ptr %t314 %t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str6550) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t314 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str6551) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t314 %t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 %t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str6552) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 %t340 = call ptr @lp_str_concat(ptr @.str6553, ptr %t339) %t341 = call ptr @fn_emit_bind(ptr %t340) store ptr %t341, ptr %t342 %t343 = load ptr, ptr %t342 %t344 = call ptr @lp_str_concat(ptr @.str6554, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str6555) %t346 = load ptr, ptr %t323 %t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0 %t348 = load ptr, ptr %t347 %t349 = call ptr @lp_str_concat(ptr %t345, 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 @.str6556, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str6557) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t328 %t358 = call ptr @lp_str_concat(ptr @.str6558, ptr %t357) %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str6559) %t360 = load ptr, ptr %t356 %t361 = call ptr @lp_str_concat(ptr %t359, ptr %t360) %t362 = call ptr @fn_emit_bind(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t333 %t365 = call ptr @lp_str_concat(ptr @.str6560, ptr %t364) %t366 = call ptr @fn_emit_bind(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t367 %t369 = call ptr @lp_str_concat(ptr @.str6561, ptr %t368) %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str6562) %t371 = load ptr, ptr %t323 %t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0 %t373 = load ptr, ptr %t372 %t374 = call ptr @lp_str_concat(ptr %t370, ptr %t373) %t375 = call ptr @fn_emit_bind(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t376 %t378 = call ptr @lp_str_concat(ptr @.str6563, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str6564) %t380 = call ptr @fn_emit_bind(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t333 %t383 = call ptr @lp_str_concat(ptr @.str6565, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str6566) %t385 = load ptr, ptr %t381 %t386 = call ptr @lp_str_concat(ptr %t384, ptr %t385) %t387 = call ptr @fn_emit_bind(ptr %t386) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t338 %t390 = call ptr @lp_str_concat(ptr @.str6567, ptr %t389) %t391 = call ptr @fn_emit_bind(ptr %t390) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t392 %t394 = call ptr @lp_str_concat(ptr @.str6568, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str6569) %t396 = load ptr, ptr %t323 %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 %t399 = call ptr @lp_str_concat(ptr %t395, ptr %t398) %t400 = call ptr @fn_emit_bind(ptr %t399) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t401 %t403 = call ptr @lp_str_concat(ptr @.str6570, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str6571) %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t338 %t408 = call ptr @lp_str_concat(ptr @.str6572, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6573) %t410 = load ptr, ptr %t406 %t411 = call ptr @lp_str_concat(ptr %t409, ptr %t410) %t412 = call ptr @fn_emit_bind(ptr %t411) store ptr %t412, ptr %t413 %t414 = load ptr, ptr %t363 %t415 = load ptr, ptr %t388 %t416 = load ptr, ptr %t413 %t417 = call ptr @fn_color_pack(ptr %t414, ptr %t415, ptr %t416) %t418 = call ptr @fn_val(ptr %t417, ptr @.str6574) store ptr %t418, ptr %retval br label %ret ret: %t419 = load ptr, ptr %retval ret ptr %t419 } 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 @.str6575) %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 @.str6576) %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 @.str6577) %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 @.str6578) %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 @.str6579) %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 @.str6580) %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 @.str6581) %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 @.str6582) %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 @.str6583) %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 @.str6584) %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 @.str6585) %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 @.str6586) %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 @.str6587) %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 @.str6588) %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 @.str6589) %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 @.str6590) %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 @.str6591) %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 @.str6592) %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 @.str6593) %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 @.str6594) %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 @.str6595) %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 @.str6596) %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 @.str6597) %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 @.str6598) %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 @.str6599) %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 @.str6600) %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 @.str6601) %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 @.str6602) %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 @.str6603) %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 @.str6604) %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 @.str6605) %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 @.str6606) %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 @.str6607) %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 @.str6608) %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 @.str6609) %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 @.str6610) %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 @.str6611) %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 @.str6612) %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 @.str6613) %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 @.str6614) %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 @.str6615) %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 @.str6616) %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 @.str6617) %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 @.str6618) %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 @.str6619) %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 @.str6620) %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 @.str6621) %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 @.str6622) %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 @.str6623) %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 @.str6624) %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 @.str6625) %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 @.str6626) %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 @.str6627) %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 @.str6628) %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 @.str6629) %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 @.str6630) %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 @.str6631) %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 @.str6632) %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 @.str6633) %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 @.str6634) %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 @.str6635) %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 @.str6636) %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 @.str6637) %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 @.str6638) %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 @.str6639) %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 @.str6640) %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 @.str6641) %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 @.str6642) %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 @.str6643) %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 @.str6644) %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 @.str6645) %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 @.str6646) %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 @.str6647) %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 @.str6648) %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 @.str6649) %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 @.str6650) %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 @.str6651) %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 @.str6652) %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 @.str6653) %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 @.str6654) %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 @.str6655) %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 @.str6656) %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 @.str6657) %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 @.str6658) %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 @.str6659) %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 @.str6660) %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 @.str6661) %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 @.str6662) %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 @.str6663) %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 @.str6664) %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 @.str6665) %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 @.str6666) %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 @.str6667) %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 @.str6668) %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 @.str6669) %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 @.str6670) %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 @.str6671) %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 @.str6672) %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 @.str6673) %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 @.str6674) %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 @.str6675) %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 @.str6676) %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 @.str6677) %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 @.str6678) %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 @.str6679) %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 @.str6680) %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 @.str6681) %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 @.str6682) %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 @.str6683) %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 @.str6684) %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 @.str6685) %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 @.str6686) %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 @.str6687) %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 @.str6688) %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 @.str6689) %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 @.str6690) %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 @.str6691) %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 @.str6692) %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 @.str6693) %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 @.str6694) %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 @.str6695) %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 @.str6696) %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 @.str6697) %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 @.str6698) %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 @.str6699) %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 @.str6700) %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 @.str6701) %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 @.str6702) %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 @.str6703) %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 @.str6704) %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 @.str6705) %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 @.str6706) %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 @.str6707) %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 @.str6708) %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 @.str6709) %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 @.str6710) %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 @.str6711) %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 @.str6712) %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 @.str6713) %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 @.str6714) %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 @.str6715) %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 @.str6716) %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 @.str6717) %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 @.str6718) %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 @.str6719) %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 @.str6720) %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 @.str6721) %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 @.str6722) %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 @.str6723) %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 @.str6724) %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 @.str6725) %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 @.str6726) %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 @.str6727) %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 @.str6728) %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 @.str6729) %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 @.str6730) %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 @.str6731) %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 @.str6732) %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 @.str6733) %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 @.str6734) %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 @.str6735) %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 @.str6736) %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 @.str6737) %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 @.str6738) %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 @.str6739) %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 @.str6740) %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 @.str6741) %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 @.str6742) %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 @.str6743) %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 @.str6744) %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 @.str6745) %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 @.str6746) %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 @.str6747) %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 @.str6748) %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 @.str6749) %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 @.str6750) %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 @.str6751) %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 @.str6752) %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 @.str6753) %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 @.str6754) %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 @.str6755) %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 @.str6756) %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 @.str6757) %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 @.str6758) %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 @.str6759) %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 @.str6760) %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 @.str6761) %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 @.str6762) %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 @.str6763) %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 @.str6764) %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 @.str6765) %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 @.str6766) %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 @.str6767) %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 @.str6768) %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 @.str6769) %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 @.str6770) %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 @.str6771) %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 @.str6772) %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 @.str6773) %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 @.str6774) %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 @.str6775) %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 @.str6776) %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 @.str6777) %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 @.str6778) %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 @.str6779) %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 @.str6780) %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 @.str6781) %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 @.str6782) %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 @.str6783) %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 @.str6784) %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 @.str6785) %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 @.str6786) %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 @.str6787) %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 @.str6788) %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 @.str6789) %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 @.str6790) %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 @.str6791) %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 @.str6792) %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 @.str6793) %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 @.str6794) %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 @.str6795) %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 %t78 = alloca i32 %t79 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6796) %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 @.str6797) %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 @.str6798) %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 @.str6799) %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 @.str6800) %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 @.str6801) %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 @.str6802) %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 @.str6803) %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 @.str6804) %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 @.str6805) %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 @.str6806) %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 @.str6807) %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 @.str6808) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store i32 48, ptr %retval br label %ret ifend38: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str6809) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store i32 49, ptr %retval br label %ret ifend41: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6810) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then42, label %ifend44 then42: store i32 50, ptr %retval br label %ret ifend44: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str6811) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then45, label %ifend47 then45: store i32 51, ptr %retval br label %ret ifend47: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6812) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then48, label %ifend50 then48: store i32 52, ptr %retval br label %ret ifend50: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6813) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then51, label %ifend53 then51: store i32 53, ptr %retval br label %ret ifend53: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6814) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then54, label %ifend56 then54: store i32 54, ptr %retval br label %ret ifend56: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str6815) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then57, label %ifend59 then57: store i32 55, ptr %retval br label %ret ifend59: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str6816) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then60, label %ifend62 then60: store i32 56, ptr %retval br label %ret ifend62: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6817) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then63, label %ifend65 then63: store i32 57, ptr %retval br label %ret ifend65: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds i8, ptr %t67, i32 1 %t69 = load i8, ptr %t68 %t70 = zext i8 %t69 to i32 %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then66, label %ifend68 then66: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds i8, ptr %t74, i32 0 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 store i32 %t77, ptr %t78 %t80 = load i32, ptr %t78 %t81 = icmp sge i32 %t80, 65 %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 %sc69, label %scend70 sc69: %t85 = load i32, ptr %t78 %t86 = icmp sle i32 %t85, 90 %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 %scend70 scend70: %t90 = load i32, ptr %t79 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then71, label %ifend73 then71: %t92 = load i32, ptr %t78 %t93 = add i32 %t92, 32 store i32 %t93, ptr %retval br label %ret ifend73: br label %ifend68 ifend68: %t94 = sub i32 0, 1 store i32 %t94, ptr %retval br label %ret ret: %t95 = load i32, ptr %retval ret i32 %t95 } 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 @.str6818, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6819) %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 @.str6820, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6821) %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 %t24 = 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 ptr, ptr %t20, i32 %t21 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = load ptr, ptr %t1 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t24 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %retval br label %ret ifend8: %t34 = load i32, ptr %t6 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } 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 %t38 = alloca ptr %t40 = alloca ptr %t50 = alloca ptr %t53 = alloca ptr %t64 = alloca ptr %t75 = alloca ptr %t82 = 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 @.str6822) 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 @.str6823, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6824) %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 ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %t38 %t39 = call ptr @fn_nreg() store ptr %t39, ptr %t40 call void @fn_emit(ptr @.str6825) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str6826) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str6827) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str6828) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str6829) %t46 = load ptr, ptr %t38 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_llty(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_zero_of(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t38 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t55 %t57 = icmp ne ptr %t56, null %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then6, label %ifend8 then6: %t60 = load ptr, ptr %t38 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 %t62 = load ptr, ptr %t61 %t63 = call ptr @fn_emit_expr(ptr %t62) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t38 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 3 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_coerce_code(ptr %t65, ptr %t68) store ptr %t69, ptr %t53 br label %ifend8 ifend8: %t70 = load ptr, ptr %t1 %t71 = load ptr, ptr %t38 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_rec_field(ptr %t70, ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then9, label %ifend11 then9: %t80 = load ptr, ptr %t75 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t82 %t84 = load ptr, ptr %t38 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_coerce_code(ptr %t83, ptr %t86) store ptr %t87, ptr %t53 br label %ifend11 ifend11: call void @fn_emit(ptr @.str6830) %t88 = load ptr, ptr %t50 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str6831) %t89 = load ptr, ptr %t53 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str6832) %t90 = load ptr, ptr %t40 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str6833) %t91 = load i32, ptr %t20 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t20 br label %wcond3 wend5: %t93 = load ptr, ptr %t19 %t94 = load ptr, ptr %t0 %t95 = call ptr @fn_val(ptr %t93, ptr %t94) store ptr %t95, ptr %retval br label %ret ret: %t96 = load ptr, ptr %retval ret ptr %t96 } 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 @.str6834) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str6835, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6836) %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 @.str6837) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str6838) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str6839) call void @fn_emit(ptr @.str6840) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str6841) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str6842) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str6843) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str6844) call void @fn_emit(ptr @.str6845) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str6846) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6847) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6848) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6849) call void @fn_emit(ptr @.str6850) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str6851) %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 @.str6852) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str6853) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str6854) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str6855) %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 %t9 = alloca ptr %t19 = alloca ptr %t30 = 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 ptr, ptr %t5, i32 0 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_emit_expr(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 %t13 = call i32 @fn_is_slice_ty(ptr %t12) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = load ptr, ptr %t9 %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_slice_field(ptr %t17, i32 1) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str6856, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str6857) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t9 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = call ptr @lp_str_concat(ptr @.str6858, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6859) %t29 = call ptr @fn_emit_bind(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = call ptr @lp_str_concat(ptr @.str6860, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6861) %t34 = call ptr @fn_emit_bind(ptr %t33) %t35 = call ptr @fn_val(ptr %t34, ptr @.str6862) store ptr %t35, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define ptr @fn_emit_push(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t9 = 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 ptr, ptr %t5, i32 0 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_emit_expr(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load ptr, ptr %t9 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_slice_elem(ptr %t15) %t17 = call ptr @fn_llty(ptr %t16) %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 = getelementptr inbounds ptr, ptr %t22, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) call void @fn_emit_push_into(ptr %t12, ptr %t17, ptr %t25) %t26 = call ptr @fn_val(ptr @.str6863, ptr @.str6864) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define ptr @fn_emit_list(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t17 = alloca ptr %t22 = alloca ptr %t27 = alloca ptr %t30 = alloca ptr %t36 = alloca i32 %t55 = 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 @.str6865) 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 ptr, ptr %t13, 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 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str6866, ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t17 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_llty(ptr %t25) store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t22 %t29 = call ptr @fn_emit_new_slice(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 = load ptr, ptr %t27 %t35 = load ptr, ptr %t17 call void @fn_emit_push_into(ptr %t33, ptr %t34, ptr %t35) store i32 1, ptr %t36 br label %wcond3 wcond3: %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t0 %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 1 %t42 = load i32, ptr %t41 %t43 = icmp slt i32 %t37, %t42 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %wbody4, label %wend5 wbody4: %t46 = load ptr, ptr %t0 %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 = load i32, ptr %t36 %t52 = getelementptr inbounds ptr, ptr %t50, i32 %t51 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_emit_expr(ptr %t53) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = load ptr, ptr %t17 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t58, ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then6, label %ifend8 then6: %t66 = load ptr, ptr %t17 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr @.str6867, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6868) %t71 = load ptr, ptr %t55 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @lp_str_concat(ptr %t70, ptr %t73) call void @fn_perr(ptr %t74) br label %ifend8 ifend8: %t75 = load ptr, ptr %t30 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t27 %t79 = load ptr, ptr %t55 call void @fn_emit_push_into(ptr %t77, ptr %t78, ptr %t79) %t80 = load i32, ptr %t36 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t36 br label %wcond3 wend5: %t82 = load ptr, ptr %t30 store ptr %t82, ptr %retval br label %ret ret: %t83 = load ptr, ptr %retval ret ptr %t83 } 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 @.str6869, 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 @.str6870, 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 @.str6871, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6872) %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 @.str6873) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str6874) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str6875) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6876) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6877) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6878) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6879) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str6880, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6881) %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 @.str6882, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6883) %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 @.str6884, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6885) %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 @.str6886, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6887) %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 @.str6888, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6889) %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 @.str6890, 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 @.str6891, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6892) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6893) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str6894) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str6895) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str6896) call void @fn_emit(ptr @.str6897) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str6898) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str6899) call void @fn_emit(ptr @.str6900) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str6901) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str6902) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str6903, 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 @.str6904) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str6905) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str6906) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str6907) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6908) call void @fn_emit(ptr @.str6909) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str6910) %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 @.str6911) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str6912) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str6913, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6914) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str6915) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str6916) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str6917) 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 %t22 = alloca ptr %t23 = alloca i32 %t51 = 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 ptr, ptr %t18, i32 %t19 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t24 = load i32, ptr %t2 %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 1 %t29 = load i32, ptr %t28 %t30 = sub i32 %t29, 1 %t31 = icmp eq i32 %t24, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t23 br i1 %t33, label %sc6, label %scend7 sc6: %t35 = load ptr, ptr %t22 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 16 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t23 br label %scend7 scend7: %t42 = load i32, ptr %t23 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %else9 then8: %t44 = load ptr, ptr %t22 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8 %t46 = load i32, ptr %t45 call void @fn_emit_cov_hit(i32 %t46) %t47 = load ptr, ptr %t22 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_emit_expr(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str6919) %t54 = call ptr @lp_str_concat(ptr @.str6918, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6920) %t56 = load ptr, ptr %t1 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6921) call void @fn_emit(ptr %t58) br label %ifend10 else9: %t59 = load ptr, ptr %t22 call void @fn_emit_stmt(ptr %t59) br label %ifend10 ifend10: %t60 = load i32, ptr %t2 %t61 = add i32 %t60, 1 store i32 %t61, 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 @.str6922) %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 @.str6923, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6924) %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 @.str6925) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6926, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6927) 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 @.str6928, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6929) %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 @.str6930, 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 @.str6931, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6932) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str6933) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str6934) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str6935) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str6936, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6937) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6938) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6939) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6940) 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 @.str6941, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6942) %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 @.str6943, 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 @.str6944, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6945) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6946) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str6947, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6948) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6949) 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 @.str6950, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6951) %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 @.str6952, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str6953) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str6954, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6955) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6956) 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 @.str6957, ptr %t104, ptr @.str6958) %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 @.str6959, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6960) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6961) 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 @.str6962, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str6963) 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 @.str6964, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6965) %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 @.str6966) 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 @.str6967, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6968) %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 @.str6969, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6970) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6971) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6972) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6973) %t22 = call ptr @fn_lbl(ptr @.str6974) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str6975) 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 @.str6976) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str6977) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6978) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6979) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6980) br label %ifend2 else1: call void @fn_emit(ptr @.str6981) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6982) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str6983) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str6984) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str6985) %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 @.str6986, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6987) %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 @.str6988, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6989) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str6990) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str6991) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str6992) call void @fn_emit(ptr @.str6993) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str6994) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str6995) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str6996, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str6997) 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 @.str6998) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6999, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7000) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7001, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7002) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7003, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7004) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7005, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7006) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7007, ptr %retval br label %ret ifend14: store ptr @.str7008, 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 @.str7009) %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 @.str7010) %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 @.str7011) %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 @.str7012) %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 @.str7013) %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 @.str7014) %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 @.str7015) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7016, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7017) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7018, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7019) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7020, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7021) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7022, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7023) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7024, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7025) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str7026, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7027) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str7028, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7029) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str7030, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7031) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str7032, ptr %retval br label %ret ifend26: store ptr @.str7033, 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 @.str7034) %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 @.str7035, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7036) %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 %t12 = alloca i32 %t47 = alloca ptr %t52 = alloca ptr %t60 = alloca i32 %t77 = 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 @.str7037, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str7038) %t10 = call ptr @fn_to_fp(ptr %t5, ptr %t6, ptr %t9) store ptr %t10, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call i32 @fn_is_fp(ptr %t15) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t12 br i1 %t17, label %sc3, label %scend4 sc3: %t19 = load ptr, ptr %t1 %t20 = call i32 @fn_is_fp(ptr %t19) %t21 = icmp eq i32 %t20, 0 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t12 br label %scend4 scend4: %t25 = load i32, ptr %t12 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t11 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t1 %t29 = call ptr @fn_llty(ptr %t28) %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str7039) %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t11 br label %scend6 scend6: %t35 = load i32, ptr %t11 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr @.str7040, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str7041) %t42 = load ptr, ptr %t1 %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str7042) call void @fn_perr(ptr %t44) br label %ifend9 ifend9: %t45 = load ptr, ptr %t1 %t46 = call ptr @fn_llty(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_llty(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t47 %t54 = load ptr, ptr %t52 %t55 = call i32 @lp_str_eq(ptr %t53, ptr %t54) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then10, label %ifend12 then10: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %retval br label %ret ifend12: %t61 = load ptr, ptr %t47 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str7043) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t60 br i1 %t63, label %sc13, label %scend14 sc13: %t65 = load ptr, ptr %t52 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str7044) %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t60 br label %scend14 scend14: %t69 = load i32, ptr %t60 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then15, label %ifend17 then15: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = call ptr @lp_str_concat(ptr @.str7045, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7046) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %retval br label %ret ifend17: %t78 = load ptr, ptr %t47 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str7047) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t77 br i1 %t80, label %sc18, label %scend19 sc18: %t82 = load ptr, ptr %t52 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str7048) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 br label %scend19 scend19: %t86 = load i32, ptr %t77 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then20, label %ifend22 then20: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str7049, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str7050) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %retval br label %ret ifend22: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 store ptr %t96, ptr %retval br label %ret ret: %t97 = load ptr, ptr %retval ret ptr %t97 } 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 @.str7051) %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 @.str7052, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str7053) %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 @.str7054) %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 @.str7055, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7056) %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 @.str7057) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str7058) 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 @.str7059, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7060) %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 @.str7061) %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 @.str7062) %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 @.str7063, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str7064) %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 @.str7065, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str7066) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str7067) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str7068) 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 @.str7069) %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 @.str7070) %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 @.str7071, 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 @.str7072) %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 @.str7073) %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 @.str7074) %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 @.str7075) %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 @.str7076) %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 @.str7077) %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 @.str7078) %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 @.str7079) %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 @.str7080, 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 @.str7081) %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 @.str7082) %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 @.str7083) %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 @.str7084) %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 @.str7085) %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 @.str7086) %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 @.str7087, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str7088) %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 @.str7089) %t115 = load ptr, ptr %t0 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str7090) 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 @.str7091) %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 @.str7092) %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 @.str7093) %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 @.str7094) %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 @.str7095, 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 @.str7096, 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 @.str7097) %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 @.str7098) %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 @.str7099, 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 @.str7100, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str7101) %t232 = load ptr, ptr %t198 %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str7102) %t235 = load ptr, ptr %t193 %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str7103) %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 @.str7104, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str7105) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str7106) 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 @.str7107) %t258 = load ptr, ptr %t251 %t259 = call ptr @lp_str_concat(ptr %t257, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str7108) %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 @.str7109) 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 @.str7110) %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 @.str7111, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str7112) %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 @.str7113, ptr %t281) %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str7114) %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 @.str7115, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str7116) %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 @.str7117, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str7118) %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 @.str7119, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str7120) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = call ptr @fn_val(ptr %t301, ptr @.str7121) store ptr %t302, ptr %retval br label %ret ifend64: %t303 = load ptr, ptr %t0 %t304 = call i32 @lp_str_eq(ptr %t303, ptr @.str7122) %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 @.str7123, ptr %t306) %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str7124) %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 @.str7125, ptr %t311) %t313 = call ptr @lp_str_concat(ptr %t312, ptr @.str7126) %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 @.str7127, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str7128) %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 @.str7129, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7130) %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 @.str7131, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str7132) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str7133) 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 @.str7134) %t336 = load ptr, ptr %t269 %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str7135) %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 @.str7136) 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 @.str7137) %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 @.str7138) %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 @.str7139) 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 ptr, ptr %t15, i32 %t16 %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, 42 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) { entry: %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t49 = alloca ptr %t50 = alloca i32 %t58 = alloca ptr %t59 = 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 ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp ne i32 %t26, 42 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: call void @fn_perr(ptr @.str7140) br label %ifend8 ifend8: %t30 = load i32, ptr %t7 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t7 br label %wcond3 wend5: %t32 = load ptr, ptr %t0 %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 = load ptr, ptr %t1 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ne i32 %t36, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: call void @fn_perr(ptr @.str7141) br label %ifend11 ifend11: %t43 = getelementptr %LSlice, ptr null, i32 1 %t44 = ptrtoint ptr %t43 to i64 %t45 = call ptr @malloc(i64 %t44) %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 store ptr null, ptr %t46 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 store i32 0, ptr %t47 %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 store i32 0, ptr %t48 store ptr %t45, ptr %t49 store i32 0, ptr %t50 br label %wcond12 wcond12: %t51 = load i32, ptr %t50 %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t51, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody13, label %wend14 wbody13: store ptr null, ptr %t58 store i32 0, ptr %t59 br label %wcond15 wcond15: %t60 = load i32, ptr %t59 %t61 = load ptr, ptr %t0 %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 %wbody16, label %wend17 wbody16: %t69 = load ptr, ptr %t0 %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 ptr, ptr %t73, i32 %t74 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = load i32, ptr %t50 %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 %t84 = load ptr, ptr %t83 %t85 = call i32 @lp_str_eq(ptr %t78, ptr %t84) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then18, label %ifend20 then18: %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 = load i32, ptr %t59 %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 %t94 = load ptr, ptr %t93 store ptr %t94, ptr %t58 br label %ifend20 ifend20: %t95 = load i32, ptr %t59 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t59 br label %wcond15 wend17: %t97 = load ptr, ptr %t58 %t98 = icmp eq ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then21, label %ifend23 then21: %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t50 %t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104 %t106 = load ptr, ptr %t105 %t107 = call ptr @lp_str_concat(ptr @.str7142, ptr %t106) call void @fn_perr(ptr %t107) br label %ifend23 ifend23: %t108 = load ptr, ptr %t49 %t109 = load ptr, ptr %t58 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 4 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow24, label %put25 grow24: %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 %put25 put25: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 store ptr %t111, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load i32, ptr %t50 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t50 br label %wcond12 wend14: %t132 = load ptr, ptr %t0 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t49 store ptr %t134, ptr %t133 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 5 %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 %t32 = load ptr, ptr %t0 %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 = load i32, ptr %t8 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t31, 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 br label %ifend5 ifend5: %t60 = load i32, ptr %t8 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t8 br label %wcond0 wend2: %t62 = load ptr, ptr %t7 store ptr %t62, ptr %retval br label %ret ret: %t63 = load ptr, ptr %retval ret ptr %t63 } 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 5 %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 %t32 = load ptr, ptr %t0 %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 = load i32, ptr %t8 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t31, 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 br label %ifend5 ifend5: %t60 = load i32, ptr %t8 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t8 br label %wcond0 wend2: %t62 = load ptr, ptr %t7 store ptr %t62, ptr %retval br label %ret ret: %t63 = load ptr, ptr %retval ret ptr %t63 } 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 @.str7143) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str7144) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str7145, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7146) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7147) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str7148) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7149) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str7150) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7151) %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 @.str7152, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7153) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str7154, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7155) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str7156) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7157) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str7158, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str7159) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str7160) 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 %t261 = alloca ptr %t279 = alloca ptr %t291 = alloca ptr %t301 = alloca ptr %t308 = alloca ptr %t312 = alloca ptr %t317 = alloca ptr %t327 = alloca ptr %t331 = alloca ptr %t336 = alloca ptr %t343 = alloca ptr %t350 = 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 @.str7161) %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 @.str7162) 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 @.str7163, 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 @.str7164, 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 @.str7165, ptr @.str7166) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str7167) %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 @.str7168) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str7169) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str7170, ptr @.str7171, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str7172) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str7173, ptr @.str7174, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str7175) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str7176) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str7177) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str7178) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str7179) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str7180) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str7181) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str7182, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str7183) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str7184, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str7185) %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 @.str7186) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str7187) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str7188) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str7189) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str7190) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str7191, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str7192) %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 @.str7193, 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 @.str7194, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str7195) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str7196) %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 @.str7197, 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 @.str7198, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str7199) %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 @.str7200, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str7201) %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 @.str7202, 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 @.str7203, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str7204) %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 @.str7205, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str7206) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str7207) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str7208) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str7209, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str7210) %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 @.str7211, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str7212) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str7213) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str7214) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str7215, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str7216) 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 @.str7217) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str7218) 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 ptr, ptr %t257, i32 0 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t1 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str7219) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then21, label %ifend23 then21: %t265 = load ptr, ptr %t4 %t266 = call ptr @lp_str_concat(ptr @.str7220, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str7221) %t268 = load ptr, ptr %t0 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str7222) %t271 = load ptr, ptr %t0 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str7223) %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 %t273, ptr %t276) %t278 = call ptr @fn_emit_bind(ptr %t277) store ptr %t278, ptr %t279 %t280 = load ptr, ptr %t279 %t281 = load ptr, ptr %t0 %t282 = call ptr @fn_val(ptr %t280, ptr %t281) store ptr %t282, ptr %retval br label %ret ifend23: %t283 = load ptr, ptr %t261 %t284 = getelementptr inbounds %Cmp_Val, ptr %t283, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = call ptr @lp_str_concat(ptr @.str7224, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str7225) %t288 = load ptr, ptr %t4 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %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 @.str7226, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str7227) %t295 = load ptr, ptr %t261 %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297) %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str7228) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t4 %t303 = call ptr @lp_str_concat(ptr @.str7229, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str7230) %t305 = load ptr, ptr %t301 %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) %t307 = call ptr @fn_emit_bind(ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t308 %t310 = call ptr @lp_str_concat(ptr @.str7231, 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 @.str7232, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str7233) %t316 = call ptr @fn_emit_bind(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t4 %t319 = call ptr @lp_str_concat(ptr @.str7234, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str7235) %t321 = load ptr, ptr %t0 %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7236) %t324 = load ptr, ptr %t301 %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 @.str7237, 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 @.str7238, ptr %t332) %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str7239) %t335 = call ptr @fn_emit_bind(ptr %t334) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t291 %t338 = call ptr @lp_str_concat(ptr @.str7240, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str7241) %t340 = load ptr, ptr %t317 %t341 = call ptr @lp_str_concat(ptr %t339, ptr %t340) %t342 = call ptr @fn_emit_bind(ptr %t341) store ptr %t342, ptr %t343 %t344 = load ptr, ptr %t343 %t345 = call ptr @lp_str_concat(ptr @.str7242, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str7243) %t347 = load ptr, ptr %t336 %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 %t350 %t352 = call ptr @lp_str_concat(ptr @.str7244, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str7245) %t354 = call ptr @fn_emit_bind(ptr %t353) %t355 = call ptr @fn_val(ptr %t354, ptr @.str7246) store ptr %t355, ptr %retval br label %ret ret: %t356 = load ptr, ptr %retval ret ptr %t356 } define i32 @fn_first_arg_is_text(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t16 = alloca ptr %t39 = 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 ptr, ptr %t13, i32 0 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 %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, 42 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t16 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7247) %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 %t16 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t16 br label %ifend5 ifend5: %t31 = load ptr, ptr %t16 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 31 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t37 = load ptr, ptr %t16 %t38 = call ptr @fn_static_type(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = icmp eq ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then12, label %ifend14 then12: store i32 0, ptr %retval br label %ret ifend14: %t44 = load ptr, ptr %t39 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str7248) store i32 %t45, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } 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 %t391 = alloca ptr %t393 = alloca ptr %t403 = alloca ptr %t410 = alloca ptr %t3411 = alloca ptr %t3422 = alloca ptr %t3471 = alloca ptr %t3480 = alloca ptr %t3487 = alloca ptr %t3489 = alloca ptr %t3496 = alloca ptr %t3505 = alloca ptr %t3514 = alloca ptr %t3519 = alloca ptr %t3524 = alloca ptr %t3544 = alloca ptr %t3582 = alloca ptr %t15522 = alloca i32 %t15538 = alloca ptr %t15551 = alloca ptr %t15552 = alloca i32 %t15587 = alloca i32 %t15603 = alloca ptr %t15616 = alloca ptr %t15617 = alloca i32 %t15652 = alloca i32 %t15669 = alloca i32 %t15691 = alloca ptr %t15698 = alloca ptr %t15699 = alloca i32 %t15746 = 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 @.str7249) %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 @.str7250) %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 @.str7251) %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 @.str7252) %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 @.str7253) %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 @.str7254) %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 @.str7255, 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 @.str7256) %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 @.str7257, 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 @.str7258) %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 @.str7259, 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 @.str7260) %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 @.str7261, 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 @.str7262) %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 @.str7263) %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 @.str7264) %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 @.str7265, 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 @.str7266) %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 @.str7267, 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 @.str7268) %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 @.str7269, 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 @.str7270) %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 @.str7271, 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 @.str7272) %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 @.str7273, 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 @.str7274) %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 @.str7275, 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 @.str7276) %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 @.str7277, 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 @.str7278) %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 @.str7279, 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 @.str7280) %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 @.str7281, 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 @.str7282) %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 @.str7283, 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 @.str7284) %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 @.str7285, 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 @.str7286) %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 @.str7287, 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 @.str7288) %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 @.str7289, 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 @.str7290) %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 @.str7291, 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 @.str7292) %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 @.str7293, 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 @.str7294) %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 @.str7295, 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 @.str7296) %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 @.str7297, 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 @.str7298) %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 @.str7299, 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 @.str7300) %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 @.str7301, 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 @.str7302) %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 @.str7303, 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 @.str7304) %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 @.str7305, 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 @.str7306) %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 @.str7307) %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 @.str7308) br label %ifend184 ifend184: %t354 = call ptr @fn_val(ptr @.str7309, ptr @.str7310) store ptr %t354, ptr %retval br label %ret ifend181: %t355 = load ptr, ptr %t1 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str7311) %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 @.str7312, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str7313) call void @fn_emit(ptr %t365) br label %ifend190 ifend190: %t366 = call ptr @fn_val(ptr @.str7314, ptr @.str7315) store ptr %t366, ptr %retval br label %ret ifend187: %t367 = load ptr, ptr %t1 %t368 = call ptr @lp_str_concat(ptr @.str7316, ptr %t367) call void @fn_perr(ptr %t368) br label %ifend178 ifend178: %t369 = load ptr, ptr %t0 %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str7317) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then191, label %ifend193 then191: %t372 = load ptr, ptr %t1 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str7318) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then194, label %ifend196 then194: %t375 = call ptr @fn_itoa(i32 1024) %t376 = call ptr @fn_val(ptr %t375, ptr @.str7319) store ptr %t376, ptr %retval br label %ret ifend196: %t377 = load ptr, ptr %t1 %t378 = call i32 @lp_str_eq(ptr %t377, ptr @.str7320) %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then197, label %ifend199 then197: %t380 = call ptr @fn_emit_bind(ptr @.str7321) %t381 = call ptr @fn_val(ptr %t380, ptr @.str7322) store ptr %t381, ptr %retval br label %ret ifend199: %t382 = load ptr, ptr %t1 %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str7323) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then200, label %ifend202 then200: %t385 = call ptr @fn_emit_bind(ptr @.str7324) %t386 = call ptr @fn_val(ptr %t385, ptr @.str7325) store ptr %t386, ptr %retval br label %ret ifend202: %t387 = load ptr, ptr %t1 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str7326) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then203, label %ifend205 then203: %t390 = call ptr @fn_emit_bind(ptr @.str7327) store ptr %t390, ptr %t391 %t392 = call ptr @fn_emit_bind(ptr @.str7328) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t391 %t395 = call ptr @lp_str_concat(ptr @.str7329, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str7330) %t397 = load ptr, ptr %t393 %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) %t399 = call ptr @fn_emit_bind(ptr %t398) %t400 = call ptr @fn_val(ptr %t399, ptr @.str7331) store ptr %t400, ptr %retval br label %ret ifend205: %t401 = load ptr, ptr %t1 %t402 = call ptr @lp_str_concat(ptr @.str7332, ptr %t401) call void @fn_perr(ptr %t402) br label %ifend193 ifend193: store ptr null, ptr %t403 %t404 = getelementptr %LSlice, ptr null, i32 1 %t405 = ptrtoint ptr %t404 to i64 %t406 = call ptr @malloc(i64 %t405) %t407 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 0 store ptr null, ptr %t407 %t408 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 1 store i32 0, ptr %t408 %t409 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 2 store i32 0, ptr %t409 store ptr %t406, ptr %t410 %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str7333) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then206, label %ifend208 then206: %t414 = load ptr, ptr %t1 %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str7334) %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then209, label %ifend211 then209: store ptr @.str7335, ptr %t403 %t417 = load ptr, ptr %t410 %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 %t421 = load i32, ptr %t418 %t422 = load i32, ptr %t419 %t423 = icmp sge i32 %t421, %t422 br i1 %t423, label %grow212, label %put213 grow212: %t424 = mul i32 %t422, 2 %t425 = icmp eq i32 %t422, 0 %t426 = select i1 %t425, i32 8, i32 %t424 %t427 = getelementptr ptr, ptr null, i32 1 %t428 = ptrtoint ptr %t427 to i64 %t429 = zext i32 %t426 to i64 %t430 = mul i64 %t429, %t428 %t431 = load ptr, ptr %t420 %t432 = call ptr @realloc(ptr %t431, i64 %t430) store ptr %t432, ptr %t420 store i32 %t426, ptr %t419 br label %put213 put213: %t433 = load ptr, ptr %t420 %t434 = getelementptr inbounds ptr, ptr %t433, i32 %t421 store ptr @.str7336, ptr %t434 %t435 = add i32 %t421, 1 store i32 %t435, ptr %t418 br label %ifend211 ifend211: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str7337) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then214, label %ifend216 then214: store ptr @.str7338, ptr %t403 %t439 = load ptr, ptr %t410 %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 %t441 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 2 %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 %t443 = load i32, ptr %t440 %t444 = load i32, ptr %t441 %t445 = icmp sge i32 %t443, %t444 br i1 %t445, label %grow217, label %put218 grow217: %t446 = mul i32 %t444, 2 %t447 = icmp eq i32 %t444, 0 %t448 = select i1 %t447, i32 8, i32 %t446 %t449 = getelementptr ptr, ptr null, i32 1 %t450 = ptrtoint ptr %t449 to i64 %t451 = zext i32 %t448 to i64 %t452 = mul i64 %t451, %t450 %t453 = load ptr, ptr %t442 %t454 = call ptr @realloc(ptr %t453, i64 %t452) store ptr %t454, ptr %t442 store i32 %t448, ptr %t441 br label %put218 put218: %t455 = load ptr, ptr %t442 %t456 = getelementptr inbounds ptr, ptr %t455, i32 %t443 store ptr @.str7339, ptr %t456 %t457 = add i32 %t443, 1 store i32 %t457, ptr %t440 %t458 = load ptr, ptr %t410 %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 %t462 = load i32, ptr %t459 %t463 = load i32, ptr %t460 %t464 = icmp sge i32 %t462, %t463 br i1 %t464, label %grow219, label %put220 grow219: %t465 = mul i32 %t463, 2 %t466 = icmp eq i32 %t463, 0 %t467 = select i1 %t466, i32 8, i32 %t465 %t468 = getelementptr ptr, ptr null, i32 1 %t469 = ptrtoint ptr %t468 to i64 %t470 = zext i32 %t467 to i64 %t471 = mul i64 %t470, %t469 %t472 = load ptr, ptr %t461 %t473 = call ptr @realloc(ptr %t472, i64 %t471) store ptr %t473, ptr %t461 store i32 %t467, ptr %t460 br label %put220 put220: %t474 = load ptr, ptr %t461 %t475 = getelementptr inbounds ptr, ptr %t474, i32 %t462 store ptr @.str7340, ptr %t475 %t476 = add i32 %t462, 1 store i32 %t476, ptr %t459 %t477 = load ptr, ptr %t410 %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t479 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 2 %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t481 = load i32, ptr %t478 %t482 = load i32, ptr %t479 %t483 = icmp sge i32 %t481, %t482 br i1 %t483, label %grow221, label %put222 grow221: %t484 = mul i32 %t482, 2 %t485 = icmp eq i32 %t482, 0 %t486 = select i1 %t485, i32 8, i32 %t484 %t487 = getelementptr ptr, ptr null, i32 1 %t488 = ptrtoint ptr %t487 to i64 %t489 = zext i32 %t486 to i64 %t490 = mul i64 %t489, %t488 %t491 = load ptr, ptr %t480 %t492 = call ptr @realloc(ptr %t491, i64 %t490) store ptr %t492, ptr %t480 store i32 %t486, ptr %t479 br label %put222 put222: %t493 = load ptr, ptr %t480 %t494 = getelementptr inbounds ptr, ptr %t493, i32 %t481 store ptr @.str7341, ptr %t494 %t495 = add i32 %t481, 1 store i32 %t495, ptr %t478 %t496 = load ptr, ptr %t410 %t497 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 1 %t498 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 2 %t499 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 0 %t500 = load i32, ptr %t497 %t501 = load i32, ptr %t498 %t502 = icmp sge i32 %t500, %t501 br i1 %t502, label %grow223, label %put224 grow223: %t503 = mul i32 %t501, 2 %t504 = icmp eq i32 %t501, 0 %t505 = select i1 %t504, i32 8, i32 %t503 %t506 = getelementptr ptr, ptr null, i32 1 %t507 = ptrtoint ptr %t506 to i64 %t508 = zext i32 %t505 to i64 %t509 = mul i64 %t508, %t507 %t510 = load ptr, ptr %t499 %t511 = call ptr @realloc(ptr %t510, i64 %t509) store ptr %t511, ptr %t499 store i32 %t505, ptr %t498 br label %put224 put224: %t512 = load ptr, ptr %t499 %t513 = getelementptr inbounds ptr, ptr %t512, i32 %t500 store ptr @.str7342, ptr %t513 %t514 = add i32 %t500, 1 store i32 %t514, ptr %t497 %t515 = load ptr, ptr %t410 %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 %t519 = load i32, ptr %t516 %t520 = load i32, ptr %t517 %t521 = icmp sge i32 %t519, %t520 br i1 %t521, label %grow225, label %put226 grow225: %t522 = mul i32 %t520, 2 %t523 = icmp eq i32 %t520, 0 %t524 = select i1 %t523, i32 8, i32 %t522 %t525 = getelementptr ptr, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 %t527 = zext i32 %t524 to i64 %t528 = mul i64 %t527, %t526 %t529 = load ptr, ptr %t518 %t530 = call ptr @realloc(ptr %t529, i64 %t528) store ptr %t530, ptr %t518 store i32 %t524, ptr %t517 br label %put226 put226: %t531 = load ptr, ptr %t518 %t532 = getelementptr inbounds ptr, ptr %t531, i32 %t519 store ptr @.str7343, ptr %t532 %t533 = add i32 %t519, 1 store i32 %t533, ptr %t516 br label %ifend216 ifend216: %t534 = load ptr, ptr %t1 %t535 = call i32 @lp_str_eq(ptr %t534, ptr @.str7344) %t536 = icmp ne i32 %t535, 0 br i1 %t536, label %then227, label %ifend229 then227: store ptr @.str7345, ptr %t403 %t537 = load ptr, ptr %t410 %t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1 %t539 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 2 %t540 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 0 %t541 = load i32, ptr %t538 %t542 = load i32, ptr %t539 %t543 = icmp sge i32 %t541, %t542 br i1 %t543, label %grow230, label %put231 grow230: %t544 = mul i32 %t542, 2 %t545 = icmp eq i32 %t542, 0 %t546 = select i1 %t545, i32 8, i32 %t544 %t547 = getelementptr ptr, ptr null, i32 1 %t548 = ptrtoint ptr %t547 to i64 %t549 = zext i32 %t546 to i64 %t550 = mul i64 %t549, %t548 %t551 = load ptr, ptr %t540 %t552 = call ptr @realloc(ptr %t551, i64 %t550) store ptr %t552, ptr %t540 store i32 %t546, ptr %t539 br label %put231 put231: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t541 store ptr @.str7346, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 %t556 = load ptr, ptr %t410 %t557 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 1 %t558 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 2 %t559 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 0 %t560 = load i32, ptr %t557 %t561 = load i32, ptr %t558 %t562 = icmp sge i32 %t560, %t561 br i1 %t562, label %grow232, label %put233 grow232: %t563 = mul i32 %t561, 2 %t564 = icmp eq i32 %t561, 0 %t565 = select i1 %t564, i32 8, i32 %t563 %t566 = getelementptr ptr, ptr null, i32 1 %t567 = ptrtoint ptr %t566 to i64 %t568 = zext i32 %t565 to i64 %t569 = mul i64 %t568, %t567 %t570 = load ptr, ptr %t559 %t571 = call ptr @realloc(ptr %t570, i64 %t569) store ptr %t571, ptr %t559 store i32 %t565, ptr %t558 br label %put233 put233: %t572 = load ptr, ptr %t559 %t573 = getelementptr inbounds ptr, ptr %t572, i32 %t560 store ptr @.str7347, ptr %t573 %t574 = add i32 %t560, 1 store i32 %t574, ptr %t557 %t575 = load ptr, ptr %t410 %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 1 %t577 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 2 %t578 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 %t579 = load i32, ptr %t576 %t580 = load i32, ptr %t577 %t581 = icmp sge i32 %t579, %t580 br i1 %t581, label %grow234, label %put235 grow234: %t582 = mul i32 %t580, 2 %t583 = icmp eq i32 %t580, 0 %t584 = select i1 %t583, i32 8, i32 %t582 %t585 = getelementptr ptr, ptr null, i32 1 %t586 = ptrtoint ptr %t585 to i64 %t587 = zext i32 %t584 to i64 %t588 = mul i64 %t587, %t586 %t589 = load ptr, ptr %t578 %t590 = call ptr @realloc(ptr %t589, i64 %t588) store ptr %t590, ptr %t578 store i32 %t584, ptr %t577 br label %put235 put235: %t591 = load ptr, ptr %t578 %t592 = getelementptr inbounds ptr, ptr %t591, i32 %t579 store ptr @.str7348, ptr %t592 %t593 = add i32 %t579, 1 store i32 %t593, ptr %t576 %t594 = load ptr, ptr %t410 %t595 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 1 %t596 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 2 %t597 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 0 %t598 = load i32, ptr %t595 %t599 = load i32, ptr %t596 %t600 = icmp sge i32 %t598, %t599 br i1 %t600, label %grow236, label %put237 grow236: %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 %put237 put237: %t610 = load ptr, ptr %t597 %t611 = getelementptr inbounds ptr, ptr %t610, i32 %t598 store ptr @.str7349, ptr %t611 %t612 = add i32 %t598, 1 store i32 %t612, ptr %t595 %t613 = load ptr, ptr %t410 %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 %t615 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 2 %t616 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 0 %t617 = load i32, ptr %t614 %t618 = load i32, ptr %t615 %t619 = icmp sge i32 %t617, %t618 br i1 %t619, label %grow238, label %put239 grow238: %t620 = mul i32 %t618, 2 %t621 = icmp eq i32 %t618, 0 %t622 = select i1 %t621, i32 8, i32 %t620 %t623 = getelementptr ptr, ptr null, i32 1 %t624 = ptrtoint ptr %t623 to i64 %t625 = zext i32 %t622 to i64 %t626 = mul i64 %t625, %t624 %t627 = load ptr, ptr %t616 %t628 = call ptr @realloc(ptr %t627, i64 %t626) store ptr %t628, ptr %t616 store i32 %t622, ptr %t615 br label %put239 put239: %t629 = load ptr, ptr %t616 %t630 = getelementptr inbounds ptr, ptr %t629, i32 %t617 store ptr @.str7350, ptr %t630 %t631 = add i32 %t617, 1 store i32 %t631, ptr %t614 %t632 = load ptr, ptr %t410 %t633 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 1 %t634 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 2 %t635 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 0 %t636 = load i32, ptr %t633 %t637 = load i32, ptr %t634 %t638 = icmp sge i32 %t636, %t637 br i1 %t638, label %grow240, label %put241 grow240: %t639 = mul i32 %t637, 2 %t640 = icmp eq i32 %t637, 0 %t641 = select i1 %t640, i32 8, i32 %t639 %t642 = getelementptr ptr, ptr null, i32 1 %t643 = ptrtoint ptr %t642 to i64 %t644 = zext i32 %t641 to i64 %t645 = mul i64 %t644, %t643 %t646 = load ptr, ptr %t635 %t647 = call ptr @realloc(ptr %t646, i64 %t645) store ptr %t647, ptr %t635 store i32 %t641, ptr %t634 br label %put241 put241: %t648 = load ptr, ptr %t635 %t649 = getelementptr inbounds ptr, ptr %t648, i32 %t636 store ptr @.str7351, ptr %t649 %t650 = add i32 %t636, 1 store i32 %t650, ptr %t633 %t651 = load ptr, ptr %t410 %t652 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 1 %t653 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 2 %t654 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 0 %t655 = load i32, ptr %t652 %t656 = load i32, ptr %t653 %t657 = icmp sge i32 %t655, %t656 br i1 %t657, label %grow242, label %put243 grow242: %t658 = mul i32 %t656, 2 %t659 = icmp eq i32 %t656, 0 %t660 = select i1 %t659, i32 8, i32 %t658 %t661 = getelementptr ptr, ptr null, i32 1 %t662 = ptrtoint ptr %t661 to i64 %t663 = zext i32 %t660 to i64 %t664 = mul i64 %t663, %t662 %t665 = load ptr, ptr %t654 %t666 = call ptr @realloc(ptr %t665, i64 %t664) store ptr %t666, ptr %t654 store i32 %t660, ptr %t653 br label %put243 put243: %t667 = load ptr, ptr %t654 %t668 = getelementptr inbounds ptr, ptr %t667, i32 %t655 store ptr @.str7352, ptr %t668 %t669 = add i32 %t655, 1 store i32 %t669, ptr %t652 %t670 = load ptr, ptr %t410 %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 1 %t672 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 2 %t673 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 %t674 = load i32, ptr %t671 %t675 = load i32, ptr %t672 %t676 = icmp sge i32 %t674, %t675 br i1 %t676, label %grow244, label %put245 grow244: %t677 = mul i32 %t675, 2 %t678 = icmp eq i32 %t675, 0 %t679 = select i1 %t678, i32 8, i32 %t677 %t680 = getelementptr ptr, ptr null, i32 1 %t681 = ptrtoint ptr %t680 to i64 %t682 = zext i32 %t679 to i64 %t683 = mul i64 %t682, %t681 %t684 = load ptr, ptr %t673 %t685 = call ptr @realloc(ptr %t684, i64 %t683) store ptr %t685, ptr %t673 store i32 %t679, ptr %t672 br label %put245 put245: %t686 = load ptr, ptr %t673 %t687 = getelementptr inbounds ptr, ptr %t686, i32 %t674 store ptr @.str7353, ptr %t687 %t688 = add i32 %t674, 1 store i32 %t688, ptr %t671 br label %ifend229 ifend229: %t689 = load ptr, ptr %t1 %t690 = call i32 @lp_str_eq(ptr %t689, ptr @.str7354) %t691 = icmp ne i32 %t690, 0 br i1 %t691, label %then246, label %ifend248 then246: store ptr @.str7355, ptr %t403 %t692 = load ptr, ptr %t410 %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 2 %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t696 = load i32, ptr %t693 %t697 = load i32, ptr %t694 %t698 = icmp sge i32 %t696, %t697 br i1 %t698, label %grow249, label %put250 grow249: %t699 = mul i32 %t697, 2 %t700 = icmp eq i32 %t697, 0 %t701 = select i1 %t700, i32 8, i32 %t699 %t702 = getelementptr ptr, ptr null, i32 1 %t703 = ptrtoint ptr %t702 to i64 %t704 = zext i32 %t701 to i64 %t705 = mul i64 %t704, %t703 %t706 = load ptr, ptr %t695 %t707 = call ptr @realloc(ptr %t706, i64 %t705) store ptr %t707, ptr %t695 store i32 %t701, ptr %t694 br label %put250 put250: %t708 = load ptr, ptr %t695 %t709 = getelementptr inbounds ptr, ptr %t708, i32 %t696 store ptr @.str7356, ptr %t709 %t710 = add i32 %t696, 1 store i32 %t710, ptr %t693 %t711 = load ptr, ptr %t410 %t712 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 1 %t713 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 2 %t714 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 0 %t715 = load i32, ptr %t712 %t716 = load i32, ptr %t713 %t717 = icmp sge i32 %t715, %t716 br i1 %t717, label %grow251, label %put252 grow251: %t718 = mul i32 %t716, 2 %t719 = icmp eq i32 %t716, 0 %t720 = select i1 %t719, i32 8, i32 %t718 %t721 = getelementptr ptr, ptr null, i32 1 %t722 = ptrtoint ptr %t721 to i64 %t723 = zext i32 %t720 to i64 %t724 = mul i64 %t723, %t722 %t725 = load ptr, ptr %t714 %t726 = call ptr @realloc(ptr %t725, i64 %t724) store ptr %t726, ptr %t714 store i32 %t720, ptr %t713 br label %put252 put252: %t727 = load ptr, ptr %t714 %t728 = getelementptr inbounds ptr, ptr %t727, i32 %t715 store ptr @.str7357, ptr %t728 %t729 = add i32 %t715, 1 store i32 %t729, ptr %t712 %t730 = load ptr, ptr %t410 %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 1 %t732 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 2 %t733 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 %t734 = load i32, ptr %t731 %t735 = load i32, ptr %t732 %t736 = icmp sge i32 %t734, %t735 br i1 %t736, label %grow253, label %put254 grow253: %t737 = mul i32 %t735, 2 %t738 = icmp eq i32 %t735, 0 %t739 = select i1 %t738, i32 8, i32 %t737 %t740 = getelementptr ptr, ptr null, i32 1 %t741 = ptrtoint ptr %t740 to i64 %t742 = zext i32 %t739 to i64 %t743 = mul i64 %t742, %t741 %t744 = load ptr, ptr %t733 %t745 = call ptr @realloc(ptr %t744, i64 %t743) store ptr %t745, ptr %t733 store i32 %t739, ptr %t732 br label %put254 put254: %t746 = load ptr, ptr %t733 %t747 = getelementptr inbounds ptr, ptr %t746, i32 %t734 store ptr @.str7358, ptr %t747 %t748 = add i32 %t734, 1 store i32 %t748, ptr %t731 %t749 = load ptr, ptr %t410 %t750 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 1 %t751 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 2 %t752 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 0 %t753 = load i32, ptr %t750 %t754 = load i32, ptr %t751 %t755 = icmp sge i32 %t753, %t754 br i1 %t755, label %grow255, label %put256 grow255: %t756 = mul i32 %t754, 2 %t757 = icmp eq i32 %t754, 0 %t758 = select i1 %t757, i32 8, i32 %t756 %t759 = getelementptr ptr, ptr null, i32 1 %t760 = ptrtoint ptr %t759 to i64 %t761 = zext i32 %t758 to i64 %t762 = mul i64 %t761, %t760 %t763 = load ptr, ptr %t752 %t764 = call ptr @realloc(ptr %t763, i64 %t762) store ptr %t764, ptr %t752 store i32 %t758, ptr %t751 br label %put256 put256: %t765 = load ptr, ptr %t752 %t766 = getelementptr inbounds ptr, ptr %t765, i32 %t753 store ptr @.str7359, ptr %t766 %t767 = add i32 %t753, 1 store i32 %t767, ptr %t750 %t768 = load ptr, ptr %t410 %t769 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 1 %t770 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 2 %t771 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 0 %t772 = load i32, ptr %t769 %t773 = load i32, ptr %t770 %t774 = icmp sge i32 %t772, %t773 br i1 %t774, label %grow257, label %put258 grow257: %t775 = mul i32 %t773, 2 %t776 = icmp eq i32 %t773, 0 %t777 = select i1 %t776, i32 8, i32 %t775 %t778 = getelementptr ptr, ptr null, i32 1 %t779 = ptrtoint ptr %t778 to i64 %t780 = zext i32 %t777 to i64 %t781 = mul i64 %t780, %t779 %t782 = load ptr, ptr %t771 %t783 = call ptr @realloc(ptr %t782, i64 %t781) store ptr %t783, ptr %t771 store i32 %t777, ptr %t770 br label %put258 put258: %t784 = load ptr, ptr %t771 %t785 = getelementptr inbounds ptr, ptr %t784, i32 %t772 store ptr @.str7360, ptr %t785 %t786 = add i32 %t772, 1 store i32 %t786, ptr %t769 br label %ifend248 ifend248: %t787 = load ptr, ptr %t1 %t788 = call i32 @lp_str_eq(ptr %t787, ptr @.str7361) %t789 = icmp ne i32 %t788, 0 br i1 %t789, label %then259, label %ifend261 then259: store ptr @.str7362, ptr %t403 %t790 = load ptr, ptr %t410 %t791 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 1 %t792 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 2 %t793 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0 %t794 = load i32, ptr %t791 %t795 = load i32, ptr %t792 %t796 = icmp sge i32 %t794, %t795 br i1 %t796, label %grow262, label %put263 grow262: %t797 = mul i32 %t795, 2 %t798 = icmp eq i32 %t795, 0 %t799 = select i1 %t798, i32 8, i32 %t797 %t800 = getelementptr ptr, ptr null, i32 1 %t801 = ptrtoint ptr %t800 to i64 %t802 = zext i32 %t799 to i64 %t803 = mul i64 %t802, %t801 %t804 = load ptr, ptr %t793 %t805 = call ptr @realloc(ptr %t804, i64 %t803) store ptr %t805, ptr %t793 store i32 %t799, ptr %t792 br label %put263 put263: %t806 = load ptr, ptr %t793 %t807 = getelementptr inbounds ptr, ptr %t806, i32 %t794 store ptr @.str7363, ptr %t807 %t808 = add i32 %t794, 1 store i32 %t808, ptr %t791 %t809 = load ptr, ptr %t410 %t810 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 1 %t811 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 2 %t812 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 0 %t813 = load i32, ptr %t810 %t814 = load i32, ptr %t811 %t815 = icmp sge i32 %t813, %t814 br i1 %t815, label %grow264, label %put265 grow264: %t816 = mul i32 %t814, 2 %t817 = icmp eq i32 %t814, 0 %t818 = select i1 %t817, i32 8, i32 %t816 %t819 = getelementptr ptr, ptr null, i32 1 %t820 = ptrtoint ptr %t819 to i64 %t821 = zext i32 %t818 to i64 %t822 = mul i64 %t821, %t820 %t823 = load ptr, ptr %t812 %t824 = call ptr @realloc(ptr %t823, i64 %t822) store ptr %t824, ptr %t812 store i32 %t818, ptr %t811 br label %put265 put265: %t825 = load ptr, ptr %t812 %t826 = getelementptr inbounds ptr, ptr %t825, i32 %t813 store ptr @.str7364, ptr %t826 %t827 = add i32 %t813, 1 store i32 %t827, ptr %t810 %t828 = load ptr, ptr %t410 %t829 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 1 %t830 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 2 %t831 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0 %t832 = load i32, ptr %t829 %t833 = load i32, ptr %t830 %t834 = icmp sge i32 %t832, %t833 br i1 %t834, label %grow266, label %put267 grow266: %t835 = mul i32 %t833, 2 %t836 = icmp eq i32 %t833, 0 %t837 = select i1 %t836, i32 8, i32 %t835 %t838 = getelementptr ptr, ptr null, i32 1 %t839 = ptrtoint ptr %t838 to i64 %t840 = zext i32 %t837 to i64 %t841 = mul i64 %t840, %t839 %t842 = load ptr, ptr %t831 %t843 = call ptr @realloc(ptr %t842, i64 %t841) store ptr %t843, ptr %t831 store i32 %t837, ptr %t830 br label %put267 put267: %t844 = load ptr, ptr %t831 %t845 = getelementptr inbounds ptr, ptr %t844, i32 %t832 store ptr @.str7365, ptr %t845 %t846 = add i32 %t832, 1 store i32 %t846, ptr %t829 br label %ifend261 ifend261: %t847 = load ptr, ptr %t1 %t848 = call i32 @lp_str_eq(ptr %t847, ptr @.str7366) %t849 = icmp ne i32 %t848, 0 br i1 %t849, label %then268, label %ifend270 then268: store ptr @.str7367, ptr %t403 %t850 = load ptr, ptr %t410 %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 %grow271, label %put272 grow271: %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 %put272 put272: %t866 = load ptr, ptr %t853 %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 store ptr @.str7368, ptr %t867 %t868 = add i32 %t854, 1 store i32 %t868, ptr %t851 %t869 = load ptr, ptr %t410 %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 %grow273, label %put274 grow273: %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 %put274 put274: %t885 = load ptr, ptr %t872 %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 store ptr @.str7369, ptr %t886 %t887 = add i32 %t873, 1 store i32 %t887, ptr %t870 %t888 = load ptr, ptr %t410 %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 %grow275, label %put276 grow275: %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 %put276 put276: %t904 = load ptr, ptr %t891 %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 store ptr @.str7370, ptr %t905 %t906 = add i32 %t892, 1 store i32 %t906, ptr %t889 %t907 = load ptr, ptr %t410 %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 %grow277, label %put278 grow277: %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 %put278 put278: %t923 = load ptr, ptr %t910 %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 store ptr @.str7371, ptr %t924 %t925 = add i32 %t911, 1 store i32 %t925, ptr %t908 %t926 = load ptr, ptr %t410 %t927 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 1 %t928 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 2 %t929 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 0 %t930 = load i32, ptr %t927 %t931 = load i32, ptr %t928 %t932 = icmp sge i32 %t930, %t931 br i1 %t932, label %grow279, label %put280 grow279: %t933 = mul i32 %t931, 2 %t934 = icmp eq i32 %t931, 0 %t935 = select i1 %t934, i32 8, i32 %t933 %t936 = getelementptr ptr, ptr null, i32 1 %t937 = ptrtoint ptr %t936 to i64 %t938 = zext i32 %t935 to i64 %t939 = mul i64 %t938, %t937 %t940 = load ptr, ptr %t929 %t941 = call ptr @realloc(ptr %t940, i64 %t939) store ptr %t941, ptr %t929 store i32 %t935, ptr %t928 br label %put280 put280: %t942 = load ptr, ptr %t929 %t943 = getelementptr inbounds ptr, ptr %t942, i32 %t930 store ptr @.str7372, ptr %t943 %t944 = add i32 %t930, 1 store i32 %t944, ptr %t927 br label %ifend270 ifend270: %t945 = load ptr, ptr %t1 %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str7373) %t947 = icmp ne i32 %t946, 0 br i1 %t947, label %then281, label %ifend283 then281: store ptr @.str7374, ptr %t403 %t948 = load ptr, ptr %t410 %t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t952 = load i32, ptr %t949 %t953 = load i32, ptr %t950 %t954 = icmp sge i32 %t952, %t953 br i1 %t954, label %grow284, label %put285 grow284: %t955 = mul i32 %t953, 2 %t956 = icmp eq i32 %t953, 0 %t957 = select i1 %t956, i32 8, i32 %t955 %t958 = getelementptr ptr, ptr null, i32 1 %t959 = ptrtoint ptr %t958 to i64 %t960 = zext i32 %t957 to i64 %t961 = mul i64 %t960, %t959 %t962 = load ptr, ptr %t951 %t963 = call ptr @realloc(ptr %t962, i64 %t961) store ptr %t963, ptr %t951 store i32 %t957, ptr %t950 br label %put285 put285: %t964 = load ptr, ptr %t951 %t965 = getelementptr inbounds ptr, ptr %t964, i32 %t952 store ptr @.str7375, ptr %t965 %t966 = add i32 %t952, 1 store i32 %t966, ptr %t949 %t967 = load ptr, ptr %t410 %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 1 %t969 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 2 %t970 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 %t971 = load i32, ptr %t968 %t972 = load i32, ptr %t969 %t973 = icmp sge i32 %t971, %t972 br i1 %t973, label %grow286, label %put287 grow286: %t974 = mul i32 %t972, 2 %t975 = icmp eq i32 %t972, 0 %t976 = select i1 %t975, i32 8, i32 %t974 %t977 = getelementptr ptr, ptr null, i32 1 %t978 = ptrtoint ptr %t977 to i64 %t979 = zext i32 %t976 to i64 %t980 = mul i64 %t979, %t978 %t981 = load ptr, ptr %t970 %t982 = call ptr @realloc(ptr %t981, i64 %t980) store ptr %t982, ptr %t970 store i32 %t976, ptr %t969 br label %put287 put287: %t983 = load ptr, ptr %t970 %t984 = getelementptr inbounds ptr, ptr %t983, i32 %t971 store ptr @.str7376, ptr %t984 %t985 = add i32 %t971, 1 store i32 %t985, ptr %t968 %t986 = load ptr, ptr %t410 %t987 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 1 %t988 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 2 %t989 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 0 %t990 = load i32, ptr %t987 %t991 = load i32, ptr %t988 %t992 = icmp sge i32 %t990, %t991 br i1 %t992, label %grow288, label %put289 grow288: %t993 = mul i32 %t991, 2 %t994 = icmp eq i32 %t991, 0 %t995 = select i1 %t994, i32 8, i32 %t993 %t996 = getelementptr ptr, ptr null, i32 1 %t997 = ptrtoint ptr %t996 to i64 %t998 = zext i32 %t995 to i64 %t999 = mul i64 %t998, %t997 %t1000 = load ptr, ptr %t989 %t1001 = call ptr @realloc(ptr %t1000, i64 %t999) store ptr %t1001, ptr %t989 store i32 %t995, ptr %t988 br label %put289 put289: %t1002 = load ptr, ptr %t989 %t1003 = getelementptr inbounds ptr, ptr %t1002, i32 %t990 store ptr @.str7377, ptr %t1003 %t1004 = add i32 %t990, 1 store i32 %t1004, ptr %t987 %t1005 = load ptr, ptr %t410 %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 %t1007 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 2 %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 %t1009 = load i32, ptr %t1006 %t1010 = load i32, ptr %t1007 %t1011 = icmp sge i32 %t1009, %t1010 br i1 %t1011, label %grow290, label %put291 grow290: %t1012 = mul i32 %t1010, 2 %t1013 = icmp eq i32 %t1010, 0 %t1014 = select i1 %t1013, i32 8, i32 %t1012 %t1015 = getelementptr ptr, ptr null, i32 1 %t1016 = ptrtoint ptr %t1015 to i64 %t1017 = zext i32 %t1014 to i64 %t1018 = mul i64 %t1017, %t1016 %t1019 = load ptr, ptr %t1008 %t1020 = call ptr @realloc(ptr %t1019, i64 %t1018) store ptr %t1020, ptr %t1008 store i32 %t1014, ptr %t1007 br label %put291 put291: %t1021 = load ptr, ptr %t1008 %t1022 = getelementptr inbounds ptr, ptr %t1021, i32 %t1009 store ptr @.str7378, ptr %t1022 %t1023 = add i32 %t1009, 1 store i32 %t1023, ptr %t1006 %t1024 = load ptr, ptr %t410 %t1025 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 1 %t1026 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 2 %t1027 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 0 %t1028 = load i32, ptr %t1025 %t1029 = load i32, ptr %t1026 %t1030 = icmp sge i32 %t1028, %t1029 br i1 %t1030, label %grow292, label %put293 grow292: %t1031 = mul i32 %t1029, 2 %t1032 = icmp eq i32 %t1029, 0 %t1033 = select i1 %t1032, i32 8, i32 %t1031 %t1034 = getelementptr ptr, ptr null, i32 1 %t1035 = ptrtoint ptr %t1034 to i64 %t1036 = zext i32 %t1033 to i64 %t1037 = mul i64 %t1036, %t1035 %t1038 = load ptr, ptr %t1027 %t1039 = call ptr @realloc(ptr %t1038, i64 %t1037) store ptr %t1039, ptr %t1027 store i32 %t1033, ptr %t1026 br label %put293 put293: %t1040 = load ptr, ptr %t1027 %t1041 = getelementptr inbounds ptr, ptr %t1040, i32 %t1028 store ptr @.str7379, ptr %t1041 %t1042 = add i32 %t1028, 1 store i32 %t1042, ptr %t1025 br label %ifend283 ifend283: %t1043 = load ptr, ptr %t1 %t1044 = call i32 @lp_str_eq(ptr %t1043, ptr @.str7380) %t1045 = icmp ne i32 %t1044, 0 br i1 %t1045, label %then294, label %ifend296 then294: store ptr @.str7381, ptr %t403 br label %ifend296 ifend296: %t1046 = load ptr, ptr %t1 %t1047 = call i32 @lp_str_eq(ptr %t1046, ptr @.str7382) %t1048 = icmp ne i32 %t1047, 0 br i1 %t1048, label %then297, label %ifend299 then297: store ptr @.str7383, ptr %t403 br label %ifend299 ifend299: %t1049 = load ptr, ptr %t1 %t1050 = call i32 @lp_str_eq(ptr %t1049, ptr @.str7384) %t1051 = icmp ne i32 %t1050, 0 br i1 %t1051, label %then300, label %ifend302 then300: store ptr @.str7385, ptr %t403 br label %ifend302 ifend302: %t1052 = load ptr, ptr %t1 %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str7386) %t1054 = icmp ne i32 %t1053, 0 br i1 %t1054, label %then303, label %ifend305 then303: store ptr @.str7387, ptr %t403 %t1055 = load ptr, ptr %t410 %t1056 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 1 %t1057 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 2 %t1058 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 0 %t1059 = load i32, ptr %t1056 %t1060 = load i32, ptr %t1057 %t1061 = icmp sge i32 %t1059, %t1060 br i1 %t1061, label %grow306, label %put307 grow306: %t1062 = mul i32 %t1060, 2 %t1063 = icmp eq i32 %t1060, 0 %t1064 = select i1 %t1063, i32 8, i32 %t1062 %t1065 = getelementptr ptr, ptr null, i32 1 %t1066 = ptrtoint ptr %t1065 to i64 %t1067 = zext i32 %t1064 to i64 %t1068 = mul i64 %t1067, %t1066 %t1069 = load ptr, ptr %t1058 %t1070 = call ptr @realloc(ptr %t1069, i64 %t1068) store ptr %t1070, ptr %t1058 store i32 %t1064, ptr %t1057 br label %put307 put307: %t1071 = load ptr, ptr %t1058 %t1072 = getelementptr inbounds ptr, ptr %t1071, i32 %t1059 store ptr @.str7388, ptr %t1072 %t1073 = add i32 %t1059, 1 store i32 %t1073, ptr %t1056 br label %ifend305 ifend305: %t1074 = load ptr, ptr %t1 %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str7389) %t1076 = icmp ne i32 %t1075, 0 br i1 %t1076, label %then308, label %ifend310 then308: store ptr @.str7390, ptr %t403 %t1077 = load ptr, ptr %t410 %t1078 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 1 %t1079 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 2 %t1080 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 0 %t1081 = load i32, ptr %t1078 %t1082 = load i32, ptr %t1079 %t1083 = icmp sge i32 %t1081, %t1082 br i1 %t1083, label %grow311, label %put312 grow311: %t1084 = mul i32 %t1082, 2 %t1085 = icmp eq i32 %t1082, 0 %t1086 = select i1 %t1085, i32 8, i32 %t1084 %t1087 = getelementptr ptr, ptr null, i32 1 %t1088 = ptrtoint ptr %t1087 to i64 %t1089 = zext i32 %t1086 to i64 %t1090 = mul i64 %t1089, %t1088 %t1091 = load ptr, ptr %t1080 %t1092 = call ptr @realloc(ptr %t1091, i64 %t1090) store ptr %t1092, ptr %t1080 store i32 %t1086, ptr %t1079 br label %put312 put312: %t1093 = load ptr, ptr %t1080 %t1094 = getelementptr inbounds ptr, ptr %t1093, i32 %t1081 store ptr @.str7391, ptr %t1094 %t1095 = add i32 %t1081, 1 store i32 %t1095, ptr %t1078 %t1096 = load ptr, ptr %t410 %t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 1 %t1098 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 2 %t1099 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0 %t1100 = load i32, ptr %t1097 %t1101 = load i32, ptr %t1098 %t1102 = icmp sge i32 %t1100, %t1101 br i1 %t1102, label %grow313, label %put314 grow313: %t1103 = mul i32 %t1101, 2 %t1104 = icmp eq i32 %t1101, 0 %t1105 = select i1 %t1104, i32 8, i32 %t1103 %t1106 = getelementptr ptr, ptr null, i32 1 %t1107 = ptrtoint ptr %t1106 to i64 %t1108 = zext i32 %t1105 to i64 %t1109 = mul i64 %t1108, %t1107 %t1110 = load ptr, ptr %t1099 %t1111 = call ptr @realloc(ptr %t1110, i64 %t1109) store ptr %t1111, ptr %t1099 store i32 %t1105, ptr %t1098 br label %put314 put314: %t1112 = load ptr, ptr %t1099 %t1113 = getelementptr inbounds ptr, ptr %t1112, i32 %t1100 store ptr @.str7392, ptr %t1113 %t1114 = add i32 %t1100, 1 store i32 %t1114, ptr %t1097 %t1115 = load ptr, ptr %t410 %t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 1 %t1117 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 2 %t1118 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0 %t1119 = load i32, ptr %t1116 %t1120 = load i32, ptr %t1117 %t1121 = icmp sge i32 %t1119, %t1120 br i1 %t1121, label %grow315, label %put316 grow315: %t1122 = mul i32 %t1120, 2 %t1123 = icmp eq i32 %t1120, 0 %t1124 = select i1 %t1123, i32 8, i32 %t1122 %t1125 = getelementptr ptr, ptr null, i32 1 %t1126 = ptrtoint ptr %t1125 to i64 %t1127 = zext i32 %t1124 to i64 %t1128 = mul i64 %t1127, %t1126 %t1129 = load ptr, ptr %t1118 %t1130 = call ptr @realloc(ptr %t1129, i64 %t1128) store ptr %t1130, ptr %t1118 store i32 %t1124, ptr %t1117 br label %put316 put316: %t1131 = load ptr, ptr %t1118 %t1132 = getelementptr inbounds ptr, ptr %t1131, i32 %t1119 store ptr @.str7393, ptr %t1132 %t1133 = add i32 %t1119, 1 store i32 %t1133, ptr %t1116 %t1134 = load ptr, ptr %t410 %t1135 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 1 %t1136 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 2 %t1137 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 0 %t1138 = load i32, ptr %t1135 %t1139 = load i32, ptr %t1136 %t1140 = icmp sge i32 %t1138, %t1139 br i1 %t1140, label %grow317, label %put318 grow317: %t1141 = mul i32 %t1139, 2 %t1142 = icmp eq i32 %t1139, 0 %t1143 = select i1 %t1142, i32 8, i32 %t1141 %t1144 = getelementptr ptr, ptr null, i32 1 %t1145 = ptrtoint ptr %t1144 to i64 %t1146 = zext i32 %t1143 to i64 %t1147 = mul i64 %t1146, %t1145 %t1148 = load ptr, ptr %t1137 %t1149 = call ptr @realloc(ptr %t1148, i64 %t1147) store ptr %t1149, ptr %t1137 store i32 %t1143, ptr %t1136 br label %put318 put318: %t1150 = load ptr, ptr %t1137 %t1151 = getelementptr inbounds ptr, ptr %t1150, i32 %t1138 store ptr @.str7394, ptr %t1151 %t1152 = add i32 %t1138, 1 store i32 %t1152, ptr %t1135 %t1153 = load ptr, ptr %t410 %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 1 %t1155 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 2 %t1156 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 %t1157 = load i32, ptr %t1154 %t1158 = load i32, ptr %t1155 %t1159 = icmp sge i32 %t1157, %t1158 br i1 %t1159, label %grow319, label %put320 grow319: %t1160 = mul i32 %t1158, 2 %t1161 = icmp eq i32 %t1158, 0 %t1162 = select i1 %t1161, i32 8, i32 %t1160 %t1163 = getelementptr ptr, ptr null, i32 1 %t1164 = ptrtoint ptr %t1163 to i64 %t1165 = zext i32 %t1162 to i64 %t1166 = mul i64 %t1165, %t1164 %t1167 = load ptr, ptr %t1156 %t1168 = call ptr @realloc(ptr %t1167, i64 %t1166) store ptr %t1168, ptr %t1156 store i32 %t1162, ptr %t1155 br label %put320 put320: %t1169 = load ptr, ptr %t1156 %t1170 = getelementptr inbounds ptr, ptr %t1169, i32 %t1157 store ptr @.str7395, ptr %t1170 %t1171 = add i32 %t1157, 1 store i32 %t1171, ptr %t1154 br label %ifend310 ifend310: %t1172 = load ptr, ptr %t1 %t1173 = call i32 @lp_str_eq(ptr %t1172, ptr @.str7396) %t1174 = icmp ne i32 %t1173, 0 br i1 %t1174, label %then321, label %ifend323 then321: store ptr @.str7397, ptr %t403 %t1175 = load ptr, ptr %t410 %t1176 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 1 %t1177 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 2 %t1178 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 0 %t1179 = load i32, ptr %t1176 %t1180 = load i32, ptr %t1177 %t1181 = icmp sge i32 %t1179, %t1180 br i1 %t1181, label %grow324, label %put325 grow324: %t1182 = mul i32 %t1180, 2 %t1183 = icmp eq i32 %t1180, 0 %t1184 = select i1 %t1183, i32 8, i32 %t1182 %t1185 = getelementptr ptr, ptr null, i32 1 %t1186 = ptrtoint ptr %t1185 to i64 %t1187 = zext i32 %t1184 to i64 %t1188 = mul i64 %t1187, %t1186 %t1189 = load ptr, ptr %t1178 %t1190 = call ptr @realloc(ptr %t1189, i64 %t1188) store ptr %t1190, ptr %t1178 store i32 %t1184, ptr %t1177 br label %put325 put325: %t1191 = load ptr, ptr %t1178 %t1192 = getelementptr inbounds ptr, ptr %t1191, i32 %t1179 store ptr @.str7398, ptr %t1192 %t1193 = add i32 %t1179, 1 store i32 %t1193, ptr %t1176 %t1194 = load ptr, ptr %t410 %t1195 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 1 %t1196 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 2 %t1197 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 0 %t1198 = load i32, ptr %t1195 %t1199 = load i32, ptr %t1196 %t1200 = icmp sge i32 %t1198, %t1199 br i1 %t1200, label %grow326, label %put327 grow326: %t1201 = mul i32 %t1199, 2 %t1202 = icmp eq i32 %t1199, 0 %t1203 = select i1 %t1202, i32 8, i32 %t1201 %t1204 = getelementptr ptr, ptr null, i32 1 %t1205 = ptrtoint ptr %t1204 to i64 %t1206 = zext i32 %t1203 to i64 %t1207 = mul i64 %t1206, %t1205 %t1208 = load ptr, ptr %t1197 %t1209 = call ptr @realloc(ptr %t1208, i64 %t1207) store ptr %t1209, ptr %t1197 store i32 %t1203, ptr %t1196 br label %put327 put327: %t1210 = load ptr, ptr %t1197 %t1211 = getelementptr inbounds ptr, ptr %t1210, i32 %t1198 store ptr @.str7399, ptr %t1211 %t1212 = add i32 %t1198, 1 store i32 %t1212, ptr %t1195 %t1213 = load ptr, ptr %t410 %t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 1 %t1215 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 2 %t1216 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0 %t1217 = load i32, ptr %t1214 %t1218 = load i32, ptr %t1215 %t1219 = icmp sge i32 %t1217, %t1218 br i1 %t1219, label %grow328, label %put329 grow328: %t1220 = mul i32 %t1218, 2 %t1221 = icmp eq i32 %t1218, 0 %t1222 = select i1 %t1221, i32 8, i32 %t1220 %t1223 = getelementptr ptr, ptr null, i32 1 %t1224 = ptrtoint ptr %t1223 to i64 %t1225 = zext i32 %t1222 to i64 %t1226 = mul i64 %t1225, %t1224 %t1227 = load ptr, ptr %t1216 %t1228 = call ptr @realloc(ptr %t1227, i64 %t1226) store ptr %t1228, ptr %t1216 store i32 %t1222, ptr %t1215 br label %put329 put329: %t1229 = load ptr, ptr %t1216 %t1230 = getelementptr inbounds ptr, ptr %t1229, i32 %t1217 store ptr @.str7400, ptr %t1230 %t1231 = add i32 %t1217, 1 store i32 %t1231, ptr %t1214 %t1232 = load ptr, ptr %t410 %t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 1 %t1234 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 2 %t1235 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0 %t1236 = load i32, ptr %t1233 %t1237 = load i32, ptr %t1234 %t1238 = icmp sge i32 %t1236, %t1237 br i1 %t1238, label %grow330, label %put331 grow330: %t1239 = mul i32 %t1237, 2 %t1240 = icmp eq i32 %t1237, 0 %t1241 = select i1 %t1240, i32 8, i32 %t1239 %t1242 = getelementptr ptr, ptr null, i32 1 %t1243 = ptrtoint ptr %t1242 to i64 %t1244 = zext i32 %t1241 to i64 %t1245 = mul i64 %t1244, %t1243 %t1246 = load ptr, ptr %t1235 %t1247 = call ptr @realloc(ptr %t1246, i64 %t1245) store ptr %t1247, ptr %t1235 store i32 %t1241, ptr %t1234 br label %put331 put331: %t1248 = load ptr, ptr %t1235 %t1249 = getelementptr inbounds ptr, ptr %t1248, i32 %t1236 store ptr @.str7401, ptr %t1249 %t1250 = add i32 %t1236, 1 store i32 %t1250, ptr %t1233 br label %ifend323 ifend323: %t1251 = load ptr, ptr %t1 %t1252 = call i32 @lp_str_eq(ptr %t1251, ptr @.str7402) %t1253 = icmp ne i32 %t1252, 0 br i1 %t1253, label %then332, label %ifend334 then332: store ptr @.str7403, ptr %t403 %t1254 = load ptr, ptr %t410 %t1255 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 %t1256 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 2 %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 %t1258 = load i32, ptr %t1255 %t1259 = load i32, ptr %t1256 %t1260 = icmp sge i32 %t1258, %t1259 br i1 %t1260, label %grow335, label %put336 grow335: %t1261 = mul i32 %t1259, 2 %t1262 = icmp eq i32 %t1259, 0 %t1263 = select i1 %t1262, i32 8, i32 %t1261 %t1264 = getelementptr ptr, ptr null, i32 1 %t1265 = ptrtoint ptr %t1264 to i64 %t1266 = zext i32 %t1263 to i64 %t1267 = mul i64 %t1266, %t1265 %t1268 = load ptr, ptr %t1257 %t1269 = call ptr @realloc(ptr %t1268, i64 %t1267) store ptr %t1269, ptr %t1257 store i32 %t1263, ptr %t1256 br label %put336 put336: %t1270 = load ptr, ptr %t1257 %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 %t1258 store ptr @.str7404, ptr %t1271 %t1272 = add i32 %t1258, 1 store i32 %t1272, ptr %t1255 %t1273 = load ptr, ptr %t410 %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 1 %t1275 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 2 %t1276 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 %t1277 = load i32, ptr %t1274 %t1278 = load i32, ptr %t1275 %t1279 = icmp sge i32 %t1277, %t1278 br i1 %t1279, label %grow337, label %put338 grow337: %t1280 = mul i32 %t1278, 2 %t1281 = icmp eq i32 %t1278, 0 %t1282 = select i1 %t1281, i32 8, i32 %t1280 %t1283 = getelementptr ptr, ptr null, i32 1 %t1284 = ptrtoint ptr %t1283 to i64 %t1285 = zext i32 %t1282 to i64 %t1286 = mul i64 %t1285, %t1284 %t1287 = load ptr, ptr %t1276 %t1288 = call ptr @realloc(ptr %t1287, i64 %t1286) store ptr %t1288, ptr %t1276 store i32 %t1282, ptr %t1275 br label %put338 put338: %t1289 = load ptr, ptr %t1276 %t1290 = getelementptr inbounds ptr, ptr %t1289, i32 %t1277 store ptr @.str7405, ptr %t1290 %t1291 = add i32 %t1277, 1 store i32 %t1291, ptr %t1274 %t1292 = load ptr, ptr %t410 %t1293 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 1 %t1294 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 2 %t1295 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 0 %t1296 = load i32, ptr %t1293 %t1297 = load i32, ptr %t1294 %t1298 = icmp sge i32 %t1296, %t1297 br i1 %t1298, label %grow339, label %put340 grow339: %t1299 = mul i32 %t1297, 2 %t1300 = icmp eq i32 %t1297, 0 %t1301 = select i1 %t1300, i32 8, i32 %t1299 %t1302 = getelementptr ptr, ptr null, i32 1 %t1303 = ptrtoint ptr %t1302 to i64 %t1304 = zext i32 %t1301 to i64 %t1305 = mul i64 %t1304, %t1303 %t1306 = load ptr, ptr %t1295 %t1307 = call ptr @realloc(ptr %t1306, i64 %t1305) store ptr %t1307, ptr %t1295 store i32 %t1301, ptr %t1294 br label %put340 put340: %t1308 = load ptr, ptr %t1295 %t1309 = getelementptr inbounds ptr, ptr %t1308, i32 %t1296 store ptr @.str7406, ptr %t1309 %t1310 = add i32 %t1296, 1 store i32 %t1310, ptr %t1293 %t1311 = load ptr, ptr %t410 %t1312 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 1 %t1313 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 2 %t1314 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 0 %t1315 = load i32, ptr %t1312 %t1316 = load i32, ptr %t1313 %t1317 = icmp sge i32 %t1315, %t1316 br i1 %t1317, label %grow341, label %put342 grow341: %t1318 = mul i32 %t1316, 2 %t1319 = icmp eq i32 %t1316, 0 %t1320 = select i1 %t1319, i32 8, i32 %t1318 %t1321 = getelementptr ptr, ptr null, i32 1 %t1322 = ptrtoint ptr %t1321 to i64 %t1323 = zext i32 %t1320 to i64 %t1324 = mul i64 %t1323, %t1322 %t1325 = load ptr, ptr %t1314 %t1326 = call ptr @realloc(ptr %t1325, i64 %t1324) store ptr %t1326, ptr %t1314 store i32 %t1320, ptr %t1313 br label %put342 put342: %t1327 = load ptr, ptr %t1314 %t1328 = getelementptr inbounds ptr, ptr %t1327, i32 %t1315 store ptr @.str7407, ptr %t1328 %t1329 = add i32 %t1315, 1 store i32 %t1329, ptr %t1312 br label %ifend334 ifend334: %t1330 = load ptr, ptr %t1 %t1331 = call i32 @lp_str_eq(ptr %t1330, ptr @.str7408) %t1332 = icmp ne i32 %t1331, 0 br i1 %t1332, label %then343, label %ifend345 then343: store ptr @.str7409, ptr %t403 %t1333 = load ptr, ptr %t410 %t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 1 %t1335 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 2 %t1336 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0 %t1337 = load i32, ptr %t1334 %t1338 = load i32, ptr %t1335 %t1339 = icmp sge i32 %t1337, %t1338 br i1 %t1339, label %grow346, label %put347 grow346: %t1340 = mul i32 %t1338, 2 %t1341 = icmp eq i32 %t1338, 0 %t1342 = select i1 %t1341, i32 8, i32 %t1340 %t1343 = getelementptr ptr, ptr null, i32 1 %t1344 = ptrtoint ptr %t1343 to i64 %t1345 = zext i32 %t1342 to i64 %t1346 = mul i64 %t1345, %t1344 %t1347 = load ptr, ptr %t1336 %t1348 = call ptr @realloc(ptr %t1347, i64 %t1346) store ptr %t1348, ptr %t1336 store i32 %t1342, ptr %t1335 br label %put347 put347: %t1349 = load ptr, ptr %t1336 %t1350 = getelementptr inbounds ptr, ptr %t1349, i32 %t1337 store ptr @.str7410, ptr %t1350 %t1351 = add i32 %t1337, 1 store i32 %t1351, ptr %t1334 %t1352 = load ptr, ptr %t410 %t1353 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 1 %t1354 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 2 %t1355 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 0 %t1356 = load i32, ptr %t1353 %t1357 = load i32, ptr %t1354 %t1358 = icmp sge i32 %t1356, %t1357 br i1 %t1358, label %grow348, label %put349 grow348: %t1359 = mul i32 %t1357, 2 %t1360 = icmp eq i32 %t1357, 0 %t1361 = select i1 %t1360, i32 8, i32 %t1359 %t1362 = getelementptr ptr, ptr null, i32 1 %t1363 = ptrtoint ptr %t1362 to i64 %t1364 = zext i32 %t1361 to i64 %t1365 = mul i64 %t1364, %t1363 %t1366 = load ptr, ptr %t1355 %t1367 = call ptr @realloc(ptr %t1366, i64 %t1365) store ptr %t1367, ptr %t1355 store i32 %t1361, ptr %t1354 br label %put349 put349: %t1368 = load ptr, ptr %t1355 %t1369 = getelementptr inbounds ptr, ptr %t1368, i32 %t1356 store ptr @.str7411, ptr %t1369 %t1370 = add i32 %t1356, 1 store i32 %t1370, ptr %t1353 %t1371 = load ptr, ptr %t410 %t1372 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 1 %t1373 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 2 %t1374 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 0 %t1375 = load i32, ptr %t1372 %t1376 = load i32, ptr %t1373 %t1377 = icmp sge i32 %t1375, %t1376 br i1 %t1377, label %grow350, label %put351 grow350: %t1378 = mul i32 %t1376, 2 %t1379 = icmp eq i32 %t1376, 0 %t1380 = select i1 %t1379, i32 8, i32 %t1378 %t1381 = getelementptr ptr, ptr null, i32 1 %t1382 = ptrtoint ptr %t1381 to i64 %t1383 = zext i32 %t1380 to i64 %t1384 = mul i64 %t1383, %t1382 %t1385 = load ptr, ptr %t1374 %t1386 = call ptr @realloc(ptr %t1385, i64 %t1384) store ptr %t1386, ptr %t1374 store i32 %t1380, ptr %t1373 br label %put351 put351: %t1387 = load ptr, ptr %t1374 %t1388 = getelementptr inbounds ptr, ptr %t1387, i32 %t1375 store ptr @.str7412, ptr %t1388 %t1389 = add i32 %t1375, 1 store i32 %t1389, ptr %t1372 %t1390 = load ptr, ptr %t410 %t1391 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 1 %t1392 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 2 %t1393 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 0 %t1394 = load i32, ptr %t1391 %t1395 = load i32, ptr %t1392 %t1396 = icmp sge i32 %t1394, %t1395 br i1 %t1396, label %grow352, label %put353 grow352: %t1397 = mul i32 %t1395, 2 %t1398 = icmp eq i32 %t1395, 0 %t1399 = select i1 %t1398, i32 8, i32 %t1397 %t1400 = getelementptr ptr, ptr null, i32 1 %t1401 = ptrtoint ptr %t1400 to i64 %t1402 = zext i32 %t1399 to i64 %t1403 = mul i64 %t1402, %t1401 %t1404 = load ptr, ptr %t1393 %t1405 = call ptr @realloc(ptr %t1404, i64 %t1403) store ptr %t1405, ptr %t1393 store i32 %t1399, ptr %t1392 br label %put353 put353: %t1406 = load ptr, ptr %t1393 %t1407 = getelementptr inbounds ptr, ptr %t1406, i32 %t1394 store ptr @.str7413, ptr %t1407 %t1408 = add i32 %t1394, 1 store i32 %t1408, ptr %t1391 %t1409 = load ptr, ptr %t410 %t1410 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 1 %t1411 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 2 %t1412 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 0 %t1413 = load i32, ptr %t1410 %t1414 = load i32, ptr %t1411 %t1415 = icmp sge i32 %t1413, %t1414 br i1 %t1415, label %grow354, label %put355 grow354: %t1416 = mul i32 %t1414, 2 %t1417 = icmp eq i32 %t1414, 0 %t1418 = select i1 %t1417, i32 8, i32 %t1416 %t1419 = getelementptr ptr, ptr null, i32 1 %t1420 = ptrtoint ptr %t1419 to i64 %t1421 = zext i32 %t1418 to i64 %t1422 = mul i64 %t1421, %t1420 %t1423 = load ptr, ptr %t1412 %t1424 = call ptr @realloc(ptr %t1423, i64 %t1422) store ptr %t1424, ptr %t1412 store i32 %t1418, ptr %t1411 br label %put355 put355: %t1425 = load ptr, ptr %t1412 %t1426 = getelementptr inbounds ptr, ptr %t1425, i32 %t1413 store ptr @.str7414, ptr %t1426 %t1427 = add i32 %t1413, 1 store i32 %t1427, ptr %t1410 %t1428 = load ptr, ptr %t410 %t1429 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 1 %t1430 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 2 %t1431 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 0 %t1432 = load i32, ptr %t1429 %t1433 = load i32, ptr %t1430 %t1434 = icmp sge i32 %t1432, %t1433 br i1 %t1434, label %grow356, label %put357 grow356: %t1435 = mul i32 %t1433, 2 %t1436 = icmp eq i32 %t1433, 0 %t1437 = select i1 %t1436, i32 8, i32 %t1435 %t1438 = getelementptr ptr, ptr null, i32 1 %t1439 = ptrtoint ptr %t1438 to i64 %t1440 = zext i32 %t1437 to i64 %t1441 = mul i64 %t1440, %t1439 %t1442 = load ptr, ptr %t1431 %t1443 = call ptr @realloc(ptr %t1442, i64 %t1441) store ptr %t1443, ptr %t1431 store i32 %t1437, ptr %t1430 br label %put357 put357: %t1444 = load ptr, ptr %t1431 %t1445 = getelementptr inbounds ptr, ptr %t1444, i32 %t1432 store ptr @.str7415, ptr %t1445 %t1446 = add i32 %t1432, 1 store i32 %t1446, ptr %t1429 %t1447 = load ptr, ptr %t410 %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 1 %t1449 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 2 %t1450 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 %t1451 = load i32, ptr %t1448 %t1452 = load i32, ptr %t1449 %t1453 = icmp sge i32 %t1451, %t1452 br i1 %t1453, label %grow358, label %put359 grow358: %t1454 = mul i32 %t1452, 2 %t1455 = icmp eq i32 %t1452, 0 %t1456 = select i1 %t1455, i32 8, i32 %t1454 %t1457 = getelementptr ptr, ptr null, i32 1 %t1458 = ptrtoint ptr %t1457 to i64 %t1459 = zext i32 %t1456 to i64 %t1460 = mul i64 %t1459, %t1458 %t1461 = load ptr, ptr %t1450 %t1462 = call ptr @realloc(ptr %t1461, i64 %t1460) store ptr %t1462, ptr %t1450 store i32 %t1456, ptr %t1449 br label %put359 put359: %t1463 = load ptr, ptr %t1450 %t1464 = getelementptr inbounds ptr, ptr %t1463, i32 %t1451 store ptr @.str7416, ptr %t1464 %t1465 = add i32 %t1451, 1 store i32 %t1465, ptr %t1448 br label %ifend345 ifend345: %t1466 = load ptr, ptr %t1 %t1467 = call i32 @lp_str_eq(ptr %t1466, ptr @.str7417) %t1468 = icmp ne i32 %t1467, 0 br i1 %t1468, label %then360, label %ifend362 then360: store ptr @.str7418, ptr %t403 %t1469 = load ptr, ptr %t410 %t1470 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 1 %t1471 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 2 %t1472 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 0 %t1473 = load i32, ptr %t1470 %t1474 = load i32, ptr %t1471 %t1475 = icmp sge i32 %t1473, %t1474 br i1 %t1475, label %grow363, label %put364 grow363: %t1476 = mul i32 %t1474, 2 %t1477 = icmp eq i32 %t1474, 0 %t1478 = select i1 %t1477, i32 8, i32 %t1476 %t1479 = getelementptr ptr, ptr null, i32 1 %t1480 = ptrtoint ptr %t1479 to i64 %t1481 = zext i32 %t1478 to i64 %t1482 = mul i64 %t1481, %t1480 %t1483 = load ptr, ptr %t1472 %t1484 = call ptr @realloc(ptr %t1483, i64 %t1482) store ptr %t1484, ptr %t1472 store i32 %t1478, ptr %t1471 br label %put364 put364: %t1485 = load ptr, ptr %t1472 %t1486 = getelementptr inbounds ptr, ptr %t1485, i32 %t1473 store ptr @.str7419, ptr %t1486 %t1487 = add i32 %t1473, 1 store i32 %t1487, ptr %t1470 %t1488 = load ptr, ptr %t410 %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 1 %t1490 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 2 %t1491 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 %t1492 = load i32, ptr %t1489 %t1493 = load i32, ptr %t1490 %t1494 = icmp sge i32 %t1492, %t1493 br i1 %t1494, label %grow365, label %put366 grow365: %t1495 = mul i32 %t1493, 2 %t1496 = icmp eq i32 %t1493, 0 %t1497 = select i1 %t1496, i32 8, i32 %t1495 %t1498 = getelementptr ptr, ptr null, i32 1 %t1499 = ptrtoint ptr %t1498 to i64 %t1500 = zext i32 %t1497 to i64 %t1501 = mul i64 %t1500, %t1499 %t1502 = load ptr, ptr %t1491 %t1503 = call ptr @realloc(ptr %t1502, i64 %t1501) store ptr %t1503, ptr %t1491 store i32 %t1497, ptr %t1490 br label %put366 put366: %t1504 = load ptr, ptr %t1491 %t1505 = getelementptr inbounds ptr, ptr %t1504, i32 %t1492 store ptr @.str7420, ptr %t1505 %t1506 = add i32 %t1492, 1 store i32 %t1506, ptr %t1489 %t1507 = load ptr, ptr %t410 %t1508 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 1 %t1509 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 2 %t1510 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 0 %t1511 = load i32, ptr %t1508 %t1512 = load i32, ptr %t1509 %t1513 = icmp sge i32 %t1511, %t1512 br i1 %t1513, label %grow367, label %put368 grow367: %t1514 = mul i32 %t1512, 2 %t1515 = icmp eq i32 %t1512, 0 %t1516 = select i1 %t1515, i32 8, i32 %t1514 %t1517 = getelementptr ptr, ptr null, i32 1 %t1518 = ptrtoint ptr %t1517 to i64 %t1519 = zext i32 %t1516 to i64 %t1520 = mul i64 %t1519, %t1518 %t1521 = load ptr, ptr %t1510 %t1522 = call ptr @realloc(ptr %t1521, i64 %t1520) store ptr %t1522, ptr %t1510 store i32 %t1516, ptr %t1509 br label %put368 put368: %t1523 = load ptr, ptr %t1510 %t1524 = getelementptr inbounds ptr, ptr %t1523, i32 %t1511 store ptr @.str7421, ptr %t1524 %t1525 = add i32 %t1511, 1 store i32 %t1525, ptr %t1508 %t1526 = load ptr, ptr %t410 %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 1 %t1528 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 2 %t1529 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 %t1530 = load i32, ptr %t1527 %t1531 = load i32, ptr %t1528 %t1532 = icmp sge i32 %t1530, %t1531 br i1 %t1532, label %grow369, label %put370 grow369: %t1533 = mul i32 %t1531, 2 %t1534 = icmp eq i32 %t1531, 0 %t1535 = select i1 %t1534, i32 8, i32 %t1533 %t1536 = getelementptr ptr, ptr null, i32 1 %t1537 = ptrtoint ptr %t1536 to i64 %t1538 = zext i32 %t1535 to i64 %t1539 = mul i64 %t1538, %t1537 %t1540 = load ptr, ptr %t1529 %t1541 = call ptr @realloc(ptr %t1540, i64 %t1539) store ptr %t1541, ptr %t1529 store i32 %t1535, ptr %t1528 br label %put370 put370: %t1542 = load ptr, ptr %t1529 %t1543 = getelementptr inbounds ptr, ptr %t1542, i32 %t1530 store ptr @.str7422, ptr %t1543 %t1544 = add i32 %t1530, 1 store i32 %t1544, ptr %t1527 %t1545 = load ptr, ptr %t410 %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 1 %t1547 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 2 %t1548 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 %t1549 = load i32, ptr %t1546 %t1550 = load i32, ptr %t1547 %t1551 = icmp sge i32 %t1549, %t1550 br i1 %t1551, label %grow371, label %put372 grow371: %t1552 = mul i32 %t1550, 2 %t1553 = icmp eq i32 %t1550, 0 %t1554 = select i1 %t1553, i32 8, i32 %t1552 %t1555 = getelementptr ptr, ptr null, i32 1 %t1556 = ptrtoint ptr %t1555 to i64 %t1557 = zext i32 %t1554 to i64 %t1558 = mul i64 %t1557, %t1556 %t1559 = load ptr, ptr %t1548 %t1560 = call ptr @realloc(ptr %t1559, i64 %t1558) store ptr %t1560, ptr %t1548 store i32 %t1554, ptr %t1547 br label %put372 put372: %t1561 = load ptr, ptr %t1548 %t1562 = getelementptr inbounds ptr, ptr %t1561, i32 %t1549 store ptr @.str7423, ptr %t1562 %t1563 = add i32 %t1549, 1 store i32 %t1563, ptr %t1546 %t1564 = load ptr, ptr %t410 %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 1 %t1566 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 2 %t1567 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 %t1568 = load i32, ptr %t1565 %t1569 = load i32, ptr %t1566 %t1570 = icmp sge i32 %t1568, %t1569 br i1 %t1570, label %grow373, label %put374 grow373: %t1571 = mul i32 %t1569, 2 %t1572 = icmp eq i32 %t1569, 0 %t1573 = select i1 %t1572, i32 8, i32 %t1571 %t1574 = getelementptr ptr, ptr null, i32 1 %t1575 = ptrtoint ptr %t1574 to i64 %t1576 = zext i32 %t1573 to i64 %t1577 = mul i64 %t1576, %t1575 %t1578 = load ptr, ptr %t1567 %t1579 = call ptr @realloc(ptr %t1578, i64 %t1577) store ptr %t1579, ptr %t1567 store i32 %t1573, ptr %t1566 br label %put374 put374: %t1580 = load ptr, ptr %t1567 %t1581 = getelementptr inbounds ptr, ptr %t1580, i32 %t1568 store ptr @.str7424, ptr %t1581 %t1582 = add i32 %t1568, 1 store i32 %t1582, ptr %t1565 %t1583 = load ptr, ptr %t410 %t1584 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 1 %t1585 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 2 %t1586 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 0 %t1587 = load i32, ptr %t1584 %t1588 = load i32, ptr %t1585 %t1589 = icmp sge i32 %t1587, %t1588 br i1 %t1589, label %grow375, label %put376 grow375: %t1590 = mul i32 %t1588, 2 %t1591 = icmp eq i32 %t1588, 0 %t1592 = select i1 %t1591, i32 8, i32 %t1590 %t1593 = getelementptr ptr, ptr null, i32 1 %t1594 = ptrtoint ptr %t1593 to i64 %t1595 = zext i32 %t1592 to i64 %t1596 = mul i64 %t1595, %t1594 %t1597 = load ptr, ptr %t1586 %t1598 = call ptr @realloc(ptr %t1597, i64 %t1596) store ptr %t1598, ptr %t1586 store i32 %t1592, ptr %t1585 br label %put376 put376: %t1599 = load ptr, ptr %t1586 %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 %t1587 store ptr @.str7425, ptr %t1600 %t1601 = add i32 %t1587, 1 store i32 %t1601, ptr %t1584 br label %ifend362 ifend362: %t1602 = load ptr, ptr %t1 %t1603 = call i32 @lp_str_eq(ptr %t1602, ptr @.str7426) %t1604 = icmp ne i32 %t1603, 0 br i1 %t1604, label %then377, label %ifend379 then377: store ptr @.str7427, ptr %t403 %t1605 = load ptr, ptr %t410 %t1606 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 1 %t1607 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 2 %t1608 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 0 %t1609 = load i32, ptr %t1606 %t1610 = load i32, ptr %t1607 %t1611 = icmp sge i32 %t1609, %t1610 br i1 %t1611, label %grow380, label %put381 grow380: %t1612 = mul i32 %t1610, 2 %t1613 = icmp eq i32 %t1610, 0 %t1614 = select i1 %t1613, i32 8, i32 %t1612 %t1615 = getelementptr ptr, ptr null, i32 1 %t1616 = ptrtoint ptr %t1615 to i64 %t1617 = zext i32 %t1614 to i64 %t1618 = mul i64 %t1617, %t1616 %t1619 = load ptr, ptr %t1608 %t1620 = call ptr @realloc(ptr %t1619, i64 %t1618) store ptr %t1620, ptr %t1608 store i32 %t1614, ptr %t1607 br label %put381 put381: %t1621 = load ptr, ptr %t1608 %t1622 = getelementptr inbounds ptr, ptr %t1621, i32 %t1609 store ptr @.str7428, ptr %t1622 %t1623 = add i32 %t1609, 1 store i32 %t1623, ptr %t1606 %t1624 = load ptr, ptr %t410 %t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1 %t1626 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 2 %t1627 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 0 %t1628 = load i32, ptr %t1625 %t1629 = load i32, ptr %t1626 %t1630 = icmp sge i32 %t1628, %t1629 br i1 %t1630, label %grow382, label %put383 grow382: %t1631 = mul i32 %t1629, 2 %t1632 = icmp eq i32 %t1629, 0 %t1633 = select i1 %t1632, i32 8, i32 %t1631 %t1634 = getelementptr ptr, ptr null, i32 1 %t1635 = ptrtoint ptr %t1634 to i64 %t1636 = zext i32 %t1633 to i64 %t1637 = mul i64 %t1636, %t1635 %t1638 = load ptr, ptr %t1627 %t1639 = call ptr @realloc(ptr %t1638, i64 %t1637) store ptr %t1639, ptr %t1627 store i32 %t1633, ptr %t1626 br label %put383 put383: %t1640 = load ptr, ptr %t1627 %t1641 = getelementptr inbounds ptr, ptr %t1640, i32 %t1628 store ptr @.str7429, ptr %t1641 %t1642 = add i32 %t1628, 1 store i32 %t1642, ptr %t1625 %t1643 = load ptr, ptr %t410 %t1644 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 1 %t1645 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 2 %t1646 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 0 %t1647 = load i32, ptr %t1644 %t1648 = load i32, ptr %t1645 %t1649 = icmp sge i32 %t1647, %t1648 br i1 %t1649, label %grow384, label %put385 grow384: %t1650 = mul i32 %t1648, 2 %t1651 = icmp eq i32 %t1648, 0 %t1652 = select i1 %t1651, i32 8, i32 %t1650 %t1653 = getelementptr ptr, ptr null, i32 1 %t1654 = ptrtoint ptr %t1653 to i64 %t1655 = zext i32 %t1652 to i64 %t1656 = mul i64 %t1655, %t1654 %t1657 = load ptr, ptr %t1646 %t1658 = call ptr @realloc(ptr %t1657, i64 %t1656) store ptr %t1658, ptr %t1646 store i32 %t1652, ptr %t1645 br label %put385 put385: %t1659 = load ptr, ptr %t1646 %t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1647 store ptr @.str7430, ptr %t1660 %t1661 = add i32 %t1647, 1 store i32 %t1661, ptr %t1644 br label %ifend379 ifend379: %t1662 = load ptr, ptr %t1 %t1663 = call i32 @lp_str_eq(ptr %t1662, ptr @.str7431) %t1664 = icmp ne i32 %t1663, 0 br i1 %t1664, label %then386, label %ifend388 then386: store ptr @.str7432, ptr %t403 %t1665 = load ptr, ptr %t410 %t1666 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 1 %t1667 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 2 %t1668 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 0 %t1669 = load i32, ptr %t1666 %t1670 = load i32, ptr %t1667 %t1671 = icmp sge i32 %t1669, %t1670 br i1 %t1671, label %grow389, label %put390 grow389: %t1672 = mul i32 %t1670, 2 %t1673 = icmp eq i32 %t1670, 0 %t1674 = select i1 %t1673, i32 8, i32 %t1672 %t1675 = getelementptr ptr, ptr null, i32 1 %t1676 = ptrtoint ptr %t1675 to i64 %t1677 = zext i32 %t1674 to i64 %t1678 = mul i64 %t1677, %t1676 %t1679 = load ptr, ptr %t1668 %t1680 = call ptr @realloc(ptr %t1679, i64 %t1678) store ptr %t1680, ptr %t1668 store i32 %t1674, ptr %t1667 br label %put390 put390: %t1681 = load ptr, ptr %t1668 %t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1669 store ptr @.str7433, ptr %t1682 %t1683 = add i32 %t1669, 1 store i32 %t1683, ptr %t1666 %t1684 = load ptr, ptr %t410 %t1685 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 1 %t1686 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 2 %t1687 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 0 %t1688 = load i32, ptr %t1685 %t1689 = load i32, ptr %t1686 %t1690 = icmp sge i32 %t1688, %t1689 br i1 %t1690, label %grow391, label %put392 grow391: %t1691 = mul i32 %t1689, 2 %t1692 = icmp eq i32 %t1689, 0 %t1693 = select i1 %t1692, i32 8, i32 %t1691 %t1694 = getelementptr ptr, ptr null, i32 1 %t1695 = ptrtoint ptr %t1694 to i64 %t1696 = zext i32 %t1693 to i64 %t1697 = mul i64 %t1696, %t1695 %t1698 = load ptr, ptr %t1687 %t1699 = call ptr @realloc(ptr %t1698, i64 %t1697) store ptr %t1699, ptr %t1687 store i32 %t1693, ptr %t1686 br label %put392 put392: %t1700 = load ptr, ptr %t1687 %t1701 = getelementptr inbounds ptr, ptr %t1700, i32 %t1688 store ptr @.str7434, ptr %t1701 %t1702 = add i32 %t1688, 1 store i32 %t1702, ptr %t1685 %t1703 = load ptr, ptr %t410 %t1704 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 1 %t1705 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 2 %t1706 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 0 %t1707 = load i32, ptr %t1704 %t1708 = load i32, ptr %t1705 %t1709 = icmp sge i32 %t1707, %t1708 br i1 %t1709, label %grow393, label %put394 grow393: %t1710 = mul i32 %t1708, 2 %t1711 = icmp eq i32 %t1708, 0 %t1712 = select i1 %t1711, i32 8, i32 %t1710 %t1713 = getelementptr ptr, ptr null, i32 1 %t1714 = ptrtoint ptr %t1713 to i64 %t1715 = zext i32 %t1712 to i64 %t1716 = mul i64 %t1715, %t1714 %t1717 = load ptr, ptr %t1706 %t1718 = call ptr @realloc(ptr %t1717, i64 %t1716) store ptr %t1718, ptr %t1706 store i32 %t1712, ptr %t1705 br label %put394 put394: %t1719 = load ptr, ptr %t1706 %t1720 = getelementptr inbounds ptr, ptr %t1719, i32 %t1707 store ptr @.str7435, ptr %t1720 %t1721 = add i32 %t1707, 1 store i32 %t1721, ptr %t1704 %t1722 = load ptr, ptr %t410 %t1723 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 1 %t1724 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 2 %t1725 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 0 %t1726 = load i32, ptr %t1723 %t1727 = load i32, ptr %t1724 %t1728 = icmp sge i32 %t1726, %t1727 br i1 %t1728, label %grow395, label %put396 grow395: %t1729 = mul i32 %t1727, 2 %t1730 = icmp eq i32 %t1727, 0 %t1731 = select i1 %t1730, i32 8, i32 %t1729 %t1732 = getelementptr ptr, ptr null, i32 1 %t1733 = ptrtoint ptr %t1732 to i64 %t1734 = zext i32 %t1731 to i64 %t1735 = mul i64 %t1734, %t1733 %t1736 = load ptr, ptr %t1725 %t1737 = call ptr @realloc(ptr %t1736, i64 %t1735) store ptr %t1737, ptr %t1725 store i32 %t1731, ptr %t1724 br label %put396 put396: %t1738 = load ptr, ptr %t1725 %t1739 = getelementptr inbounds ptr, ptr %t1738, i32 %t1726 store ptr @.str7436, ptr %t1739 %t1740 = add i32 %t1726, 1 store i32 %t1740, ptr %t1723 br label %ifend388 ifend388: %t1741 = load ptr, ptr %t1 %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str7437) %t1743 = icmp ne i32 %t1742, 0 br i1 %t1743, label %then397, label %ifend399 then397: store ptr @.str7438, ptr %t403 %t1744 = load ptr, ptr %t410 %t1745 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 1 %t1746 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 2 %t1747 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 0 %t1748 = load i32, ptr %t1745 %t1749 = load i32, ptr %t1746 %t1750 = icmp sge i32 %t1748, %t1749 br i1 %t1750, label %grow400, label %put401 grow400: %t1751 = mul i32 %t1749, 2 %t1752 = icmp eq i32 %t1749, 0 %t1753 = select i1 %t1752, i32 8, i32 %t1751 %t1754 = getelementptr ptr, ptr null, i32 1 %t1755 = ptrtoint ptr %t1754 to i64 %t1756 = zext i32 %t1753 to i64 %t1757 = mul i64 %t1756, %t1755 %t1758 = load ptr, ptr %t1747 %t1759 = call ptr @realloc(ptr %t1758, i64 %t1757) store ptr %t1759, ptr %t1747 store i32 %t1753, ptr %t1746 br label %put401 put401: %t1760 = load ptr, ptr %t1747 %t1761 = getelementptr inbounds ptr, ptr %t1760, i32 %t1748 store ptr @.str7439, ptr %t1761 %t1762 = add i32 %t1748, 1 store i32 %t1762, ptr %t1745 %t1763 = load ptr, ptr %t410 %t1764 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 1 %t1765 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 2 %t1766 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 0 %t1767 = load i32, ptr %t1764 %t1768 = load i32, ptr %t1765 %t1769 = icmp sge i32 %t1767, %t1768 br i1 %t1769, label %grow402, label %put403 grow402: %t1770 = mul i32 %t1768, 2 %t1771 = icmp eq i32 %t1768, 0 %t1772 = select i1 %t1771, i32 8, i32 %t1770 %t1773 = getelementptr ptr, ptr null, i32 1 %t1774 = ptrtoint ptr %t1773 to i64 %t1775 = zext i32 %t1772 to i64 %t1776 = mul i64 %t1775, %t1774 %t1777 = load ptr, ptr %t1766 %t1778 = call ptr @realloc(ptr %t1777, i64 %t1776) store ptr %t1778, ptr %t1766 store i32 %t1772, ptr %t1765 br label %put403 put403: %t1779 = load ptr, ptr %t1766 %t1780 = getelementptr inbounds ptr, ptr %t1779, i32 %t1767 store ptr @.str7440, ptr %t1780 %t1781 = add i32 %t1767, 1 store i32 %t1781, ptr %t1764 %t1782 = load ptr, ptr %t410 %t1783 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 1 %t1784 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 2 %t1785 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 0 %t1786 = load i32, ptr %t1783 %t1787 = load i32, ptr %t1784 %t1788 = icmp sge i32 %t1786, %t1787 br i1 %t1788, label %grow404, label %put405 grow404: %t1789 = mul i32 %t1787, 2 %t1790 = icmp eq i32 %t1787, 0 %t1791 = select i1 %t1790, i32 8, i32 %t1789 %t1792 = getelementptr ptr, ptr null, i32 1 %t1793 = ptrtoint ptr %t1792 to i64 %t1794 = zext i32 %t1791 to i64 %t1795 = mul i64 %t1794, %t1793 %t1796 = load ptr, ptr %t1785 %t1797 = call ptr @realloc(ptr %t1796, i64 %t1795) store ptr %t1797, ptr %t1785 store i32 %t1791, ptr %t1784 br label %put405 put405: %t1798 = load ptr, ptr %t1785 %t1799 = getelementptr inbounds ptr, ptr %t1798, i32 %t1786 store ptr @.str7441, ptr %t1799 %t1800 = add i32 %t1786, 1 store i32 %t1800, ptr %t1783 %t1801 = load ptr, ptr %t410 %t1802 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 1 %t1803 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 2 %t1804 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 0 %t1805 = load i32, ptr %t1802 %t1806 = load i32, ptr %t1803 %t1807 = icmp sge i32 %t1805, %t1806 br i1 %t1807, label %grow406, label %put407 grow406: %t1808 = mul i32 %t1806, 2 %t1809 = icmp eq i32 %t1806, 0 %t1810 = select i1 %t1809, i32 8, i32 %t1808 %t1811 = getelementptr ptr, ptr null, i32 1 %t1812 = ptrtoint ptr %t1811 to i64 %t1813 = zext i32 %t1810 to i64 %t1814 = mul i64 %t1813, %t1812 %t1815 = load ptr, ptr %t1804 %t1816 = call ptr @realloc(ptr %t1815, i64 %t1814) store ptr %t1816, ptr %t1804 store i32 %t1810, ptr %t1803 br label %put407 put407: %t1817 = load ptr, ptr %t1804 %t1818 = getelementptr inbounds ptr, ptr %t1817, i32 %t1805 store ptr @.str7442, ptr %t1818 %t1819 = add i32 %t1805, 1 store i32 %t1819, ptr %t1802 %t1820 = load ptr, ptr %t410 %t1821 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 1 %t1822 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 2 %t1823 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 0 %t1824 = load i32, ptr %t1821 %t1825 = load i32, ptr %t1822 %t1826 = icmp sge i32 %t1824, %t1825 br i1 %t1826, label %grow408, label %put409 grow408: %t1827 = mul i32 %t1825, 2 %t1828 = icmp eq i32 %t1825, 0 %t1829 = select i1 %t1828, i32 8, i32 %t1827 %t1830 = getelementptr ptr, ptr null, i32 1 %t1831 = ptrtoint ptr %t1830 to i64 %t1832 = zext i32 %t1829 to i64 %t1833 = mul i64 %t1832, %t1831 %t1834 = load ptr, ptr %t1823 %t1835 = call ptr @realloc(ptr %t1834, i64 %t1833) store ptr %t1835, ptr %t1823 store i32 %t1829, ptr %t1822 br label %put409 put409: %t1836 = load ptr, ptr %t1823 %t1837 = getelementptr inbounds ptr, ptr %t1836, i32 %t1824 store ptr @.str7443, ptr %t1837 %t1838 = add i32 %t1824, 1 store i32 %t1838, ptr %t1821 br label %ifend399 ifend399: %t1839 = load ptr, ptr %t1 %t1840 = call i32 @lp_str_eq(ptr %t1839, ptr @.str7444) %t1841 = icmp ne i32 %t1840, 0 br i1 %t1841, label %then410, label %ifend412 then410: store ptr @.str7445, ptr %t403 %t1842 = load ptr, ptr %t410 %t1843 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 1 %t1844 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 2 %t1845 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 0 %t1846 = load i32, ptr %t1843 %t1847 = load i32, ptr %t1844 %t1848 = icmp sge i32 %t1846, %t1847 br i1 %t1848, label %grow413, label %put414 grow413: %t1849 = mul i32 %t1847, 2 %t1850 = icmp eq i32 %t1847, 0 %t1851 = select i1 %t1850, i32 8, i32 %t1849 %t1852 = getelementptr ptr, ptr null, i32 1 %t1853 = ptrtoint ptr %t1852 to i64 %t1854 = zext i32 %t1851 to i64 %t1855 = mul i64 %t1854, %t1853 %t1856 = load ptr, ptr %t1845 %t1857 = call ptr @realloc(ptr %t1856, i64 %t1855) store ptr %t1857, ptr %t1845 store i32 %t1851, ptr %t1844 br label %put414 put414: %t1858 = load ptr, ptr %t1845 %t1859 = getelementptr inbounds ptr, ptr %t1858, i32 %t1846 store ptr @.str7446, ptr %t1859 %t1860 = add i32 %t1846, 1 store i32 %t1860, ptr %t1843 %t1861 = load ptr, ptr %t410 %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 1 %t1863 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 2 %t1864 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 %t1865 = load i32, ptr %t1862 %t1866 = load i32, ptr %t1863 %t1867 = icmp sge i32 %t1865, %t1866 br i1 %t1867, label %grow415, label %put416 grow415: %t1868 = mul i32 %t1866, 2 %t1869 = icmp eq i32 %t1866, 0 %t1870 = select i1 %t1869, i32 8, i32 %t1868 %t1871 = getelementptr ptr, ptr null, i32 1 %t1872 = ptrtoint ptr %t1871 to i64 %t1873 = zext i32 %t1870 to i64 %t1874 = mul i64 %t1873, %t1872 %t1875 = load ptr, ptr %t1864 %t1876 = call ptr @realloc(ptr %t1875, i64 %t1874) store ptr %t1876, ptr %t1864 store i32 %t1870, ptr %t1863 br label %put416 put416: %t1877 = load ptr, ptr %t1864 %t1878 = getelementptr inbounds ptr, ptr %t1877, i32 %t1865 store ptr @.str7447, ptr %t1878 %t1879 = add i32 %t1865, 1 store i32 %t1879, ptr %t1862 br label %ifend412 ifend412: %t1880 = load ptr, ptr %t1 %t1881 = call i32 @lp_str_eq(ptr %t1880, ptr @.str7448) %t1882 = icmp ne i32 %t1881, 0 br i1 %t1882, label %then417, label %ifend419 then417: store ptr @.str7449, ptr %t403 %t1883 = load ptr, ptr %t410 %t1884 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 1 %t1885 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 2 %t1886 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 0 %t1887 = load i32, ptr %t1884 %t1888 = load i32, ptr %t1885 %t1889 = icmp sge i32 %t1887, %t1888 br i1 %t1889, label %grow420, label %put421 grow420: %t1890 = mul i32 %t1888, 2 %t1891 = icmp eq i32 %t1888, 0 %t1892 = select i1 %t1891, i32 8, i32 %t1890 %t1893 = getelementptr ptr, ptr null, i32 1 %t1894 = ptrtoint ptr %t1893 to i64 %t1895 = zext i32 %t1892 to i64 %t1896 = mul i64 %t1895, %t1894 %t1897 = load ptr, ptr %t1886 %t1898 = call ptr @realloc(ptr %t1897, i64 %t1896) store ptr %t1898, ptr %t1886 store i32 %t1892, ptr %t1885 br label %put421 put421: %t1899 = load ptr, ptr %t1886 %t1900 = getelementptr inbounds ptr, ptr %t1899, i32 %t1887 store ptr @.str7450, ptr %t1900 %t1901 = add i32 %t1887, 1 store i32 %t1901, ptr %t1884 %t1902 = load ptr, ptr %t410 %t1903 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 1 %t1904 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 2 %t1905 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 0 %t1906 = load i32, ptr %t1903 %t1907 = load i32, ptr %t1904 %t1908 = icmp sge i32 %t1906, %t1907 br i1 %t1908, label %grow422, label %put423 grow422: %t1909 = mul i32 %t1907, 2 %t1910 = icmp eq i32 %t1907, 0 %t1911 = select i1 %t1910, i32 8, i32 %t1909 %t1912 = getelementptr ptr, ptr null, i32 1 %t1913 = ptrtoint ptr %t1912 to i64 %t1914 = zext i32 %t1911 to i64 %t1915 = mul i64 %t1914, %t1913 %t1916 = load ptr, ptr %t1905 %t1917 = call ptr @realloc(ptr %t1916, i64 %t1915) store ptr %t1917, ptr %t1905 store i32 %t1911, ptr %t1904 br label %put423 put423: %t1918 = load ptr, ptr %t1905 %t1919 = getelementptr inbounds ptr, ptr %t1918, i32 %t1906 store ptr @.str7451, ptr %t1919 %t1920 = add i32 %t1906, 1 store i32 %t1920, ptr %t1903 %t1921 = load ptr, ptr %t410 %t1922 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 1 %t1923 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 2 %t1924 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 0 %t1925 = load i32, ptr %t1922 %t1926 = load i32, ptr %t1923 %t1927 = icmp sge i32 %t1925, %t1926 br i1 %t1927, label %grow424, label %put425 grow424: %t1928 = mul i32 %t1926, 2 %t1929 = icmp eq i32 %t1926, 0 %t1930 = select i1 %t1929, i32 8, i32 %t1928 %t1931 = getelementptr ptr, ptr null, i32 1 %t1932 = ptrtoint ptr %t1931 to i64 %t1933 = zext i32 %t1930 to i64 %t1934 = mul i64 %t1933, %t1932 %t1935 = load ptr, ptr %t1924 %t1936 = call ptr @realloc(ptr %t1935, i64 %t1934) store ptr %t1936, ptr %t1924 store i32 %t1930, ptr %t1923 br label %put425 put425: %t1937 = load ptr, ptr %t1924 %t1938 = getelementptr inbounds ptr, ptr %t1937, i32 %t1925 store ptr @.str7452, ptr %t1938 %t1939 = add i32 %t1925, 1 store i32 %t1939, ptr %t1922 %t1940 = load ptr, ptr %t410 %t1941 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 1 %t1942 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 2 %t1943 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 0 %t1944 = load i32, ptr %t1941 %t1945 = load i32, ptr %t1942 %t1946 = icmp sge i32 %t1944, %t1945 br i1 %t1946, label %grow426, label %put427 grow426: %t1947 = mul i32 %t1945, 2 %t1948 = icmp eq i32 %t1945, 0 %t1949 = select i1 %t1948, i32 8, i32 %t1947 %t1950 = getelementptr ptr, ptr null, i32 1 %t1951 = ptrtoint ptr %t1950 to i64 %t1952 = zext i32 %t1949 to i64 %t1953 = mul i64 %t1952, %t1951 %t1954 = load ptr, ptr %t1943 %t1955 = call ptr @realloc(ptr %t1954, i64 %t1953) store ptr %t1955, ptr %t1943 store i32 %t1949, ptr %t1942 br label %put427 put427: %t1956 = load ptr, ptr %t1943 %t1957 = getelementptr inbounds ptr, ptr %t1956, i32 %t1944 store ptr @.str7453, ptr %t1957 %t1958 = add i32 %t1944, 1 store i32 %t1958, ptr %t1941 br label %ifend419 ifend419: %t1959 = load ptr, ptr %t1 %t1960 = call i32 @lp_str_eq(ptr %t1959, ptr @.str7454) %t1961 = icmp ne i32 %t1960, 0 br i1 %t1961, label %then428, label %ifend430 then428: store ptr @.str7455, ptr %t403 br label %ifend430 ifend430: %t1962 = load ptr, ptr %t1 %t1963 = call i32 @lp_str_eq(ptr %t1962, ptr @.str7456) %t1964 = icmp ne i32 %t1963, 0 br i1 %t1964, label %then431, label %ifend433 then431: store ptr @.str7457, ptr %t403 %t1965 = load ptr, ptr %t410 %t1966 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 1 %t1967 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 2 %t1968 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 0 %t1969 = load i32, ptr %t1966 %t1970 = load i32, ptr %t1967 %t1971 = icmp sge i32 %t1969, %t1970 br i1 %t1971, label %grow434, label %put435 grow434: %t1972 = mul i32 %t1970, 2 %t1973 = icmp eq i32 %t1970, 0 %t1974 = select i1 %t1973, i32 8, i32 %t1972 %t1975 = getelementptr ptr, ptr null, i32 1 %t1976 = ptrtoint ptr %t1975 to i64 %t1977 = zext i32 %t1974 to i64 %t1978 = mul i64 %t1977, %t1976 %t1979 = load ptr, ptr %t1968 %t1980 = call ptr @realloc(ptr %t1979, i64 %t1978) store ptr %t1980, ptr %t1968 store i32 %t1974, ptr %t1967 br label %put435 put435: %t1981 = load ptr, ptr %t1968 %t1982 = getelementptr inbounds ptr, ptr %t1981, i32 %t1969 store ptr @.str7458, ptr %t1982 %t1983 = add i32 %t1969, 1 store i32 %t1983, ptr %t1966 br label %ifend433 ifend433: %t1984 = load ptr, ptr %t1 %t1985 = call i32 @lp_str_eq(ptr %t1984, ptr @.str7459) %t1986 = icmp ne i32 %t1985, 0 br i1 %t1986, label %then436, label %ifend438 then436: store ptr @.str7460, ptr %t403 %t1987 = load ptr, ptr %t410 %t1988 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 1 %t1989 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 2 %t1990 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 0 %t1991 = load i32, ptr %t1988 %t1992 = load i32, ptr %t1989 %t1993 = icmp sge i32 %t1991, %t1992 br i1 %t1993, label %grow439, label %put440 grow439: %t1994 = mul i32 %t1992, 2 %t1995 = icmp eq i32 %t1992, 0 %t1996 = select i1 %t1995, i32 8, i32 %t1994 %t1997 = getelementptr ptr, ptr null, i32 1 %t1998 = ptrtoint ptr %t1997 to i64 %t1999 = zext i32 %t1996 to i64 %t2000 = mul i64 %t1999, %t1998 %t2001 = load ptr, ptr %t1990 %t2002 = call ptr @realloc(ptr %t2001, i64 %t2000) store ptr %t2002, ptr %t1990 store i32 %t1996, ptr %t1989 br label %put440 put440: %t2003 = load ptr, ptr %t1990 %t2004 = getelementptr inbounds ptr, ptr %t2003, i32 %t1991 store ptr @.str7461, ptr %t2004 %t2005 = add i32 %t1991, 1 store i32 %t2005, ptr %t1988 br label %ifend438 ifend438: %t2006 = load ptr, ptr %t1 %t2007 = call i32 @lp_str_eq(ptr %t2006, ptr @.str7462) %t2008 = icmp ne i32 %t2007, 0 br i1 %t2008, label %then441, label %ifend443 then441: store ptr @.str7463, ptr %t403 %t2009 = load ptr, ptr %t410 %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 %t2013 = load i32, ptr %t2010 %t2014 = load i32, ptr %t2011 %t2015 = icmp sge i32 %t2013, %t2014 br i1 %t2015, label %grow444, label %put445 grow444: %t2016 = mul i32 %t2014, 2 %t2017 = icmp eq i32 %t2014, 0 %t2018 = select i1 %t2017, i32 8, i32 %t2016 %t2019 = getelementptr ptr, ptr null, i32 1 %t2020 = ptrtoint ptr %t2019 to i64 %t2021 = zext i32 %t2018 to i64 %t2022 = mul i64 %t2021, %t2020 %t2023 = load ptr, ptr %t2012 %t2024 = call ptr @realloc(ptr %t2023, i64 %t2022) store ptr %t2024, ptr %t2012 store i32 %t2018, ptr %t2011 br label %put445 put445: %t2025 = load ptr, ptr %t2012 %t2026 = getelementptr inbounds ptr, ptr %t2025, i32 %t2013 store ptr @.str7464, ptr %t2026 %t2027 = add i32 %t2013, 1 store i32 %t2027, ptr %t2010 %t2028 = load ptr, ptr %t410 %t2029 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 1 %t2030 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 2 %t2031 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 0 %t2032 = load i32, ptr %t2029 %t2033 = load i32, ptr %t2030 %t2034 = icmp sge i32 %t2032, %t2033 br i1 %t2034, label %grow446, label %put447 grow446: %t2035 = mul i32 %t2033, 2 %t2036 = icmp eq i32 %t2033, 0 %t2037 = select i1 %t2036, i32 8, i32 %t2035 %t2038 = getelementptr ptr, ptr null, i32 1 %t2039 = ptrtoint ptr %t2038 to i64 %t2040 = zext i32 %t2037 to i64 %t2041 = mul i64 %t2040, %t2039 %t2042 = load ptr, ptr %t2031 %t2043 = call ptr @realloc(ptr %t2042, i64 %t2041) store ptr %t2043, ptr %t2031 store i32 %t2037, ptr %t2030 br label %put447 put447: %t2044 = load ptr, ptr %t2031 %t2045 = getelementptr inbounds ptr, ptr %t2044, i32 %t2032 store ptr @.str7465, ptr %t2045 %t2046 = add i32 %t2032, 1 store i32 %t2046, ptr %t2029 br label %ifend443 ifend443: br label %ifend208 ifend208: %t2047 = load ptr, ptr %t0 %t2048 = call i32 @lp_str_eq(ptr %t2047, ptr @.str7466) %t2049 = icmp ne i32 %t2048, 0 br i1 %t2049, label %then448, label %ifend450 then448: %t2050 = load ptr, ptr %t1 %t2051 = call i32 @lp_str_eq(ptr %t2050, ptr @.str7467) %t2052 = icmp ne i32 %t2051, 0 br i1 %t2052, label %then451, label %ifend453 then451: store ptr @.str7468, ptr %t403 %t2053 = load ptr, ptr %t410 %t2054 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 1 %t2055 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 2 %t2056 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 0 %t2057 = load i32, ptr %t2054 %t2058 = load i32, ptr %t2055 %t2059 = icmp sge i32 %t2057, %t2058 br i1 %t2059, label %grow454, label %put455 grow454: %t2060 = mul i32 %t2058, 2 %t2061 = icmp eq i32 %t2058, 0 %t2062 = select i1 %t2061, i32 8, i32 %t2060 %t2063 = getelementptr ptr, ptr null, i32 1 %t2064 = ptrtoint ptr %t2063 to i64 %t2065 = zext i32 %t2062 to i64 %t2066 = mul i64 %t2065, %t2064 %t2067 = load ptr, ptr %t2056 %t2068 = call ptr @realloc(ptr %t2067, i64 %t2066) store ptr %t2068, ptr %t2056 store i32 %t2062, ptr %t2055 br label %put455 put455: %t2069 = load ptr, ptr %t2056 %t2070 = getelementptr inbounds ptr, ptr %t2069, i32 %t2057 store ptr @.str7469, ptr %t2070 %t2071 = add i32 %t2057, 1 store i32 %t2071, ptr %t2054 %t2072 = load ptr, ptr %t410 %t2073 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 1 %t2074 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 2 %t2075 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 0 %t2076 = load i32, ptr %t2073 %t2077 = load i32, ptr %t2074 %t2078 = icmp sge i32 %t2076, %t2077 br i1 %t2078, label %grow456, label %put457 grow456: %t2079 = mul i32 %t2077, 2 %t2080 = icmp eq i32 %t2077, 0 %t2081 = select i1 %t2080, i32 8, i32 %t2079 %t2082 = getelementptr ptr, ptr null, i32 1 %t2083 = ptrtoint ptr %t2082 to i64 %t2084 = zext i32 %t2081 to i64 %t2085 = mul i64 %t2084, %t2083 %t2086 = load ptr, ptr %t2075 %t2087 = call ptr @realloc(ptr %t2086, i64 %t2085) store ptr %t2087, ptr %t2075 store i32 %t2081, ptr %t2074 br label %put457 put457: %t2088 = load ptr, ptr %t2075 %t2089 = getelementptr inbounds ptr, ptr %t2088, i32 %t2076 store ptr @.str7470, ptr %t2089 %t2090 = add i32 %t2076, 1 store i32 %t2090, ptr %t2073 %t2091 = load ptr, ptr %t410 %t2092 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 1 %t2093 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 2 %t2094 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 0 %t2095 = load i32, ptr %t2092 %t2096 = load i32, ptr %t2093 %t2097 = icmp sge i32 %t2095, %t2096 br i1 %t2097, label %grow458, label %put459 grow458: %t2098 = mul i32 %t2096, 2 %t2099 = icmp eq i32 %t2096, 0 %t2100 = select i1 %t2099, i32 8, i32 %t2098 %t2101 = getelementptr ptr, ptr null, i32 1 %t2102 = ptrtoint ptr %t2101 to i64 %t2103 = zext i32 %t2100 to i64 %t2104 = mul i64 %t2103, %t2102 %t2105 = load ptr, ptr %t2094 %t2106 = call ptr @realloc(ptr %t2105, i64 %t2104) store ptr %t2106, ptr %t2094 store i32 %t2100, ptr %t2093 br label %put459 put459: %t2107 = load ptr, ptr %t2094 %t2108 = getelementptr inbounds ptr, ptr %t2107, i32 %t2095 store ptr @.str7471, ptr %t2108 %t2109 = add i32 %t2095, 1 store i32 %t2109, ptr %t2092 br label %ifend453 ifend453: %t2110 = load ptr, ptr %t1 %t2111 = call i32 @lp_str_eq(ptr %t2110, ptr @.str7472) %t2112 = icmp ne i32 %t2111, 0 br i1 %t2112, label %then460, label %ifend462 then460: store ptr @.str7473, ptr %t403 %t2113 = load ptr, ptr %t410 %t2114 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 1 %t2115 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 2 %t2116 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 0 %t2117 = load i32, ptr %t2114 %t2118 = load i32, ptr %t2115 %t2119 = icmp sge i32 %t2117, %t2118 br i1 %t2119, label %grow463, label %put464 grow463: %t2120 = mul i32 %t2118, 2 %t2121 = icmp eq i32 %t2118, 0 %t2122 = select i1 %t2121, i32 8, i32 %t2120 %t2123 = getelementptr ptr, ptr null, i32 1 %t2124 = ptrtoint ptr %t2123 to i64 %t2125 = zext i32 %t2122 to i64 %t2126 = mul i64 %t2125, %t2124 %t2127 = load ptr, ptr %t2116 %t2128 = call ptr @realloc(ptr %t2127, i64 %t2126) store ptr %t2128, ptr %t2116 store i32 %t2122, ptr %t2115 br label %put464 put464: %t2129 = load ptr, ptr %t2116 %t2130 = getelementptr inbounds ptr, ptr %t2129, i32 %t2117 store ptr @.str7474, ptr %t2130 %t2131 = add i32 %t2117, 1 store i32 %t2131, ptr %t2114 %t2132 = load ptr, ptr %t410 %t2133 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 1 %t2134 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 2 %t2135 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 0 %t2136 = load i32, ptr %t2133 %t2137 = load i32, ptr %t2134 %t2138 = icmp sge i32 %t2136, %t2137 br i1 %t2138, label %grow465, label %put466 grow465: %t2139 = mul i32 %t2137, 2 %t2140 = icmp eq i32 %t2137, 0 %t2141 = select i1 %t2140, i32 8, i32 %t2139 %t2142 = getelementptr ptr, ptr null, i32 1 %t2143 = ptrtoint ptr %t2142 to i64 %t2144 = zext i32 %t2141 to i64 %t2145 = mul i64 %t2144, %t2143 %t2146 = load ptr, ptr %t2135 %t2147 = call ptr @realloc(ptr %t2146, i64 %t2145) store ptr %t2147, ptr %t2135 store i32 %t2141, ptr %t2134 br label %put466 put466: %t2148 = load ptr, ptr %t2135 %t2149 = getelementptr inbounds ptr, ptr %t2148, i32 %t2136 store ptr @.str7475, ptr %t2149 %t2150 = add i32 %t2136, 1 store i32 %t2150, ptr %t2133 %t2151 = load ptr, ptr %t410 %t2152 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 1 %t2153 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 2 %t2154 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 0 %t2155 = load i32, ptr %t2152 %t2156 = load i32, ptr %t2153 %t2157 = icmp sge i32 %t2155, %t2156 br i1 %t2157, label %grow467, label %put468 grow467: %t2158 = mul i32 %t2156, 2 %t2159 = icmp eq i32 %t2156, 0 %t2160 = select i1 %t2159, i32 8, i32 %t2158 %t2161 = getelementptr ptr, ptr null, i32 1 %t2162 = ptrtoint ptr %t2161 to i64 %t2163 = zext i32 %t2160 to i64 %t2164 = mul i64 %t2163, %t2162 %t2165 = load ptr, ptr %t2154 %t2166 = call ptr @realloc(ptr %t2165, i64 %t2164) store ptr %t2166, ptr %t2154 store i32 %t2160, ptr %t2153 br label %put468 put468: %t2167 = load ptr, ptr %t2154 %t2168 = getelementptr inbounds ptr, ptr %t2167, i32 %t2155 store ptr @.str7476, ptr %t2168 %t2169 = add i32 %t2155, 1 store i32 %t2169, ptr %t2152 br label %ifend462 ifend462: %t2170 = load ptr, ptr %t1 %t2171 = call i32 @lp_str_eq(ptr %t2170, ptr @.str7477) %t2172 = icmp ne i32 %t2171, 0 br i1 %t2172, label %then469, label %ifend471 then469: store ptr @.str7478, ptr %t403 %t2173 = load ptr, ptr %t410 %t2174 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 1 %t2175 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 2 %t2176 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 0 %t2177 = load i32, ptr %t2174 %t2178 = load i32, ptr %t2175 %t2179 = icmp sge i32 %t2177, %t2178 br i1 %t2179, label %grow472, label %put473 grow472: %t2180 = mul i32 %t2178, 2 %t2181 = icmp eq i32 %t2178, 0 %t2182 = select i1 %t2181, i32 8, i32 %t2180 %t2183 = getelementptr ptr, ptr null, i32 1 %t2184 = ptrtoint ptr %t2183 to i64 %t2185 = zext i32 %t2182 to i64 %t2186 = mul i64 %t2185, %t2184 %t2187 = load ptr, ptr %t2176 %t2188 = call ptr @realloc(ptr %t2187, i64 %t2186) store ptr %t2188, ptr %t2176 store i32 %t2182, ptr %t2175 br label %put473 put473: %t2189 = load ptr, ptr %t2176 %t2190 = getelementptr inbounds ptr, ptr %t2189, i32 %t2177 store ptr @.str7479, ptr %t2190 %t2191 = add i32 %t2177, 1 store i32 %t2191, ptr %t2174 %t2192 = load ptr, ptr %t410 %t2193 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 1 %t2194 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 2 %t2195 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 0 %t2196 = load i32, ptr %t2193 %t2197 = load i32, ptr %t2194 %t2198 = icmp sge i32 %t2196, %t2197 br i1 %t2198, label %grow474, label %put475 grow474: %t2199 = mul i32 %t2197, 2 %t2200 = icmp eq i32 %t2197, 0 %t2201 = select i1 %t2200, i32 8, i32 %t2199 %t2202 = getelementptr ptr, ptr null, i32 1 %t2203 = ptrtoint ptr %t2202 to i64 %t2204 = zext i32 %t2201 to i64 %t2205 = mul i64 %t2204, %t2203 %t2206 = load ptr, ptr %t2195 %t2207 = call ptr @realloc(ptr %t2206, i64 %t2205) store ptr %t2207, ptr %t2195 store i32 %t2201, ptr %t2194 br label %put475 put475: %t2208 = load ptr, ptr %t2195 %t2209 = getelementptr inbounds ptr, ptr %t2208, i32 %t2196 store ptr @.str7480, ptr %t2209 %t2210 = add i32 %t2196, 1 store i32 %t2210, ptr %t2193 %t2211 = load ptr, ptr %t410 %t2212 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 1 %t2213 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 2 %t2214 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 0 %t2215 = load i32, ptr %t2212 %t2216 = load i32, ptr %t2213 %t2217 = icmp sge i32 %t2215, %t2216 br i1 %t2217, label %grow476, label %put477 grow476: %t2218 = mul i32 %t2216, 2 %t2219 = icmp eq i32 %t2216, 0 %t2220 = select i1 %t2219, i32 8, i32 %t2218 %t2221 = getelementptr ptr, ptr null, i32 1 %t2222 = ptrtoint ptr %t2221 to i64 %t2223 = zext i32 %t2220 to i64 %t2224 = mul i64 %t2223, %t2222 %t2225 = load ptr, ptr %t2214 %t2226 = call ptr @realloc(ptr %t2225, i64 %t2224) store ptr %t2226, ptr %t2214 store i32 %t2220, ptr %t2213 br label %put477 put477: %t2227 = load ptr, ptr %t2214 %t2228 = getelementptr inbounds ptr, ptr %t2227, i32 %t2215 store ptr @.str7481, ptr %t2228 %t2229 = add i32 %t2215, 1 store i32 %t2229, ptr %t2212 %t2230 = load ptr, ptr %t410 %t2231 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 1 %t2232 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 2 %t2233 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 0 %t2234 = load i32, ptr %t2231 %t2235 = load i32, ptr %t2232 %t2236 = icmp sge i32 %t2234, %t2235 br i1 %t2236, label %grow478, label %put479 grow478: %t2237 = mul i32 %t2235, 2 %t2238 = icmp eq i32 %t2235, 0 %t2239 = select i1 %t2238, i32 8, i32 %t2237 %t2240 = getelementptr ptr, ptr null, i32 1 %t2241 = ptrtoint ptr %t2240 to i64 %t2242 = zext i32 %t2239 to i64 %t2243 = mul i64 %t2242, %t2241 %t2244 = load ptr, ptr %t2233 %t2245 = call ptr @realloc(ptr %t2244, i64 %t2243) store ptr %t2245, ptr %t2233 store i32 %t2239, ptr %t2232 br label %put479 put479: %t2246 = load ptr, ptr %t2233 %t2247 = getelementptr inbounds ptr, ptr %t2246, i32 %t2234 store ptr @.str7482, ptr %t2247 %t2248 = add i32 %t2234, 1 store i32 %t2248, ptr %t2231 %t2249 = load ptr, ptr %t410 %t2250 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 1 %t2251 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 2 %t2252 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 0 %t2253 = load i32, ptr %t2250 %t2254 = load i32, ptr %t2251 %t2255 = icmp sge i32 %t2253, %t2254 br i1 %t2255, label %grow480, label %put481 grow480: %t2256 = mul i32 %t2254, 2 %t2257 = icmp eq i32 %t2254, 0 %t2258 = select i1 %t2257, i32 8, i32 %t2256 %t2259 = getelementptr ptr, ptr null, i32 1 %t2260 = ptrtoint ptr %t2259 to i64 %t2261 = zext i32 %t2258 to i64 %t2262 = mul i64 %t2261, %t2260 %t2263 = load ptr, ptr %t2252 %t2264 = call ptr @realloc(ptr %t2263, i64 %t2262) store ptr %t2264, ptr %t2252 store i32 %t2258, ptr %t2251 br label %put481 put481: %t2265 = load ptr, ptr %t2252 %t2266 = getelementptr inbounds ptr, ptr %t2265, i32 %t2253 store ptr @.str7483, ptr %t2266 %t2267 = add i32 %t2253, 1 store i32 %t2267, ptr %t2250 br label %ifend471 ifend471: %t2268 = load ptr, ptr %t1 %t2269 = call i32 @lp_str_eq(ptr %t2268, ptr @.str7484) %t2270 = icmp ne i32 %t2269, 0 br i1 %t2270, label %then482, label %ifend484 then482: store ptr @.str7485, ptr %t403 %t2271 = load ptr, ptr %t410 %t2272 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 1 %t2273 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 2 %t2274 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 0 %t2275 = load i32, ptr %t2272 %t2276 = load i32, ptr %t2273 %t2277 = icmp sge i32 %t2275, %t2276 br i1 %t2277, label %grow485, label %put486 grow485: %t2278 = mul i32 %t2276, 2 %t2279 = icmp eq i32 %t2276, 0 %t2280 = select i1 %t2279, i32 8, i32 %t2278 %t2281 = getelementptr ptr, ptr null, i32 1 %t2282 = ptrtoint ptr %t2281 to i64 %t2283 = zext i32 %t2280 to i64 %t2284 = mul i64 %t2283, %t2282 %t2285 = load ptr, ptr %t2274 %t2286 = call ptr @realloc(ptr %t2285, i64 %t2284) store ptr %t2286, ptr %t2274 store i32 %t2280, ptr %t2273 br label %put486 put486: %t2287 = load ptr, ptr %t2274 %t2288 = getelementptr inbounds ptr, ptr %t2287, i32 %t2275 store ptr @.str7486, ptr %t2288 %t2289 = add i32 %t2275, 1 store i32 %t2289, ptr %t2272 %t2290 = load ptr, ptr %t410 %t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1 %t2292 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 2 %t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0 %t2294 = load i32, ptr %t2291 %t2295 = load i32, ptr %t2292 %t2296 = icmp sge i32 %t2294, %t2295 br i1 %t2296, label %grow487, label %put488 grow487: %t2297 = mul i32 %t2295, 2 %t2298 = icmp eq i32 %t2295, 0 %t2299 = select i1 %t2298, i32 8, i32 %t2297 %t2300 = getelementptr ptr, ptr null, i32 1 %t2301 = ptrtoint ptr %t2300 to i64 %t2302 = zext i32 %t2299 to i64 %t2303 = mul i64 %t2302, %t2301 %t2304 = load ptr, ptr %t2293 %t2305 = call ptr @realloc(ptr %t2304, i64 %t2303) store ptr %t2305, ptr %t2293 store i32 %t2299, ptr %t2292 br label %put488 put488: %t2306 = load ptr, ptr %t2293 %t2307 = getelementptr inbounds ptr, ptr %t2306, i32 %t2294 store ptr @.str7487, ptr %t2307 %t2308 = add i32 %t2294, 1 store i32 %t2308, ptr %t2291 %t2309 = load ptr, ptr %t410 %t2310 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 1 %t2311 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 2 %t2312 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 0 %t2313 = load i32, ptr %t2310 %t2314 = load i32, ptr %t2311 %t2315 = icmp sge i32 %t2313, %t2314 br i1 %t2315, label %grow489, label %put490 grow489: %t2316 = mul i32 %t2314, 2 %t2317 = icmp eq i32 %t2314, 0 %t2318 = select i1 %t2317, i32 8, i32 %t2316 %t2319 = getelementptr ptr, ptr null, i32 1 %t2320 = ptrtoint ptr %t2319 to i64 %t2321 = zext i32 %t2318 to i64 %t2322 = mul i64 %t2321, %t2320 %t2323 = load ptr, ptr %t2312 %t2324 = call ptr @realloc(ptr %t2323, i64 %t2322) store ptr %t2324, ptr %t2312 store i32 %t2318, ptr %t2311 br label %put490 put490: %t2325 = load ptr, ptr %t2312 %t2326 = getelementptr inbounds ptr, ptr %t2325, i32 %t2313 store ptr @.str7488, ptr %t2326 %t2327 = add i32 %t2313, 1 store i32 %t2327, ptr %t2310 %t2328 = load ptr, ptr %t410 %t2329 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 1 %t2330 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 2 %t2331 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 0 %t2332 = load i32, ptr %t2329 %t2333 = load i32, ptr %t2330 %t2334 = icmp sge i32 %t2332, %t2333 br i1 %t2334, label %grow491, label %put492 grow491: %t2335 = mul i32 %t2333, 2 %t2336 = icmp eq i32 %t2333, 0 %t2337 = select i1 %t2336, i32 8, i32 %t2335 %t2338 = getelementptr ptr, ptr null, i32 1 %t2339 = ptrtoint ptr %t2338 to i64 %t2340 = zext i32 %t2337 to i64 %t2341 = mul i64 %t2340, %t2339 %t2342 = load ptr, ptr %t2331 %t2343 = call ptr @realloc(ptr %t2342, i64 %t2341) store ptr %t2343, ptr %t2331 store i32 %t2337, ptr %t2330 br label %put492 put492: %t2344 = load ptr, ptr %t2331 %t2345 = getelementptr inbounds ptr, ptr %t2344, i32 %t2332 store ptr @.str7489, ptr %t2345 %t2346 = add i32 %t2332, 1 store i32 %t2346, ptr %t2329 %t2347 = load ptr, ptr %t410 %t2348 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 1 %t2349 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 2 %t2350 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 0 %t2351 = load i32, ptr %t2348 %t2352 = load i32, ptr %t2349 %t2353 = icmp sge i32 %t2351, %t2352 br i1 %t2353, label %grow493, label %put494 grow493: %t2354 = mul i32 %t2352, 2 %t2355 = icmp eq i32 %t2352, 0 %t2356 = select i1 %t2355, i32 8, i32 %t2354 %t2357 = getelementptr ptr, ptr null, i32 1 %t2358 = ptrtoint ptr %t2357 to i64 %t2359 = zext i32 %t2356 to i64 %t2360 = mul i64 %t2359, %t2358 %t2361 = load ptr, ptr %t2350 %t2362 = call ptr @realloc(ptr %t2361, i64 %t2360) store ptr %t2362, ptr %t2350 store i32 %t2356, ptr %t2349 br label %put494 put494: %t2363 = load ptr, ptr %t2350 %t2364 = getelementptr inbounds ptr, ptr %t2363, i32 %t2351 store ptr @.str7490, ptr %t2364 %t2365 = add i32 %t2351, 1 store i32 %t2365, ptr %t2348 br label %ifend484 ifend484: %t2366 = load ptr, ptr %t1 %t2367 = call i32 @lp_str_eq(ptr %t2366, ptr @.str7491) %t2368 = icmp ne i32 %t2367, 0 br i1 %t2368, label %then495, label %ifend497 then495: store ptr @.str7492, ptr %t403 %t2369 = load ptr, ptr %t410 %t2370 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 1 %t2371 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 2 %t2372 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 0 %t2373 = load i32, ptr %t2370 %t2374 = load i32, ptr %t2371 %t2375 = icmp sge i32 %t2373, %t2374 br i1 %t2375, label %grow498, label %put499 grow498: %t2376 = mul i32 %t2374, 2 %t2377 = icmp eq i32 %t2374, 0 %t2378 = select i1 %t2377, i32 8, i32 %t2376 %t2379 = getelementptr ptr, ptr null, i32 1 %t2380 = ptrtoint ptr %t2379 to i64 %t2381 = zext i32 %t2378 to i64 %t2382 = mul i64 %t2381, %t2380 %t2383 = load ptr, ptr %t2372 %t2384 = call ptr @realloc(ptr %t2383, i64 %t2382) store ptr %t2384, ptr %t2372 store i32 %t2378, ptr %t2371 br label %put499 put499: %t2385 = load ptr, ptr %t2372 %t2386 = getelementptr inbounds ptr, ptr %t2385, i32 %t2373 store ptr @.str7493, ptr %t2386 %t2387 = add i32 %t2373, 1 store i32 %t2387, ptr %t2370 %t2388 = load ptr, ptr %t410 %t2389 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 1 %t2390 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 2 %t2391 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 0 %t2392 = load i32, ptr %t2389 %t2393 = load i32, ptr %t2390 %t2394 = icmp sge i32 %t2392, %t2393 br i1 %t2394, label %grow500, label %put501 grow500: %t2395 = mul i32 %t2393, 2 %t2396 = icmp eq i32 %t2393, 0 %t2397 = select i1 %t2396, i32 8, i32 %t2395 %t2398 = getelementptr ptr, ptr null, i32 1 %t2399 = ptrtoint ptr %t2398 to i64 %t2400 = zext i32 %t2397 to i64 %t2401 = mul i64 %t2400, %t2399 %t2402 = load ptr, ptr %t2391 %t2403 = call ptr @realloc(ptr %t2402, i64 %t2401) store ptr %t2403, ptr %t2391 store i32 %t2397, ptr %t2390 br label %put501 put501: %t2404 = load ptr, ptr %t2391 %t2405 = getelementptr inbounds ptr, ptr %t2404, i32 %t2392 store ptr @.str7494, ptr %t2405 %t2406 = add i32 %t2392, 1 store i32 %t2406, ptr %t2389 %t2407 = load ptr, ptr %t410 %t2408 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 1 %t2409 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 2 %t2410 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 0 %t2411 = load i32, ptr %t2408 %t2412 = load i32, ptr %t2409 %t2413 = icmp sge i32 %t2411, %t2412 br i1 %t2413, label %grow502, label %put503 grow502: %t2414 = mul i32 %t2412, 2 %t2415 = icmp eq i32 %t2412, 0 %t2416 = select i1 %t2415, i32 8, i32 %t2414 %t2417 = getelementptr ptr, ptr null, i32 1 %t2418 = ptrtoint ptr %t2417 to i64 %t2419 = zext i32 %t2416 to i64 %t2420 = mul i64 %t2419, %t2418 %t2421 = load ptr, ptr %t2410 %t2422 = call ptr @realloc(ptr %t2421, i64 %t2420) store ptr %t2422, ptr %t2410 store i32 %t2416, ptr %t2409 br label %put503 put503: %t2423 = load ptr, ptr %t2410 %t2424 = getelementptr inbounds ptr, ptr %t2423, i32 %t2411 store ptr @.str7495, ptr %t2424 %t2425 = add i32 %t2411, 1 store i32 %t2425, ptr %t2408 %t2426 = load ptr, ptr %t410 %t2427 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 1 %t2428 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 2 %t2429 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 0 %t2430 = load i32, ptr %t2427 %t2431 = load i32, ptr %t2428 %t2432 = icmp sge i32 %t2430, %t2431 br i1 %t2432, label %grow504, label %put505 grow504: %t2433 = mul i32 %t2431, 2 %t2434 = icmp eq i32 %t2431, 0 %t2435 = select i1 %t2434, i32 8, i32 %t2433 %t2436 = getelementptr ptr, ptr null, i32 1 %t2437 = ptrtoint ptr %t2436 to i64 %t2438 = zext i32 %t2435 to i64 %t2439 = mul i64 %t2438, %t2437 %t2440 = load ptr, ptr %t2429 %t2441 = call ptr @realloc(ptr %t2440, i64 %t2439) store ptr %t2441, ptr %t2429 store i32 %t2435, ptr %t2428 br label %put505 put505: %t2442 = load ptr, ptr %t2429 %t2443 = getelementptr inbounds ptr, ptr %t2442, i32 %t2430 store ptr @.str7496, ptr %t2443 %t2444 = add i32 %t2430, 1 store i32 %t2444, ptr %t2427 br label %ifend497 ifend497: %t2445 = load ptr, ptr %t1 %t2446 = call i32 @lp_str_eq(ptr %t2445, ptr @.str7497) %t2447 = icmp ne i32 %t2446, 0 br i1 %t2447, label %then506, label %ifend508 then506: store ptr @.str7498, ptr %t403 %t2448 = load ptr, ptr %t410 %t2449 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 1 %t2450 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 2 %t2451 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 0 %t2452 = load i32, ptr %t2449 %t2453 = load i32, ptr %t2450 %t2454 = icmp sge i32 %t2452, %t2453 br i1 %t2454, label %grow509, label %put510 grow509: %t2455 = mul i32 %t2453, 2 %t2456 = icmp eq i32 %t2453, 0 %t2457 = select i1 %t2456, i32 8, i32 %t2455 %t2458 = getelementptr ptr, ptr null, i32 1 %t2459 = ptrtoint ptr %t2458 to i64 %t2460 = zext i32 %t2457 to i64 %t2461 = mul i64 %t2460, %t2459 %t2462 = load ptr, ptr %t2451 %t2463 = call ptr @realloc(ptr %t2462, i64 %t2461) store ptr %t2463, ptr %t2451 store i32 %t2457, ptr %t2450 br label %put510 put510: %t2464 = load ptr, ptr %t2451 %t2465 = getelementptr inbounds ptr, ptr %t2464, i32 %t2452 store ptr @.str7499, ptr %t2465 %t2466 = add i32 %t2452, 1 store i32 %t2466, ptr %t2449 br label %ifend508 ifend508: %t2467 = load ptr, ptr %t1 %t2468 = call i32 @lp_str_eq(ptr %t2467, ptr @.str7500) %t2469 = icmp ne i32 %t2468, 0 br i1 %t2469, label %then511, label %ifend513 then511: store ptr @.str7501, ptr %t403 %t2470 = load ptr, ptr %t410 %t2471 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 1 %t2472 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 2 %t2473 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 0 %t2474 = load i32, ptr %t2471 %t2475 = load i32, ptr %t2472 %t2476 = icmp sge i32 %t2474, %t2475 br i1 %t2476, label %grow514, label %put515 grow514: %t2477 = mul i32 %t2475, 2 %t2478 = icmp eq i32 %t2475, 0 %t2479 = select i1 %t2478, i32 8, i32 %t2477 %t2480 = getelementptr ptr, ptr null, i32 1 %t2481 = ptrtoint ptr %t2480 to i64 %t2482 = zext i32 %t2479 to i64 %t2483 = mul i64 %t2482, %t2481 %t2484 = load ptr, ptr %t2473 %t2485 = call ptr @realloc(ptr %t2484, i64 %t2483) store ptr %t2485, ptr %t2473 store i32 %t2479, ptr %t2472 br label %put515 put515: %t2486 = load ptr, ptr %t2473 %t2487 = getelementptr inbounds ptr, ptr %t2486, i32 %t2474 store ptr @.str7502, ptr %t2487 %t2488 = add i32 %t2474, 1 store i32 %t2488, ptr %t2471 %t2489 = load ptr, ptr %t410 %t2490 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 1 %t2491 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 2 %t2492 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 0 %t2493 = load i32, ptr %t2490 %t2494 = load i32, ptr %t2491 %t2495 = icmp sge i32 %t2493, %t2494 br i1 %t2495, label %grow516, label %put517 grow516: %t2496 = mul i32 %t2494, 2 %t2497 = icmp eq i32 %t2494, 0 %t2498 = select i1 %t2497, i32 8, i32 %t2496 %t2499 = getelementptr ptr, ptr null, i32 1 %t2500 = ptrtoint ptr %t2499 to i64 %t2501 = zext i32 %t2498 to i64 %t2502 = mul i64 %t2501, %t2500 %t2503 = load ptr, ptr %t2492 %t2504 = call ptr @realloc(ptr %t2503, i64 %t2502) store ptr %t2504, ptr %t2492 store i32 %t2498, ptr %t2491 br label %put517 put517: %t2505 = load ptr, ptr %t2492 %t2506 = getelementptr inbounds ptr, ptr %t2505, i32 %t2493 store ptr @.str7503, ptr %t2506 %t2507 = add i32 %t2493, 1 store i32 %t2507, ptr %t2490 %t2508 = load ptr, ptr %t410 %t2509 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 1 %t2510 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 2 %t2511 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 0 %t2512 = load i32, ptr %t2509 %t2513 = load i32, ptr %t2510 %t2514 = icmp sge i32 %t2512, %t2513 br i1 %t2514, label %grow518, label %put519 grow518: %t2515 = mul i32 %t2513, 2 %t2516 = icmp eq i32 %t2513, 0 %t2517 = select i1 %t2516, i32 8, i32 %t2515 %t2518 = getelementptr ptr, ptr null, i32 1 %t2519 = ptrtoint ptr %t2518 to i64 %t2520 = zext i32 %t2517 to i64 %t2521 = mul i64 %t2520, %t2519 %t2522 = load ptr, ptr %t2511 %t2523 = call ptr @realloc(ptr %t2522, i64 %t2521) store ptr %t2523, ptr %t2511 store i32 %t2517, ptr %t2510 br label %put519 put519: %t2524 = load ptr, ptr %t2511 %t2525 = getelementptr inbounds ptr, ptr %t2524, i32 %t2512 store ptr @.str7504, ptr %t2525 %t2526 = add i32 %t2512, 1 store i32 %t2526, ptr %t2509 br label %ifend513 ifend513: %t2527 = load ptr, ptr %t1 %t2528 = call i32 @lp_str_eq(ptr %t2527, ptr @.str7505) %t2529 = icmp ne i32 %t2528, 0 br i1 %t2529, label %then520, label %ifend522 then520: store ptr @.str7506, ptr %t403 %t2530 = load ptr, ptr %t410 %t2531 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 1 %t2532 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 2 %t2533 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 0 %t2534 = load i32, ptr %t2531 %t2535 = load i32, ptr %t2532 %t2536 = icmp sge i32 %t2534, %t2535 br i1 %t2536, label %grow523, label %put524 grow523: %t2537 = mul i32 %t2535, 2 %t2538 = icmp eq i32 %t2535, 0 %t2539 = select i1 %t2538, i32 8, i32 %t2537 %t2540 = getelementptr ptr, ptr null, i32 1 %t2541 = ptrtoint ptr %t2540 to i64 %t2542 = zext i32 %t2539 to i64 %t2543 = mul i64 %t2542, %t2541 %t2544 = load ptr, ptr %t2533 %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) store ptr %t2545, ptr %t2533 store i32 %t2539, ptr %t2532 br label %put524 put524: %t2546 = load ptr, ptr %t2533 %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 store ptr @.str7507, ptr %t2547 %t2548 = add i32 %t2534, 1 store i32 %t2548, ptr %t2531 %t2549 = load ptr, ptr %t410 %t2550 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 %t2551 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 %t2552 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 %t2553 = load i32, ptr %t2550 %t2554 = load i32, ptr %t2551 %t2555 = icmp sge i32 %t2553, %t2554 br i1 %t2555, label %grow525, label %put526 grow525: %t2556 = mul i32 %t2554, 2 %t2557 = icmp eq i32 %t2554, 0 %t2558 = select i1 %t2557, i32 8, i32 %t2556 %t2559 = getelementptr ptr, ptr null, i32 1 %t2560 = ptrtoint ptr %t2559 to i64 %t2561 = zext i32 %t2558 to i64 %t2562 = mul i64 %t2561, %t2560 %t2563 = load ptr, ptr %t2552 %t2564 = call ptr @realloc(ptr %t2563, i64 %t2562) store ptr %t2564, ptr %t2552 store i32 %t2558, ptr %t2551 br label %put526 put526: %t2565 = load ptr, ptr %t2552 %t2566 = getelementptr inbounds ptr, ptr %t2565, i32 %t2553 store ptr @.str7508, ptr %t2566 %t2567 = add i32 %t2553, 1 store i32 %t2567, ptr %t2550 %t2568 = load ptr, ptr %t410 %t2569 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 1 %t2570 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 2 %t2571 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 0 %t2572 = load i32, ptr %t2569 %t2573 = load i32, ptr %t2570 %t2574 = icmp sge i32 %t2572, %t2573 br i1 %t2574, label %grow527, label %put528 grow527: %t2575 = mul i32 %t2573, 2 %t2576 = icmp eq i32 %t2573, 0 %t2577 = select i1 %t2576, i32 8, i32 %t2575 %t2578 = getelementptr ptr, ptr null, i32 1 %t2579 = ptrtoint ptr %t2578 to i64 %t2580 = zext i32 %t2577 to i64 %t2581 = mul i64 %t2580, %t2579 %t2582 = load ptr, ptr %t2571 %t2583 = call ptr @realloc(ptr %t2582, i64 %t2581) store ptr %t2583, ptr %t2571 store i32 %t2577, ptr %t2570 br label %put528 put528: %t2584 = load ptr, ptr %t2571 %t2585 = getelementptr inbounds ptr, ptr %t2584, i32 %t2572 store ptr @.str7509, ptr %t2585 %t2586 = add i32 %t2572, 1 store i32 %t2586, ptr %t2569 %t2587 = load ptr, ptr %t410 %t2588 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 1 %t2589 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 2 %t2590 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 0 %t2591 = load i32, ptr %t2588 %t2592 = load i32, ptr %t2589 %t2593 = icmp sge i32 %t2591, %t2592 br i1 %t2593, label %grow529, label %put530 grow529: %t2594 = mul i32 %t2592, 2 %t2595 = icmp eq i32 %t2592, 0 %t2596 = select i1 %t2595, i32 8, i32 %t2594 %t2597 = getelementptr ptr, ptr null, i32 1 %t2598 = ptrtoint ptr %t2597 to i64 %t2599 = zext i32 %t2596 to i64 %t2600 = mul i64 %t2599, %t2598 %t2601 = load ptr, ptr %t2590 %t2602 = call ptr @realloc(ptr %t2601, i64 %t2600) store ptr %t2602, ptr %t2590 store i32 %t2596, ptr %t2589 br label %put530 put530: %t2603 = load ptr, ptr %t2590 %t2604 = getelementptr inbounds ptr, ptr %t2603, i32 %t2591 store ptr @.str7510, ptr %t2604 %t2605 = add i32 %t2591, 1 store i32 %t2605, ptr %t2588 br label %ifend522 ifend522: %t2606 = load ptr, ptr %t1 %t2607 = call i32 @lp_str_eq(ptr %t2606, ptr @.str7511) %t2608 = icmp ne i32 %t2607, 0 br i1 %t2608, label %then531, label %ifend533 then531: store ptr @.str7512, ptr %t403 %t2609 = load ptr, ptr %t410 %t2610 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 1 %t2611 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 2 %t2612 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 0 %t2613 = load i32, ptr %t2610 %t2614 = load i32, ptr %t2611 %t2615 = icmp sge i32 %t2613, %t2614 br i1 %t2615, label %grow534, label %put535 grow534: %t2616 = mul i32 %t2614, 2 %t2617 = icmp eq i32 %t2614, 0 %t2618 = select i1 %t2617, i32 8, i32 %t2616 %t2619 = getelementptr ptr, ptr null, i32 1 %t2620 = ptrtoint ptr %t2619 to i64 %t2621 = zext i32 %t2618 to i64 %t2622 = mul i64 %t2621, %t2620 %t2623 = load ptr, ptr %t2612 %t2624 = call ptr @realloc(ptr %t2623, i64 %t2622) store ptr %t2624, ptr %t2612 store i32 %t2618, ptr %t2611 br label %put535 put535: %t2625 = load ptr, ptr %t2612 %t2626 = getelementptr inbounds ptr, ptr %t2625, i32 %t2613 store ptr @.str7513, ptr %t2626 %t2627 = add i32 %t2613, 1 store i32 %t2627, ptr %t2610 %t2628 = load ptr, ptr %t410 %t2629 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 1 %t2630 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 2 %t2631 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 0 %t2632 = load i32, ptr %t2629 %t2633 = load i32, ptr %t2630 %t2634 = icmp sge i32 %t2632, %t2633 br i1 %t2634, label %grow536, label %put537 grow536: %t2635 = mul i32 %t2633, 2 %t2636 = icmp eq i32 %t2633, 0 %t2637 = select i1 %t2636, i32 8, i32 %t2635 %t2638 = getelementptr ptr, ptr null, i32 1 %t2639 = ptrtoint ptr %t2638 to i64 %t2640 = zext i32 %t2637 to i64 %t2641 = mul i64 %t2640, %t2639 %t2642 = load ptr, ptr %t2631 %t2643 = call ptr @realloc(ptr %t2642, i64 %t2641) store ptr %t2643, ptr %t2631 store i32 %t2637, ptr %t2630 br label %put537 put537: %t2644 = load ptr, ptr %t2631 %t2645 = getelementptr inbounds ptr, ptr %t2644, i32 %t2632 store ptr @.str7514, ptr %t2645 %t2646 = add i32 %t2632, 1 store i32 %t2646, ptr %t2629 %t2647 = load ptr, ptr %t410 %t2648 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 1 %t2649 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 2 %t2650 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 0 %t2651 = load i32, ptr %t2648 %t2652 = load i32, ptr %t2649 %t2653 = icmp sge i32 %t2651, %t2652 br i1 %t2653, label %grow538, label %put539 grow538: %t2654 = mul i32 %t2652, 2 %t2655 = icmp eq i32 %t2652, 0 %t2656 = select i1 %t2655, i32 8, i32 %t2654 %t2657 = getelementptr ptr, ptr null, i32 1 %t2658 = ptrtoint ptr %t2657 to i64 %t2659 = zext i32 %t2656 to i64 %t2660 = mul i64 %t2659, %t2658 %t2661 = load ptr, ptr %t2650 %t2662 = call ptr @realloc(ptr %t2661, i64 %t2660) store ptr %t2662, ptr %t2650 store i32 %t2656, ptr %t2649 br label %put539 put539: %t2663 = load ptr, ptr %t2650 %t2664 = getelementptr inbounds ptr, ptr %t2663, i32 %t2651 store ptr @.str7515, ptr %t2664 %t2665 = add i32 %t2651, 1 store i32 %t2665, ptr %t2648 %t2666 = load ptr, ptr %t410 %t2667 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 1 %t2668 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 2 %t2669 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 0 %t2670 = load i32, ptr %t2667 %t2671 = load i32, ptr %t2668 %t2672 = icmp sge i32 %t2670, %t2671 br i1 %t2672, label %grow540, label %put541 grow540: %t2673 = mul i32 %t2671, 2 %t2674 = icmp eq i32 %t2671, 0 %t2675 = select i1 %t2674, i32 8, i32 %t2673 %t2676 = getelementptr ptr, ptr null, i32 1 %t2677 = ptrtoint ptr %t2676 to i64 %t2678 = zext i32 %t2675 to i64 %t2679 = mul i64 %t2678, %t2677 %t2680 = load ptr, ptr %t2669 %t2681 = call ptr @realloc(ptr %t2680, i64 %t2679) store ptr %t2681, ptr %t2669 store i32 %t2675, ptr %t2668 br label %put541 put541: %t2682 = load ptr, ptr %t2669 %t2683 = getelementptr inbounds ptr, ptr %t2682, i32 %t2670 store ptr @.str7516, ptr %t2683 %t2684 = add i32 %t2670, 1 store i32 %t2684, ptr %t2667 %t2685 = load ptr, ptr %t410 %t2686 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 1 %t2687 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 2 %t2688 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 0 %t2689 = load i32, ptr %t2686 %t2690 = load i32, ptr %t2687 %t2691 = icmp sge i32 %t2689, %t2690 br i1 %t2691, label %grow542, label %put543 grow542: %t2692 = mul i32 %t2690, 2 %t2693 = icmp eq i32 %t2690, 0 %t2694 = select i1 %t2693, i32 8, i32 %t2692 %t2695 = getelementptr ptr, ptr null, i32 1 %t2696 = ptrtoint ptr %t2695 to i64 %t2697 = zext i32 %t2694 to i64 %t2698 = mul i64 %t2697, %t2696 %t2699 = load ptr, ptr %t2688 %t2700 = call ptr @realloc(ptr %t2699, i64 %t2698) store ptr %t2700, ptr %t2688 store i32 %t2694, ptr %t2687 br label %put543 put543: %t2701 = load ptr, ptr %t2688 %t2702 = getelementptr inbounds ptr, ptr %t2701, i32 %t2689 store ptr @.str7517, ptr %t2702 %t2703 = add i32 %t2689, 1 store i32 %t2703, ptr %t2686 %t2704 = load ptr, ptr %t410 %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 %t2708 = load i32, ptr %t2705 %t2709 = load i32, ptr %t2706 %t2710 = icmp sge i32 %t2708, %t2709 br i1 %t2710, label %grow544, label %put545 grow544: %t2711 = mul i32 %t2709, 2 %t2712 = icmp eq i32 %t2709, 0 %t2713 = select i1 %t2712, i32 8, i32 %t2711 %t2714 = getelementptr ptr, ptr null, i32 1 %t2715 = ptrtoint ptr %t2714 to i64 %t2716 = zext i32 %t2713 to i64 %t2717 = mul i64 %t2716, %t2715 %t2718 = load ptr, ptr %t2707 %t2719 = call ptr @realloc(ptr %t2718, i64 %t2717) store ptr %t2719, ptr %t2707 store i32 %t2713, ptr %t2706 br label %put545 put545: %t2720 = load ptr, ptr %t2707 %t2721 = getelementptr inbounds ptr, ptr %t2720, i32 %t2708 store ptr @.str7518, ptr %t2721 %t2722 = add i32 %t2708, 1 store i32 %t2722, ptr %t2705 %t2723 = load ptr, ptr %t410 %t2724 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 1 %t2725 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 2 %t2726 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 0 %t2727 = load i32, ptr %t2724 %t2728 = load i32, ptr %t2725 %t2729 = icmp sge i32 %t2727, %t2728 br i1 %t2729, label %grow546, label %put547 grow546: %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 %put547 put547: %t2739 = load ptr, ptr %t2726 %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 store ptr @.str7519, ptr %t2740 %t2741 = add i32 %t2727, 1 store i32 %t2741, ptr %t2724 %t2742 = load ptr, ptr %t410 %t2743 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 1 %t2744 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 2 %t2745 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 0 %t2746 = load i32, ptr %t2743 %t2747 = load i32, ptr %t2744 %t2748 = icmp sge i32 %t2746, %t2747 br i1 %t2748, label %grow548, label %put549 grow548: %t2749 = mul i32 %t2747, 2 %t2750 = icmp eq i32 %t2747, 0 %t2751 = select i1 %t2750, i32 8, i32 %t2749 %t2752 = getelementptr ptr, ptr null, i32 1 %t2753 = ptrtoint ptr %t2752 to i64 %t2754 = zext i32 %t2751 to i64 %t2755 = mul i64 %t2754, %t2753 %t2756 = load ptr, ptr %t2745 %t2757 = call ptr @realloc(ptr %t2756, i64 %t2755) store ptr %t2757, ptr %t2745 store i32 %t2751, ptr %t2744 br label %put549 put549: %t2758 = load ptr, ptr %t2745 %t2759 = getelementptr inbounds ptr, ptr %t2758, i32 %t2746 store ptr @.str7520, ptr %t2759 %t2760 = add i32 %t2746, 1 store i32 %t2760, ptr %t2743 %t2761 = load ptr, ptr %t410 %t2762 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 1 %t2763 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 2 %t2764 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 0 %t2765 = load i32, ptr %t2762 %t2766 = load i32, ptr %t2763 %t2767 = icmp sge i32 %t2765, %t2766 br i1 %t2767, label %grow550, label %put551 grow550: %t2768 = mul i32 %t2766, 2 %t2769 = icmp eq i32 %t2766, 0 %t2770 = select i1 %t2769, i32 8, i32 %t2768 %t2771 = getelementptr ptr, ptr null, i32 1 %t2772 = ptrtoint ptr %t2771 to i64 %t2773 = zext i32 %t2770 to i64 %t2774 = mul i64 %t2773, %t2772 %t2775 = load ptr, ptr %t2764 %t2776 = call ptr @realloc(ptr %t2775, i64 %t2774) store ptr %t2776, ptr %t2764 store i32 %t2770, ptr %t2763 br label %put551 put551: %t2777 = load ptr, ptr %t2764 %t2778 = getelementptr inbounds ptr, ptr %t2777, i32 %t2765 store ptr @.str7521, ptr %t2778 %t2779 = add i32 %t2765, 1 store i32 %t2779, ptr %t2762 br label %ifend533 ifend533: %t2780 = load ptr, ptr %t1 %t2781 = call i32 @lp_str_eq(ptr %t2780, ptr @.str7522) %t2782 = icmp ne i32 %t2781, 0 br i1 %t2782, label %then552, label %ifend554 then552: store ptr @.str7523, ptr %t403 %t2783 = load ptr, ptr %t410 %t2784 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 1 %t2785 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 2 %t2786 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 0 %t2787 = load i32, ptr %t2784 %t2788 = load i32, ptr %t2785 %t2789 = icmp sge i32 %t2787, %t2788 br i1 %t2789, label %grow555, label %put556 grow555: %t2790 = mul i32 %t2788, 2 %t2791 = icmp eq i32 %t2788, 0 %t2792 = select i1 %t2791, i32 8, i32 %t2790 %t2793 = getelementptr ptr, ptr null, i32 1 %t2794 = ptrtoint ptr %t2793 to i64 %t2795 = zext i32 %t2792 to i64 %t2796 = mul i64 %t2795, %t2794 %t2797 = load ptr, ptr %t2786 %t2798 = call ptr @realloc(ptr %t2797, i64 %t2796) store ptr %t2798, ptr %t2786 store i32 %t2792, ptr %t2785 br label %put556 put556: %t2799 = load ptr, ptr %t2786 %t2800 = getelementptr inbounds ptr, ptr %t2799, i32 %t2787 store ptr @.str7524, ptr %t2800 %t2801 = add i32 %t2787, 1 store i32 %t2801, ptr %t2784 br label %ifend554 ifend554: %t2802 = load ptr, ptr %t1 %t2803 = call i32 @lp_str_eq(ptr %t2802, ptr @.str7525) %t2804 = icmp ne i32 %t2803, 0 br i1 %t2804, label %then557, label %ifend559 then557: store ptr @.str7526, ptr %t403 %t2805 = load ptr, ptr %t410 %t2806 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 1 %t2807 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 2 %t2808 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 0 %t2809 = load i32, ptr %t2806 %t2810 = load i32, ptr %t2807 %t2811 = icmp sge i32 %t2809, %t2810 br i1 %t2811, label %grow560, label %put561 grow560: %t2812 = mul i32 %t2810, 2 %t2813 = icmp eq i32 %t2810, 0 %t2814 = select i1 %t2813, i32 8, i32 %t2812 %t2815 = getelementptr ptr, ptr null, i32 1 %t2816 = ptrtoint ptr %t2815 to i64 %t2817 = zext i32 %t2814 to i64 %t2818 = mul i64 %t2817, %t2816 %t2819 = load ptr, ptr %t2808 %t2820 = call ptr @realloc(ptr %t2819, i64 %t2818) store ptr %t2820, ptr %t2808 store i32 %t2814, ptr %t2807 br label %put561 put561: %t2821 = load ptr, ptr %t2808 %t2822 = getelementptr inbounds ptr, ptr %t2821, i32 %t2809 store ptr @.str7527, ptr %t2822 %t2823 = add i32 %t2809, 1 store i32 %t2823, ptr %t2806 br label %ifend559 ifend559: br label %ifend450 ifend450: %t2824 = load ptr, ptr %t0 %t2825 = call i32 @lp_str_eq(ptr %t2824, ptr @.str7528) %t2826 = icmp ne i32 %t2825, 0 br i1 %t2826, label %then562, label %ifend564 then562: %t2827 = load ptr, ptr %t1 %t2828 = call i32 @lp_str_eq(ptr %t2827, ptr @.str7529) %t2829 = icmp ne i32 %t2828, 0 br i1 %t2829, label %then565, label %ifend567 then565: store ptr @.str7530, ptr %t403 %t2830 = load ptr, ptr %t410 %t2831 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 1 %t2832 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 2 %t2833 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 0 %t2834 = load i32, ptr %t2831 %t2835 = load i32, ptr %t2832 %t2836 = icmp sge i32 %t2834, %t2835 br i1 %t2836, label %grow568, label %put569 grow568: %t2837 = mul i32 %t2835, 2 %t2838 = icmp eq i32 %t2835, 0 %t2839 = select i1 %t2838, i32 8, i32 %t2837 %t2840 = getelementptr ptr, ptr null, i32 1 %t2841 = ptrtoint ptr %t2840 to i64 %t2842 = zext i32 %t2839 to i64 %t2843 = mul i64 %t2842, %t2841 %t2844 = load ptr, ptr %t2833 %t2845 = call ptr @realloc(ptr %t2844, i64 %t2843) store ptr %t2845, ptr %t2833 store i32 %t2839, ptr %t2832 br label %put569 put569: %t2846 = load ptr, ptr %t2833 %t2847 = getelementptr inbounds ptr, ptr %t2846, i32 %t2834 store ptr @.str7531, ptr %t2847 %t2848 = add i32 %t2834, 1 store i32 %t2848, ptr %t2831 br label %ifend567 ifend567: br label %ifend564 ifend564: %t2849 = load ptr, ptr %t0 %t2850 = call i32 @lp_str_eq(ptr %t2849, ptr @.str7532) %t2851 = icmp ne i32 %t2850, 0 br i1 %t2851, label %then570, label %ifend572 then570: %t2852 = load ptr, ptr %t1 %t2853 = call i32 @lp_str_eq(ptr %t2852, ptr @.str7533) %t2854 = icmp ne i32 %t2853, 0 br i1 %t2854, label %then573, label %ifend575 then573: store ptr @.str7534, ptr %t403 br label %ifend575 ifend575: %t2855 = load ptr, ptr %t1 %t2856 = call i32 @lp_str_eq(ptr %t2855, ptr @.str7535) %t2857 = icmp ne i32 %t2856, 0 br i1 %t2857, label %then576, label %ifend578 then576: store ptr @.str7536, ptr %t403 %t2858 = load ptr, ptr %t410 %t2859 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 1 %t2860 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 2 %t2861 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 0 %t2862 = load i32, ptr %t2859 %t2863 = load i32, ptr %t2860 %t2864 = icmp sge i32 %t2862, %t2863 br i1 %t2864, label %grow579, label %put580 grow579: %t2865 = mul i32 %t2863, 2 %t2866 = icmp eq i32 %t2863, 0 %t2867 = select i1 %t2866, i32 8, i32 %t2865 %t2868 = getelementptr ptr, ptr null, i32 1 %t2869 = ptrtoint ptr %t2868 to i64 %t2870 = zext i32 %t2867 to i64 %t2871 = mul i64 %t2870, %t2869 %t2872 = load ptr, ptr %t2861 %t2873 = call ptr @realloc(ptr %t2872, i64 %t2871) store ptr %t2873, ptr %t2861 store i32 %t2867, ptr %t2860 br label %put580 put580: %t2874 = load ptr, ptr %t2861 %t2875 = getelementptr inbounds ptr, ptr %t2874, i32 %t2862 store ptr @.str7537, ptr %t2875 %t2876 = add i32 %t2862, 1 store i32 %t2876, ptr %t2859 br label %ifend578 ifend578: %t2877 = load ptr, ptr %t1 %t2878 = call i32 @lp_str_eq(ptr %t2877, ptr @.str7538) %t2879 = icmp ne i32 %t2878, 0 br i1 %t2879, label %then581, label %ifend583 then581: store ptr @.str7539, ptr %t403 br label %ifend583 ifend583: %t2880 = load ptr, ptr %t1 %t2881 = call i32 @lp_str_eq(ptr %t2880, ptr @.str7540) %t2882 = icmp ne i32 %t2881, 0 br i1 %t2882, label %then584, label %ifend586 then584: store ptr @.str7541, ptr %t403 %t2883 = load ptr, ptr %t410 %t2884 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 1 %t2885 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 2 %t2886 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 0 %t2887 = load i32, ptr %t2884 %t2888 = load i32, ptr %t2885 %t2889 = icmp sge i32 %t2887, %t2888 br i1 %t2889, label %grow587, label %put588 grow587: %t2890 = mul i32 %t2888, 2 %t2891 = icmp eq i32 %t2888, 0 %t2892 = select i1 %t2891, i32 8, i32 %t2890 %t2893 = getelementptr ptr, ptr null, i32 1 %t2894 = ptrtoint ptr %t2893 to i64 %t2895 = zext i32 %t2892 to i64 %t2896 = mul i64 %t2895, %t2894 %t2897 = load ptr, ptr %t2886 %t2898 = call ptr @realloc(ptr %t2897, i64 %t2896) store ptr %t2898, ptr %t2886 store i32 %t2892, ptr %t2885 br label %put588 put588: %t2899 = load ptr, ptr %t2886 %t2900 = getelementptr inbounds ptr, ptr %t2899, i32 %t2887 store ptr @.str7542, ptr %t2900 %t2901 = add i32 %t2887, 1 store i32 %t2901, ptr %t2884 br label %ifend586 ifend586: %t2902 = load ptr, ptr %t1 %t2903 = call i32 @lp_str_eq(ptr %t2902, ptr @.str7543) %t2904 = icmp ne i32 %t2903, 0 br i1 %t2904, label %then589, label %ifend591 then589: store ptr @.str7544, ptr %t403 %t2905 = load ptr, ptr %t410 %t2906 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 1 %t2907 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 2 %t2908 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 0 %t2909 = load i32, ptr %t2906 %t2910 = load i32, ptr %t2907 %t2911 = icmp sge i32 %t2909, %t2910 br i1 %t2911, label %grow592, label %put593 grow592: %t2912 = mul i32 %t2910, 2 %t2913 = icmp eq i32 %t2910, 0 %t2914 = select i1 %t2913, i32 8, i32 %t2912 %t2915 = getelementptr ptr, ptr null, i32 1 %t2916 = ptrtoint ptr %t2915 to i64 %t2917 = zext i32 %t2914 to i64 %t2918 = mul i64 %t2917, %t2916 %t2919 = load ptr, ptr %t2908 %t2920 = call ptr @realloc(ptr %t2919, i64 %t2918) store ptr %t2920, ptr %t2908 store i32 %t2914, ptr %t2907 br label %put593 put593: %t2921 = load ptr, ptr %t2908 %t2922 = getelementptr inbounds ptr, ptr %t2921, i32 %t2909 store ptr @.str7545, ptr %t2922 %t2923 = add i32 %t2909, 1 store i32 %t2923, ptr %t2906 br label %ifend591 ifend591: %t2924 = load ptr, ptr %t1 %t2925 = call i32 @lp_str_eq(ptr %t2924, ptr @.str7546) %t2926 = icmp ne i32 %t2925, 0 br i1 %t2926, label %then594, label %ifend596 then594: store ptr @.str7547, ptr %t403 %t2927 = load ptr, ptr %t410 %t2928 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 1 %t2929 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 2 %t2930 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 0 %t2931 = load i32, ptr %t2928 %t2932 = load i32, ptr %t2929 %t2933 = icmp sge i32 %t2931, %t2932 br i1 %t2933, label %grow597, label %put598 grow597: %t2934 = mul i32 %t2932, 2 %t2935 = icmp eq i32 %t2932, 0 %t2936 = select i1 %t2935, i32 8, i32 %t2934 %t2937 = getelementptr ptr, ptr null, i32 1 %t2938 = ptrtoint ptr %t2937 to i64 %t2939 = zext i32 %t2936 to i64 %t2940 = mul i64 %t2939, %t2938 %t2941 = load ptr, ptr %t2930 %t2942 = call ptr @realloc(ptr %t2941, i64 %t2940) store ptr %t2942, ptr %t2930 store i32 %t2936, ptr %t2929 br label %put598 put598: %t2943 = load ptr, ptr %t2930 %t2944 = getelementptr inbounds ptr, ptr %t2943, i32 %t2931 store ptr @.str7548, ptr %t2944 %t2945 = add i32 %t2931, 1 store i32 %t2945, ptr %t2928 %t2946 = load ptr, ptr %t410 %t2947 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 1 %t2948 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 2 %t2949 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 0 %t2950 = load i32, ptr %t2947 %t2951 = load i32, ptr %t2948 %t2952 = icmp sge i32 %t2950, %t2951 br i1 %t2952, label %grow599, label %put600 grow599: %t2953 = mul i32 %t2951, 2 %t2954 = icmp eq i32 %t2951, 0 %t2955 = select i1 %t2954, i32 8, i32 %t2953 %t2956 = getelementptr ptr, ptr null, i32 1 %t2957 = ptrtoint ptr %t2956 to i64 %t2958 = zext i32 %t2955 to i64 %t2959 = mul i64 %t2958, %t2957 %t2960 = load ptr, ptr %t2949 %t2961 = call ptr @realloc(ptr %t2960, i64 %t2959) store ptr %t2961, ptr %t2949 store i32 %t2955, ptr %t2948 br label %put600 put600: %t2962 = load ptr, ptr %t2949 %t2963 = getelementptr inbounds ptr, ptr %t2962, i32 %t2950 store ptr @.str7549, ptr %t2963 %t2964 = add i32 %t2950, 1 store i32 %t2964, ptr %t2947 br label %ifend596 ifend596: %t2965 = load ptr, ptr %t1 %t2966 = call i32 @lp_str_eq(ptr %t2965, ptr @.str7550) %t2967 = icmp ne i32 %t2966, 0 br i1 %t2967, label %then601, label %ifend603 then601: store ptr @.str7551, ptr %t403 br label %ifend603 ifend603: br label %ifend572 ifend572: %t2968 = load ptr, ptr %t0 %t2969 = call i32 @lp_str_eq(ptr %t2968, ptr @.str7552) %t2970 = icmp ne i32 %t2969, 0 br i1 %t2970, label %then604, label %ifend606 then604: %t2971 = load ptr, ptr %t1 %t2972 = call i32 @lp_str_eq(ptr %t2971, ptr @.str7553) %t2973 = icmp ne i32 %t2972, 0 br i1 %t2973, label %then607, label %ifend609 then607: store ptr @.str7554, ptr %t403 %t2974 = load ptr, ptr %t410 %t2975 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 1 %t2976 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 2 %t2977 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 0 %t2978 = load i32, ptr %t2975 %t2979 = load i32, ptr %t2976 %t2980 = icmp sge i32 %t2978, %t2979 br i1 %t2980, label %grow610, label %put611 grow610: %t2981 = mul i32 %t2979, 2 %t2982 = icmp eq i32 %t2979, 0 %t2983 = select i1 %t2982, i32 8, i32 %t2981 %t2984 = getelementptr ptr, ptr null, i32 1 %t2985 = ptrtoint ptr %t2984 to i64 %t2986 = zext i32 %t2983 to i64 %t2987 = mul i64 %t2986, %t2985 %t2988 = load ptr, ptr %t2977 %t2989 = call ptr @realloc(ptr %t2988, i64 %t2987) store ptr %t2989, ptr %t2977 store i32 %t2983, ptr %t2976 br label %put611 put611: %t2990 = load ptr, ptr %t2977 %t2991 = getelementptr inbounds ptr, ptr %t2990, i32 %t2978 store ptr @.str7555, ptr %t2991 %t2992 = add i32 %t2978, 1 store i32 %t2992, ptr %t2975 %t2993 = load ptr, ptr %t410 %t2994 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 1 %t2995 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 2 %t2996 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 0 %t2997 = load i32, ptr %t2994 %t2998 = load i32, ptr %t2995 %t2999 = icmp sge i32 %t2997, %t2998 br i1 %t2999, label %grow612, label %put613 grow612: %t3000 = mul i32 %t2998, 2 %t3001 = icmp eq i32 %t2998, 0 %t3002 = select i1 %t3001, i32 8, i32 %t3000 %t3003 = getelementptr ptr, ptr null, i32 1 %t3004 = ptrtoint ptr %t3003 to i64 %t3005 = zext i32 %t3002 to i64 %t3006 = mul i64 %t3005, %t3004 %t3007 = load ptr, ptr %t2996 %t3008 = call ptr @realloc(ptr %t3007, i64 %t3006) store ptr %t3008, ptr %t2996 store i32 %t3002, ptr %t2995 br label %put613 put613: %t3009 = load ptr, ptr %t2996 %t3010 = getelementptr inbounds ptr, ptr %t3009, i32 %t2997 store ptr @.str7556, ptr %t3010 %t3011 = add i32 %t2997, 1 store i32 %t3011, ptr %t2994 br label %ifend609 ifend609: %t3012 = load ptr, ptr %t1 %t3013 = call i32 @lp_str_eq(ptr %t3012, ptr @.str7557) %t3014 = icmp ne i32 %t3013, 0 br i1 %t3014, label %then614, label %ifend616 then614: store ptr @.str7558, ptr %t403 %t3015 = load ptr, ptr %t410 %t3016 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 1 %t3017 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 2 %t3018 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 0 %t3019 = load i32, ptr %t3016 %t3020 = load i32, ptr %t3017 %t3021 = icmp sge i32 %t3019, %t3020 br i1 %t3021, label %grow617, label %put618 grow617: %t3022 = mul i32 %t3020, 2 %t3023 = icmp eq i32 %t3020, 0 %t3024 = select i1 %t3023, i32 8, i32 %t3022 %t3025 = getelementptr ptr, ptr null, i32 1 %t3026 = ptrtoint ptr %t3025 to i64 %t3027 = zext i32 %t3024 to i64 %t3028 = mul i64 %t3027, %t3026 %t3029 = load ptr, ptr %t3018 %t3030 = call ptr @realloc(ptr %t3029, i64 %t3028) store ptr %t3030, ptr %t3018 store i32 %t3024, ptr %t3017 br label %put618 put618: %t3031 = load ptr, ptr %t3018 %t3032 = getelementptr inbounds ptr, ptr %t3031, i32 %t3019 store ptr @.str7559, ptr %t3032 %t3033 = add i32 %t3019, 1 store i32 %t3033, ptr %t3016 %t3034 = load ptr, ptr %t410 %t3035 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 1 %t3036 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 2 %t3037 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 0 %t3038 = load i32, ptr %t3035 %t3039 = load i32, ptr %t3036 %t3040 = icmp sge i32 %t3038, %t3039 br i1 %t3040, label %grow619, label %put620 grow619: %t3041 = mul i32 %t3039, 2 %t3042 = icmp eq i32 %t3039, 0 %t3043 = select i1 %t3042, i32 8, i32 %t3041 %t3044 = getelementptr ptr, ptr null, i32 1 %t3045 = ptrtoint ptr %t3044 to i64 %t3046 = zext i32 %t3043 to i64 %t3047 = mul i64 %t3046, %t3045 %t3048 = load ptr, ptr %t3037 %t3049 = call ptr @realloc(ptr %t3048, i64 %t3047) store ptr %t3049, ptr %t3037 store i32 %t3043, ptr %t3036 br label %put620 put620: %t3050 = load ptr, ptr %t3037 %t3051 = getelementptr inbounds ptr, ptr %t3050, i32 %t3038 store ptr @.str7560, ptr %t3051 %t3052 = add i32 %t3038, 1 store i32 %t3052, ptr %t3035 %t3053 = load ptr, ptr %t410 %t3054 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 1 %t3055 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 2 %t3056 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 0 %t3057 = load i32, ptr %t3054 %t3058 = load i32, ptr %t3055 %t3059 = icmp sge i32 %t3057, %t3058 br i1 %t3059, label %grow621, label %put622 grow621: %t3060 = mul i32 %t3058, 2 %t3061 = icmp eq i32 %t3058, 0 %t3062 = select i1 %t3061, i32 8, i32 %t3060 %t3063 = getelementptr ptr, ptr null, i32 1 %t3064 = ptrtoint ptr %t3063 to i64 %t3065 = zext i32 %t3062 to i64 %t3066 = mul i64 %t3065, %t3064 %t3067 = load ptr, ptr %t3056 %t3068 = call ptr @realloc(ptr %t3067, i64 %t3066) store ptr %t3068, ptr %t3056 store i32 %t3062, ptr %t3055 br label %put622 put622: %t3069 = load ptr, ptr %t3056 %t3070 = getelementptr inbounds ptr, ptr %t3069, i32 %t3057 store ptr @.str7561, ptr %t3070 %t3071 = add i32 %t3057, 1 store i32 %t3071, ptr %t3054 br label %ifend616 ifend616: %t3072 = load ptr, ptr %t1 %t3073 = call i32 @lp_str_eq(ptr %t3072, ptr @.str7562) %t3074 = icmp ne i32 %t3073, 0 br i1 %t3074, label %then623, label %ifend625 then623: store ptr @.str7563, ptr %t403 %t3075 = load ptr, ptr %t410 %t3076 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 1 %t3077 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 2 %t3078 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 0 %t3079 = load i32, ptr %t3076 %t3080 = load i32, ptr %t3077 %t3081 = icmp sge i32 %t3079, %t3080 br i1 %t3081, label %grow626, label %put627 grow626: %t3082 = mul i32 %t3080, 2 %t3083 = icmp eq i32 %t3080, 0 %t3084 = select i1 %t3083, i32 8, i32 %t3082 %t3085 = getelementptr ptr, ptr null, i32 1 %t3086 = ptrtoint ptr %t3085 to i64 %t3087 = zext i32 %t3084 to i64 %t3088 = mul i64 %t3087, %t3086 %t3089 = load ptr, ptr %t3078 %t3090 = call ptr @realloc(ptr %t3089, i64 %t3088) store ptr %t3090, ptr %t3078 store i32 %t3084, ptr %t3077 br label %put627 put627: %t3091 = load ptr, ptr %t3078 %t3092 = getelementptr inbounds ptr, ptr %t3091, i32 %t3079 store ptr @.str7564, ptr %t3092 %t3093 = add i32 %t3079, 1 store i32 %t3093, ptr %t3076 %t3094 = load ptr, ptr %t410 %t3095 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 1 %t3096 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 2 %t3097 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 0 %t3098 = load i32, ptr %t3095 %t3099 = load i32, ptr %t3096 %t3100 = icmp sge i32 %t3098, %t3099 br i1 %t3100, label %grow628, label %put629 grow628: %t3101 = mul i32 %t3099, 2 %t3102 = icmp eq i32 %t3099, 0 %t3103 = select i1 %t3102, i32 8, i32 %t3101 %t3104 = getelementptr ptr, ptr null, i32 1 %t3105 = ptrtoint ptr %t3104 to i64 %t3106 = zext i32 %t3103 to i64 %t3107 = mul i64 %t3106, %t3105 %t3108 = load ptr, ptr %t3097 %t3109 = call ptr @realloc(ptr %t3108, i64 %t3107) store ptr %t3109, ptr %t3097 store i32 %t3103, ptr %t3096 br label %put629 put629: %t3110 = load ptr, ptr %t3097 %t3111 = getelementptr inbounds ptr, ptr %t3110, i32 %t3098 store ptr @.str7565, ptr %t3111 %t3112 = add i32 %t3098, 1 store i32 %t3112, ptr %t3095 %t3113 = load ptr, ptr %t410 %t3114 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 1 %t3115 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 2 %t3116 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 0 %t3117 = load i32, ptr %t3114 %t3118 = load i32, ptr %t3115 %t3119 = icmp sge i32 %t3117, %t3118 br i1 %t3119, label %grow630, label %put631 grow630: %t3120 = mul i32 %t3118, 2 %t3121 = icmp eq i32 %t3118, 0 %t3122 = select i1 %t3121, i32 8, i32 %t3120 %t3123 = getelementptr ptr, ptr null, i32 1 %t3124 = ptrtoint ptr %t3123 to i64 %t3125 = zext i32 %t3122 to i64 %t3126 = mul i64 %t3125, %t3124 %t3127 = load ptr, ptr %t3116 %t3128 = call ptr @realloc(ptr %t3127, i64 %t3126) store ptr %t3128, ptr %t3116 store i32 %t3122, ptr %t3115 br label %put631 put631: %t3129 = load ptr, ptr %t3116 %t3130 = getelementptr inbounds ptr, ptr %t3129, i32 %t3117 store ptr @.str7566, ptr %t3130 %t3131 = add i32 %t3117, 1 store i32 %t3131, ptr %t3114 br label %ifend625 ifend625: %t3132 = load ptr, ptr %t1 %t3133 = call i32 @lp_str_eq(ptr %t3132, ptr @.str7567) %t3134 = icmp ne i32 %t3133, 0 br i1 %t3134, label %then632, label %ifend634 then632: store ptr @.str7568, ptr %t403 %t3135 = load ptr, ptr %t410 %t3136 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 1 %t3137 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 2 %t3138 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 0 %t3139 = load i32, ptr %t3136 %t3140 = load i32, ptr %t3137 %t3141 = icmp sge i32 %t3139, %t3140 br i1 %t3141, label %grow635, label %put636 grow635: %t3142 = mul i32 %t3140, 2 %t3143 = icmp eq i32 %t3140, 0 %t3144 = select i1 %t3143, i32 8, i32 %t3142 %t3145 = getelementptr ptr, ptr null, i32 1 %t3146 = ptrtoint ptr %t3145 to i64 %t3147 = zext i32 %t3144 to i64 %t3148 = mul i64 %t3147, %t3146 %t3149 = load ptr, ptr %t3138 %t3150 = call ptr @realloc(ptr %t3149, i64 %t3148) store ptr %t3150, ptr %t3138 store i32 %t3144, ptr %t3137 br label %put636 put636: %t3151 = load ptr, ptr %t3138 %t3152 = getelementptr inbounds ptr, ptr %t3151, i32 %t3139 store ptr @.str7569, ptr %t3152 %t3153 = add i32 %t3139, 1 store i32 %t3153, ptr %t3136 %t3154 = load ptr, ptr %t410 %t3155 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 1 %t3156 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 2 %t3157 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 0 %t3158 = load i32, ptr %t3155 %t3159 = load i32, ptr %t3156 %t3160 = icmp sge i32 %t3158, %t3159 br i1 %t3160, label %grow637, label %put638 grow637: %t3161 = mul i32 %t3159, 2 %t3162 = icmp eq i32 %t3159, 0 %t3163 = select i1 %t3162, i32 8, i32 %t3161 %t3164 = getelementptr ptr, ptr null, i32 1 %t3165 = ptrtoint ptr %t3164 to i64 %t3166 = zext i32 %t3163 to i64 %t3167 = mul i64 %t3166, %t3165 %t3168 = load ptr, ptr %t3157 %t3169 = call ptr @realloc(ptr %t3168, i64 %t3167) store ptr %t3169, ptr %t3157 store i32 %t3163, ptr %t3156 br label %put638 put638: %t3170 = load ptr, ptr %t3157 %t3171 = getelementptr inbounds ptr, ptr %t3170, i32 %t3158 store ptr @.str7570, ptr %t3171 %t3172 = add i32 %t3158, 1 store i32 %t3172, ptr %t3155 %t3173 = load ptr, ptr %t410 %t3174 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 1 %t3175 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 2 %t3176 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 0 %t3177 = load i32, ptr %t3174 %t3178 = load i32, ptr %t3175 %t3179 = icmp sge i32 %t3177, %t3178 br i1 %t3179, label %grow639, label %put640 grow639: %t3180 = mul i32 %t3178, 2 %t3181 = icmp eq i32 %t3178, 0 %t3182 = select i1 %t3181, i32 8, i32 %t3180 %t3183 = getelementptr ptr, ptr null, i32 1 %t3184 = ptrtoint ptr %t3183 to i64 %t3185 = zext i32 %t3182 to i64 %t3186 = mul i64 %t3185, %t3184 %t3187 = load ptr, ptr %t3176 %t3188 = call ptr @realloc(ptr %t3187, i64 %t3186) store ptr %t3188, ptr %t3176 store i32 %t3182, ptr %t3175 br label %put640 put640: %t3189 = load ptr, ptr %t3176 %t3190 = getelementptr inbounds ptr, ptr %t3189, i32 %t3177 store ptr @.str7571, ptr %t3190 %t3191 = add i32 %t3177, 1 store i32 %t3191, ptr %t3174 br label %ifend634 ifend634: %t3192 = load ptr, ptr %t1 %t3193 = call i32 @lp_str_eq(ptr %t3192, ptr @.str7572) %t3194 = icmp ne i32 %t3193, 0 br i1 %t3194, label %then641, label %ifend643 then641: store ptr @.str7573, ptr %t403 %t3195 = load ptr, ptr %t410 %t3196 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 1 %t3197 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 2 %t3198 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 0 %t3199 = load i32, ptr %t3196 %t3200 = load i32, ptr %t3197 %t3201 = icmp sge i32 %t3199, %t3200 br i1 %t3201, label %grow644, label %put645 grow644: %t3202 = mul i32 %t3200, 2 %t3203 = icmp eq i32 %t3200, 0 %t3204 = select i1 %t3203, i32 8, i32 %t3202 %t3205 = getelementptr ptr, ptr null, i32 1 %t3206 = ptrtoint ptr %t3205 to i64 %t3207 = zext i32 %t3204 to i64 %t3208 = mul i64 %t3207, %t3206 %t3209 = load ptr, ptr %t3198 %t3210 = call ptr @realloc(ptr %t3209, i64 %t3208) store ptr %t3210, ptr %t3198 store i32 %t3204, ptr %t3197 br label %put645 put645: %t3211 = load ptr, ptr %t3198 %t3212 = getelementptr inbounds ptr, ptr %t3211, i32 %t3199 store ptr @.str7574, ptr %t3212 %t3213 = add i32 %t3199, 1 store i32 %t3213, ptr %t3196 br label %ifend643 ifend643: %t3214 = load ptr, ptr %t1 %t3215 = call i32 @lp_str_eq(ptr %t3214, ptr @.str7575) %t3216 = icmp ne i32 %t3215, 0 br i1 %t3216, label %then646, label %ifend648 then646: store ptr @.str7576, ptr %t403 %t3217 = load ptr, ptr %t410 %t3218 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 1 %t3219 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 2 %t3220 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 0 %t3221 = load i32, ptr %t3218 %t3222 = load i32, ptr %t3219 %t3223 = icmp sge i32 %t3221, %t3222 br i1 %t3223, label %grow649, label %put650 grow649: %t3224 = mul i32 %t3222, 2 %t3225 = icmp eq i32 %t3222, 0 %t3226 = select i1 %t3225, i32 8, i32 %t3224 %t3227 = getelementptr ptr, ptr null, i32 1 %t3228 = ptrtoint ptr %t3227 to i64 %t3229 = zext i32 %t3226 to i64 %t3230 = mul i64 %t3229, %t3228 %t3231 = load ptr, ptr %t3220 %t3232 = call ptr @realloc(ptr %t3231, i64 %t3230) store ptr %t3232, ptr %t3220 store i32 %t3226, ptr %t3219 br label %put650 put650: %t3233 = load ptr, ptr %t3220 %t3234 = getelementptr inbounds ptr, ptr %t3233, i32 %t3221 store ptr @.str7577, ptr %t3234 %t3235 = add i32 %t3221, 1 store i32 %t3235, ptr %t3218 br label %ifend648 ifend648: br label %ifend606 ifend606: %t3236 = load ptr, ptr %t0 %t3237 = call i32 @lp_str_eq(ptr %t3236, ptr @.str7578) %t3238 = icmp ne i32 %t3237, 0 br i1 %t3238, label %then651, label %ifend653 then651: %t3239 = load ptr, ptr %t1 %t3240 = call i32 @lp_str_eq(ptr %t3239, ptr @.str7579) %t3241 = icmp ne i32 %t3240, 0 br i1 %t3241, label %then654, label %ifend656 then654: store ptr @.str7580, ptr %t403 %t3242 = load ptr, ptr %t410 %t3243 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 1 %t3244 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 2 %t3245 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 0 %t3246 = load i32, ptr %t3243 %t3247 = load i32, ptr %t3244 %t3248 = icmp sge i32 %t3246, %t3247 br i1 %t3248, label %grow657, label %put658 grow657: %t3249 = mul i32 %t3247, 2 %t3250 = icmp eq i32 %t3247, 0 %t3251 = select i1 %t3250, i32 8, i32 %t3249 %t3252 = getelementptr ptr, ptr null, i32 1 %t3253 = ptrtoint ptr %t3252 to i64 %t3254 = zext i32 %t3251 to i64 %t3255 = mul i64 %t3254, %t3253 %t3256 = load ptr, ptr %t3245 %t3257 = call ptr @realloc(ptr %t3256, i64 %t3255) store ptr %t3257, ptr %t3245 store i32 %t3251, ptr %t3244 br label %put658 put658: %t3258 = load ptr, ptr %t3245 %t3259 = getelementptr inbounds ptr, ptr %t3258, i32 %t3246 store ptr @.str7581, ptr %t3259 %t3260 = add i32 %t3246, 1 store i32 %t3260, ptr %t3243 %t3261 = load ptr, ptr %t410 %t3262 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 1 %t3263 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 2 %t3264 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 0 %t3265 = load i32, ptr %t3262 %t3266 = load i32, ptr %t3263 %t3267 = icmp sge i32 %t3265, %t3266 br i1 %t3267, label %grow659, label %put660 grow659: %t3268 = mul i32 %t3266, 2 %t3269 = icmp eq i32 %t3266, 0 %t3270 = select i1 %t3269, i32 8, i32 %t3268 %t3271 = getelementptr ptr, ptr null, i32 1 %t3272 = ptrtoint ptr %t3271 to i64 %t3273 = zext i32 %t3270 to i64 %t3274 = mul i64 %t3273, %t3272 %t3275 = load ptr, ptr %t3264 %t3276 = call ptr @realloc(ptr %t3275, i64 %t3274) store ptr %t3276, ptr %t3264 store i32 %t3270, ptr %t3263 br label %put660 put660: %t3277 = load ptr, ptr %t3264 %t3278 = getelementptr inbounds ptr, ptr %t3277, i32 %t3265 store ptr @.str7582, ptr %t3278 %t3279 = add i32 %t3265, 1 store i32 %t3279, ptr %t3262 %t3280 = load ptr, ptr %t410 %t3281 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 1 %t3282 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 2 %t3283 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 0 %t3284 = load i32, ptr %t3281 %t3285 = load i32, ptr %t3282 %t3286 = icmp sge i32 %t3284, %t3285 br i1 %t3286, label %grow661, label %put662 grow661: %t3287 = mul i32 %t3285, 2 %t3288 = icmp eq i32 %t3285, 0 %t3289 = select i1 %t3288, i32 8, i32 %t3287 %t3290 = getelementptr ptr, ptr null, i32 1 %t3291 = ptrtoint ptr %t3290 to i64 %t3292 = zext i32 %t3289 to i64 %t3293 = mul i64 %t3292, %t3291 %t3294 = load ptr, ptr %t3283 %t3295 = call ptr @realloc(ptr %t3294, i64 %t3293) store ptr %t3295, ptr %t3283 store i32 %t3289, ptr %t3282 br label %put662 put662: %t3296 = load ptr, ptr %t3283 %t3297 = getelementptr inbounds ptr, ptr %t3296, i32 %t3284 store ptr @.str7583, ptr %t3297 %t3298 = add i32 %t3284, 1 store i32 %t3298, ptr %t3281 %t3299 = load ptr, ptr %t410 %t3300 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 1 %t3301 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 2 %t3302 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 0 %t3303 = load i32, ptr %t3300 %t3304 = load i32, ptr %t3301 %t3305 = icmp sge i32 %t3303, %t3304 br i1 %t3305, label %grow663, label %put664 grow663: %t3306 = mul i32 %t3304, 2 %t3307 = icmp eq i32 %t3304, 0 %t3308 = select i1 %t3307, i32 8, i32 %t3306 %t3309 = getelementptr ptr, ptr null, i32 1 %t3310 = ptrtoint ptr %t3309 to i64 %t3311 = zext i32 %t3308 to i64 %t3312 = mul i64 %t3311, %t3310 %t3313 = load ptr, ptr %t3302 %t3314 = call ptr @realloc(ptr %t3313, i64 %t3312) store ptr %t3314, ptr %t3302 store i32 %t3308, ptr %t3301 br label %put664 put664: %t3315 = load ptr, ptr %t3302 %t3316 = getelementptr inbounds ptr, ptr %t3315, i32 %t3303 store ptr @.str7584, ptr %t3316 %t3317 = add i32 %t3303, 1 store i32 %t3317, ptr %t3300 br label %ifend656 ifend656: %t3318 = load ptr, ptr %t1 %t3319 = call i32 @lp_str_eq(ptr %t3318, ptr @.str7585) %t3320 = icmp ne i32 %t3319, 0 br i1 %t3320, label %then665, label %ifend667 then665: store ptr @.str7586, ptr %t403 %t3321 = load ptr, ptr %t410 %t3322 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 1 %t3323 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 2 %t3324 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 0 %t3325 = load i32, ptr %t3322 %t3326 = load i32, ptr %t3323 %t3327 = icmp sge i32 %t3325, %t3326 br i1 %t3327, label %grow668, label %put669 grow668: %t3328 = mul i32 %t3326, 2 %t3329 = icmp eq i32 %t3326, 0 %t3330 = select i1 %t3329, i32 8, i32 %t3328 %t3331 = getelementptr ptr, ptr null, i32 1 %t3332 = ptrtoint ptr %t3331 to i64 %t3333 = zext i32 %t3330 to i64 %t3334 = mul i64 %t3333, %t3332 %t3335 = load ptr, ptr %t3324 %t3336 = call ptr @realloc(ptr %t3335, i64 %t3334) store ptr %t3336, ptr %t3324 store i32 %t3330, ptr %t3323 br label %put669 put669: %t3337 = load ptr, ptr %t3324 %t3338 = getelementptr inbounds ptr, ptr %t3337, i32 %t3325 store ptr @.str7587, ptr %t3338 %t3339 = add i32 %t3325, 1 store i32 %t3339, ptr %t3322 %t3340 = load ptr, ptr %t410 %t3341 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 1 %t3342 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 2 %t3343 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 0 %t3344 = load i32, ptr %t3341 %t3345 = load i32, ptr %t3342 %t3346 = icmp sge i32 %t3344, %t3345 br i1 %t3346, label %grow670, label %put671 grow670: %t3347 = mul i32 %t3345, 2 %t3348 = icmp eq i32 %t3345, 0 %t3349 = select i1 %t3348, i32 8, i32 %t3347 %t3350 = getelementptr ptr, ptr null, i32 1 %t3351 = ptrtoint ptr %t3350 to i64 %t3352 = zext i32 %t3349 to i64 %t3353 = mul i64 %t3352, %t3351 %t3354 = load ptr, ptr %t3343 %t3355 = call ptr @realloc(ptr %t3354, i64 %t3353) store ptr %t3355, ptr %t3343 store i32 %t3349, ptr %t3342 br label %put671 put671: %t3356 = load ptr, ptr %t3343 %t3357 = getelementptr inbounds ptr, ptr %t3356, i32 %t3344 store ptr @.str7588, ptr %t3357 %t3358 = add i32 %t3344, 1 store i32 %t3358, ptr %t3341 %t3359 = load ptr, ptr %t410 %t3360 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 1 %t3361 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 2 %t3362 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 0 %t3363 = load i32, ptr %t3360 %t3364 = load i32, ptr %t3361 %t3365 = icmp sge i32 %t3363, %t3364 br i1 %t3365, label %grow672, label %put673 grow672: %t3366 = mul i32 %t3364, 2 %t3367 = icmp eq i32 %t3364, 0 %t3368 = select i1 %t3367, i32 8, i32 %t3366 %t3369 = getelementptr ptr, ptr null, i32 1 %t3370 = ptrtoint ptr %t3369 to i64 %t3371 = zext i32 %t3368 to i64 %t3372 = mul i64 %t3371, %t3370 %t3373 = load ptr, ptr %t3362 %t3374 = call ptr @realloc(ptr %t3373, i64 %t3372) store ptr %t3374, ptr %t3362 store i32 %t3368, ptr %t3361 br label %put673 put673: %t3375 = load ptr, ptr %t3362 %t3376 = getelementptr inbounds ptr, ptr %t3375, i32 %t3363 store ptr @.str7589, ptr %t3376 %t3377 = add i32 %t3363, 1 store i32 %t3377, ptr %t3360 %t3378 = load ptr, ptr %t410 %t3379 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 1 %t3380 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 2 %t3381 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 0 %t3382 = load i32, ptr %t3379 %t3383 = load i32, ptr %t3380 %t3384 = icmp sge i32 %t3382, %t3383 br i1 %t3384, label %grow674, label %put675 grow674: %t3385 = mul i32 %t3383, 2 %t3386 = icmp eq i32 %t3383, 0 %t3387 = select i1 %t3386, i32 8, i32 %t3385 %t3388 = getelementptr ptr, ptr null, i32 1 %t3389 = ptrtoint ptr %t3388 to i64 %t3390 = zext i32 %t3387 to i64 %t3391 = mul i64 %t3390, %t3389 %t3392 = load ptr, ptr %t3381 %t3393 = call ptr @realloc(ptr %t3392, i64 %t3391) store ptr %t3393, ptr %t3381 store i32 %t3387, ptr %t3380 br label %put675 put675: %t3394 = load ptr, ptr %t3381 %t3395 = getelementptr inbounds ptr, ptr %t3394, i32 %t3382 store ptr @.str7590, ptr %t3395 %t3396 = add i32 %t3382, 1 store i32 %t3396, ptr %t3379 br label %ifend667 ifend667: %t3397 = load ptr, ptr %t1 %t3398 = call i32 @lp_str_eq(ptr %t3397, ptr @.str7591) %t3399 = icmp ne i32 %t3398, 0 br i1 %t3399, label %then676, label %ifend678 then676: store ptr @.str7592, ptr %t403 br label %ifend678 ifend678: br label %ifend653 ifend653: %t3400 = load ptr, ptr %t0 %t3401 = call i32 @lp_str_eq(ptr %t3400, ptr @.str7593) %t3402 = icmp ne i32 %t3401, 0 br i1 %t3402, label %then679, label %ifend681 then679: %t3403 = load ptr, ptr %t1 %t3404 = call i32 @lp_str_eq(ptr %t3403, ptr @.str7594) %t3405 = icmp ne i32 %t3404, 0 br i1 %t3405, label %then682, label %ifend684 then682: %t3406 = call i32 @fn_has_prefabs() %t3407 = icmp eq i32 %t3406, 0 %t3408 = zext i1 %t3407 to i32 %t3409 = icmp ne i32 %t3408, 0 br i1 %t3409, label %then685, label %ifend687 then685: call void @fn_perr(ptr @.str7595) br label %ifend687 ifend687: %t3410 = call ptr @fn_find_comp(ptr @.str7596) store ptr %t3410, ptr %t3411 %t3412 = load ptr, ptr %t3411 %t3413 = icmp eq ptr %t3412, null %t3414 = zext i1 %t3413 to i32 %t3415 = icmp ne i32 %t3414, 0 br i1 %t3415, label %then688, label %ifend690 then688: call void @fn_perr(ptr @.str7597) br label %ifend690 ifend690: %t3416 = getelementptr %LSlice, ptr null, i32 1 %t3417 = ptrtoint ptr %t3416 to i64 %t3418 = call ptr @malloc(i64 %t3417) %t3419 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 0 store ptr null, ptr %t3419 %t3420 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 1 store i32 0, ptr %t3420 %t3421 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 2 store i32 0, ptr %t3421 store ptr %t3418, ptr %t3422 %t3423 = load ptr, ptr %t3422 %t3424 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 1 %t3425 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 2 %t3426 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 0 %t3427 = load i32, ptr %t3424 %t3428 = load i32, ptr %t3425 %t3429 = icmp sge i32 %t3427, %t3428 br i1 %t3429, label %grow691, label %put692 grow691: %t3430 = mul i32 %t3428, 2 %t3431 = icmp eq i32 %t3428, 0 %t3432 = select i1 %t3431, i32 8, i32 %t3430 %t3433 = getelementptr ptr, ptr null, i32 1 %t3434 = ptrtoint ptr %t3433 to i64 %t3435 = zext i32 %t3432 to i64 %t3436 = mul i64 %t3435, %t3434 %t3437 = load ptr, ptr %t3426 %t3438 = call ptr @realloc(ptr %t3437, i64 %t3436) store ptr %t3438, ptr %t3426 store i32 %t3432, ptr %t3425 br label %put692 put692: %t3439 = load ptr, ptr %t3426 %t3440 = getelementptr inbounds ptr, ptr %t3439, i32 %t3427 store ptr @.str7598, ptr %t3440 %t3441 = add i32 %t3427, 1 store i32 %t3441, ptr %t3424 %t3442 = load ptr, ptr %t3422 %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 1 %t3444 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 2 %t3445 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 %t3446 = load i32, ptr %t3443 %t3447 = load i32, ptr %t3444 %t3448 = icmp sge i32 %t3446, %t3447 br i1 %t3448, label %grow693, label %put694 grow693: %t3449 = mul i32 %t3447, 2 %t3450 = icmp eq i32 %t3447, 0 %t3451 = select i1 %t3450, i32 8, i32 %t3449 %t3452 = getelementptr ptr, ptr null, i32 1 %t3453 = ptrtoint ptr %t3452 to i64 %t3454 = zext i32 %t3451 to i64 %t3455 = mul i64 %t3454, %t3453 %t3456 = load ptr, ptr %t3445 %t3457 = call ptr @realloc(ptr %t3456, i64 %t3455) store ptr %t3457, ptr %t3445 store i32 %t3451, ptr %t3444 br label %put694 put694: %t3458 = load ptr, ptr %t3445 %t3459 = getelementptr inbounds ptr, ptr %t3458, i32 %t3446 store ptr @.str7599, ptr %t3459 %t3460 = add i32 %t3446, 1 store i32 %t3460, ptr %t3443 %t3461 = load ptr, ptr %t2 %t3462 = load ptr, ptr %t3422 call void @fn_reorder_named(ptr %t3461, ptr %t3462) %t3463 = load ptr, ptr %t2 %t3464 = getelementptr inbounds %Cmp_Node, ptr %t3463, i32 0, i32 7 %t3465 = load ptr, ptr %t3464 %t3466 = getelementptr inbounds %LSlice, ptr %t3465, i32 0, i32 0 %t3467 = load ptr, ptr %t3466 %t3468 = getelementptr inbounds ptr, ptr %t3467, i32 0 %t3469 = load ptr, ptr %t3468 %t3470 = call ptr @fn_emit_expr(ptr %t3469) store ptr %t3470, ptr %t3471 %t3472 = load ptr, ptr %t2 %t3473 = getelementptr inbounds %Cmp_Node, ptr %t3472, i32 0, i32 7 %t3474 = load ptr, ptr %t3473 %t3475 = getelementptr inbounds %LSlice, ptr %t3474, i32 0, i32 0 %t3476 = load ptr, ptr %t3475 %t3477 = getelementptr inbounds ptr, ptr %t3476, i32 1 %t3478 = load ptr, ptr %t3477 %t3479 = call ptr @fn_emit_expr(ptr %t3478) store ptr %t3479, ptr %t3480 %t3481 = load ptr, ptr %t3471 %t3482 = getelementptr inbounds %Cmp_Val, ptr %t3481, i32 0, i32 0 %t3483 = load ptr, ptr %t3482 %t3484 = call ptr @lp_str_concat(ptr @.str7600, ptr %t3483) %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str7601) %t3486 = call ptr @fn_emit_bind(ptr %t3485) store ptr %t3486, ptr %t3487 %t3488 = call ptr @fn_itoa(i32 1024) store ptr %t3488, ptr %t3489 %t3490 = load ptr, ptr %t3489 %t3491 = call ptr @lp_str_concat(ptr @.str7602, ptr %t3490) %t3492 = call ptr @lp_str_concat(ptr %t3491, ptr @.str7603) %t3493 = load ptr, ptr %t3487 %t3494 = call ptr @lp_str_concat(ptr %t3492, ptr %t3493) %t3495 = call ptr @fn_emit_bind(ptr %t3494) store ptr %t3495, ptr %t3496 %t3497 = load ptr, ptr %t3496 %t3498 = call ptr @lp_str_concat(ptr @.str7604, ptr %t3497) %t3499 = call ptr @lp_str_concat(ptr %t3498, ptr @.str7605) %t3500 = load ptr, ptr %t3411 %t3501 = call i32 @fn_field_index(ptr %t3500, ptr @.str7606) %t3502 = call ptr @fn_itoa(i32 %t3501) %t3503 = call ptr @lp_str_concat(ptr %t3499, ptr %t3502) %t3504 = call ptr @fn_emit_bind(ptr %t3503) store ptr %t3504, ptr %t3505 %t3506 = load ptr, ptr %t3496 %t3507 = call ptr @lp_str_concat(ptr @.str7607, ptr %t3506) %t3508 = call ptr @lp_str_concat(ptr %t3507, ptr @.str7608) %t3509 = load ptr, ptr %t3411 %t3510 = call i32 @fn_field_index(ptr %t3509, ptr @.str7609) %t3511 = call ptr @fn_itoa(i32 %t3510) %t3512 = call ptr @lp_str_concat(ptr %t3508, ptr %t3511) %t3513 = call ptr @fn_emit_bind(ptr %t3512) store ptr %t3513, ptr %t3514 %t3515 = load ptr, ptr %t3480 %t3516 = getelementptr inbounds %Cmp_Val, ptr %t3515, i32 0, i32 0 %t3517 = load ptr, ptr %t3516 %t3518 = call ptr @fn_vec_x(ptr %t3517) store ptr %t3518, ptr %t3519 %t3520 = load ptr, ptr %t3480 %t3521 = getelementptr inbounds %Cmp_Val, ptr %t3520, i32 0, i32 0 %t3522 = load ptr, ptr %t3521 %t3523 = call ptr @fn_vec_y(ptr %t3522) store ptr %t3523, ptr %t3524 call void @fn_emit(ptr @.str7610) %t3525 = load ptr, ptr %t3519 call void @fn_emit(ptr %t3525) call void @fn_emit(ptr @.str7611) %t3526 = load ptr, ptr %t3505 call void @fn_emit(ptr %t3526) call void @fn_emit(ptr @.str7612) call void @fn_emit(ptr @.str7613) %t3527 = load ptr, ptr %t3524 call void @fn_emit(ptr %t3527) call void @fn_emit(ptr @.str7614) %t3528 = load ptr, ptr %t3514 call void @fn_emit(ptr %t3528) call void @fn_emit(ptr @.str7615) %t3529 = load ptr, ptr %t3487 %t3530 = call ptr @fn_val(ptr %t3529, ptr @.str7616) store ptr %t3530, ptr %retval br label %ret ifend684: %t3531 = load ptr, ptr %t1 %t3532 = call i32 @lp_str_eq(ptr %t3531, ptr @.str7617) %t3533 = icmp ne i32 %t3532, 0 br i1 %t3533, label %then695, label %ifend697 then695: %t3534 = call i32 @fn_has_prefabs() %t3535 = icmp eq i32 %t3534, 0 %t3536 = zext i1 %t3535 to i32 %t3537 = icmp ne i32 %t3536, 0 br i1 %t3537, label %then698, label %ifend700 then698: call void @fn_perr(ptr @.str7618) br label %ifend700 ifend700: %t3538 = getelementptr %LSlice, ptr null, i32 1 %t3539 = ptrtoint ptr %t3538 to i64 %t3540 = call ptr @malloc(i64 %t3539) %t3541 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 0 store ptr null, ptr %t3541 %t3542 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 1 store i32 0, ptr %t3542 %t3543 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 2 store i32 0, ptr %t3543 store ptr %t3540, ptr %t3544 %t3545 = load ptr, ptr %t3544 %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 %t3547 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 2 %t3548 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 0 %t3549 = load i32, ptr %t3546 %t3550 = load i32, ptr %t3547 %t3551 = icmp sge i32 %t3549, %t3550 br i1 %t3551, label %grow701, label %put702 grow701: %t3552 = mul i32 %t3550, 2 %t3553 = icmp eq i32 %t3550, 0 %t3554 = select i1 %t3553, i32 8, i32 %t3552 %t3555 = getelementptr ptr, ptr null, i32 1 %t3556 = ptrtoint ptr %t3555 to i64 %t3557 = zext i32 %t3554 to i64 %t3558 = mul i64 %t3557, %t3556 %t3559 = load ptr, ptr %t3548 %t3560 = call ptr @realloc(ptr %t3559, i64 %t3558) store ptr %t3560, ptr %t3548 store i32 %t3554, ptr %t3547 br label %put702 put702: %t3561 = load ptr, ptr %t3548 %t3562 = getelementptr inbounds ptr, ptr %t3561, i32 %t3549 store ptr @.str7619, ptr %t3562 %t3563 = add i32 %t3549, 1 store i32 %t3563, ptr %t3546 %t3564 = load ptr, ptr %t2 %t3565 = load ptr, ptr %t3544 call void @fn_reorder_named(ptr %t3564, ptr %t3565) %t3566 = load ptr, ptr %t2 %t3567 = getelementptr inbounds %Cmp_Node, ptr %t3566, i32 0, i32 7 %t3568 = load ptr, ptr %t3567 %t3569 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 1 %t3570 = load i32, ptr %t3569 %t3571 = icmp ne i32 %t3570, 1 %t3572 = zext i1 %t3571 to i32 %t3573 = icmp ne i32 %t3572, 0 br i1 %t3573, label %then703, label %ifend705 then703: call void @fn_perr(ptr @.str7620) br label %ifend705 ifend705: %t3574 = load ptr, ptr %t2 %t3575 = getelementptr inbounds %Cmp_Node, ptr %t3574, i32 0, i32 7 %t3576 = load ptr, ptr %t3575 %t3577 = getelementptr inbounds %LSlice, ptr %t3576, i32 0, i32 0 %t3578 = load ptr, ptr %t3577 %t3579 = getelementptr inbounds ptr, ptr %t3578, i32 0 %t3580 = load ptr, ptr %t3579 %t3581 = call ptr @fn_emit_expr(ptr %t3580) store ptr %t3581, ptr %t3582 %t3583 = load ptr, ptr %t3582 %t3584 = getelementptr inbounds %Cmp_Val, ptr %t3583, i32 0, i32 0 %t3585 = load ptr, ptr %t3584 %t3586 = call ptr @lp_str_concat(ptr @.str7621, ptr %t3585) %t3587 = call ptr @lp_str_concat(ptr %t3586, ptr @.str7622) %t3588 = call ptr @fn_emit_bind(ptr %t3587) %t3589 = call ptr @fn_val(ptr %t3588, ptr @.str7623) store ptr %t3589, ptr %retval br label %ret ifend697: %t3590 = load ptr, ptr %t1 %t3591 = call ptr @lp_str_concat(ptr @.str7624, ptr %t3590) call void @fn_perr(ptr %t3591) br label %ifend681 ifend681: %t3592 = load ptr, ptr %t0 %t3593 = call i32 @lp_str_eq(ptr %t3592, ptr @.str7625) %t3594 = icmp ne i32 %t3593, 0 br i1 %t3594, label %then706, label %ifend708 then706: %t3595 = load ptr, ptr %t1 %t3596 = call i32 @lp_str_eq(ptr %t3595, ptr @.str7626) %t3597 = icmp ne i32 %t3596, 0 br i1 %t3597, label %then709, label %ifend711 then709: store ptr @.str7627, ptr %t403 %t3598 = load ptr, ptr %t410 %t3599 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 1 %t3600 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 2 %t3601 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 0 %t3602 = load i32, ptr %t3599 %t3603 = load i32, ptr %t3600 %t3604 = icmp sge i32 %t3602, %t3603 br i1 %t3604, label %grow712, label %put713 grow712: %t3605 = mul i32 %t3603, 2 %t3606 = icmp eq i32 %t3603, 0 %t3607 = select i1 %t3606, i32 8, i32 %t3605 %t3608 = getelementptr ptr, ptr null, i32 1 %t3609 = ptrtoint ptr %t3608 to i64 %t3610 = zext i32 %t3607 to i64 %t3611 = mul i64 %t3610, %t3609 %t3612 = load ptr, ptr %t3601 %t3613 = call ptr @realloc(ptr %t3612, i64 %t3611) store ptr %t3613, ptr %t3601 store i32 %t3607, ptr %t3600 br label %put713 put713: %t3614 = load ptr, ptr %t3601 %t3615 = getelementptr inbounds ptr, ptr %t3614, i32 %t3602 store ptr @.str7628, ptr %t3615 %t3616 = add i32 %t3602, 1 store i32 %t3616, ptr %t3599 br label %ifend711 ifend711: %t3617 = load ptr, ptr %t1 %t3618 = call i32 @lp_str_eq(ptr %t3617, ptr @.str7629) %t3619 = icmp ne i32 %t3618, 0 br i1 %t3619, label %then714, label %ifend716 then714: store ptr @.str7630, ptr %t403 %t3620 = load ptr, ptr %t410 %t3621 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 1 %t3622 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 2 %t3623 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 0 %t3624 = load i32, ptr %t3621 %t3625 = load i32, ptr %t3622 %t3626 = icmp sge i32 %t3624, %t3625 br i1 %t3626, label %grow717, label %put718 grow717: %t3627 = mul i32 %t3625, 2 %t3628 = icmp eq i32 %t3625, 0 %t3629 = select i1 %t3628, i32 8, i32 %t3627 %t3630 = getelementptr ptr, ptr null, i32 1 %t3631 = ptrtoint ptr %t3630 to i64 %t3632 = zext i32 %t3629 to i64 %t3633 = mul i64 %t3632, %t3631 %t3634 = load ptr, ptr %t3623 %t3635 = call ptr @realloc(ptr %t3634, i64 %t3633) store ptr %t3635, ptr %t3623 store i32 %t3629, ptr %t3622 br label %put718 put718: %t3636 = load ptr, ptr %t3623 %t3637 = getelementptr inbounds ptr, ptr %t3636, i32 %t3624 store ptr @.str7631, ptr %t3637 %t3638 = add i32 %t3624, 1 store i32 %t3638, ptr %t3621 br label %ifend716 ifend716: %t3639 = load ptr, ptr %t1 %t3640 = call i32 @lp_str_eq(ptr %t3639, ptr @.str7632) %t3641 = icmp ne i32 %t3640, 0 br i1 %t3641, label %then719, label %ifend721 then719: store ptr @.str7633, ptr %t403 %t3642 = load ptr, ptr %t410 %t3643 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 1 %t3644 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 2 %t3645 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 0 %t3646 = load i32, ptr %t3643 %t3647 = load i32, ptr %t3644 %t3648 = icmp sge i32 %t3646, %t3647 br i1 %t3648, label %grow722, label %put723 grow722: %t3649 = mul i32 %t3647, 2 %t3650 = icmp eq i32 %t3647, 0 %t3651 = select i1 %t3650, i32 8, i32 %t3649 %t3652 = getelementptr ptr, ptr null, i32 1 %t3653 = ptrtoint ptr %t3652 to i64 %t3654 = zext i32 %t3651 to i64 %t3655 = mul i64 %t3654, %t3653 %t3656 = load ptr, ptr %t3645 %t3657 = call ptr @realloc(ptr %t3656, i64 %t3655) store ptr %t3657, ptr %t3645 store i32 %t3651, ptr %t3644 br label %put723 put723: %t3658 = load ptr, ptr %t3645 %t3659 = getelementptr inbounds ptr, ptr %t3658, i32 %t3646 store ptr @.str7634, ptr %t3659 %t3660 = add i32 %t3646, 1 store i32 %t3660, ptr %t3643 br label %ifend721 ifend721: %t3661 = load ptr, ptr %t1 %t3662 = call i32 @lp_str_eq(ptr %t3661, ptr @.str7635) %t3663 = icmp ne i32 %t3662, 0 br i1 %t3663, label %then724, label %ifend726 then724: store ptr @.str7636, ptr %t403 %t3664 = load ptr, ptr %t410 %t3665 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 1 %t3666 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 2 %t3667 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 0 %t3668 = load i32, ptr %t3665 %t3669 = load i32, ptr %t3666 %t3670 = icmp sge i32 %t3668, %t3669 br i1 %t3670, label %grow727, label %put728 grow727: %t3671 = mul i32 %t3669, 2 %t3672 = icmp eq i32 %t3669, 0 %t3673 = select i1 %t3672, i32 8, i32 %t3671 %t3674 = getelementptr ptr, ptr null, i32 1 %t3675 = ptrtoint ptr %t3674 to i64 %t3676 = zext i32 %t3673 to i64 %t3677 = mul i64 %t3676, %t3675 %t3678 = load ptr, ptr %t3667 %t3679 = call ptr @realloc(ptr %t3678, i64 %t3677) store ptr %t3679, ptr %t3667 store i32 %t3673, ptr %t3666 br label %put728 put728: %t3680 = load ptr, ptr %t3667 %t3681 = getelementptr inbounds ptr, ptr %t3680, i32 %t3668 store ptr @.str7637, ptr %t3681 %t3682 = add i32 %t3668, 1 store i32 %t3682, ptr %t3665 br label %ifend726 ifend726: %t3683 = load ptr, ptr %t1 %t3684 = call i32 @lp_str_eq(ptr %t3683, ptr @.str7638) %t3685 = icmp ne i32 %t3684, 0 br i1 %t3685, label %then729, label %ifend731 then729: store ptr @.str7639, ptr %t403 %t3686 = load ptr, ptr %t410 %t3687 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 1 %t3688 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 2 %t3689 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 0 %t3690 = load i32, ptr %t3687 %t3691 = load i32, ptr %t3688 %t3692 = icmp sge i32 %t3690, %t3691 br i1 %t3692, label %grow732, label %put733 grow732: %t3693 = mul i32 %t3691, 2 %t3694 = icmp eq i32 %t3691, 0 %t3695 = select i1 %t3694, i32 8, i32 %t3693 %t3696 = getelementptr ptr, ptr null, i32 1 %t3697 = ptrtoint ptr %t3696 to i64 %t3698 = zext i32 %t3695 to i64 %t3699 = mul i64 %t3698, %t3697 %t3700 = load ptr, ptr %t3689 %t3701 = call ptr @realloc(ptr %t3700, i64 %t3699) store ptr %t3701, ptr %t3689 store i32 %t3695, ptr %t3688 br label %put733 put733: %t3702 = load ptr, ptr %t3689 %t3703 = getelementptr inbounds ptr, ptr %t3702, i32 %t3690 store ptr @.str7640, ptr %t3703 %t3704 = add i32 %t3690, 1 store i32 %t3704, ptr %t3687 br label %ifend731 ifend731: %t3705 = load ptr, ptr %t1 %t3706 = call i32 @lp_str_eq(ptr %t3705, ptr @.str7641) %t3707 = icmp ne i32 %t3706, 0 br i1 %t3707, label %then734, label %ifend736 then734: store ptr @.str7642, ptr %t403 %t3708 = load ptr, ptr %t410 %t3709 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 1 %t3710 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 2 %t3711 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 0 %t3712 = load i32, ptr %t3709 %t3713 = load i32, ptr %t3710 %t3714 = icmp sge i32 %t3712, %t3713 br i1 %t3714, label %grow737, label %put738 grow737: %t3715 = mul i32 %t3713, 2 %t3716 = icmp eq i32 %t3713, 0 %t3717 = select i1 %t3716, i32 8, i32 %t3715 %t3718 = getelementptr ptr, ptr null, i32 1 %t3719 = ptrtoint ptr %t3718 to i64 %t3720 = zext i32 %t3717 to i64 %t3721 = mul i64 %t3720, %t3719 %t3722 = load ptr, ptr %t3711 %t3723 = call ptr @realloc(ptr %t3722, i64 %t3721) store ptr %t3723, ptr %t3711 store i32 %t3717, ptr %t3710 br label %put738 put738: %t3724 = load ptr, ptr %t3711 %t3725 = getelementptr inbounds ptr, ptr %t3724, i32 %t3712 store ptr @.str7643, ptr %t3725 %t3726 = add i32 %t3712, 1 store i32 %t3726, ptr %t3709 %t3727 = load ptr, ptr %t410 %t3728 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 1 %t3729 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 2 %t3730 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 0 %t3731 = load i32, ptr %t3728 %t3732 = load i32, ptr %t3729 %t3733 = icmp sge i32 %t3731, %t3732 br i1 %t3733, label %grow739, label %put740 grow739: %t3734 = mul i32 %t3732, 2 %t3735 = icmp eq i32 %t3732, 0 %t3736 = select i1 %t3735, i32 8, i32 %t3734 %t3737 = getelementptr ptr, ptr null, i32 1 %t3738 = ptrtoint ptr %t3737 to i64 %t3739 = zext i32 %t3736 to i64 %t3740 = mul i64 %t3739, %t3738 %t3741 = load ptr, ptr %t3730 %t3742 = call ptr @realloc(ptr %t3741, i64 %t3740) store ptr %t3742, ptr %t3730 store i32 %t3736, ptr %t3729 br label %put740 put740: %t3743 = load ptr, ptr %t3730 %t3744 = getelementptr inbounds ptr, ptr %t3743, i32 %t3731 store ptr @.str7644, ptr %t3744 %t3745 = add i32 %t3731, 1 store i32 %t3745, ptr %t3728 br label %ifend736 ifend736: %t3746 = load ptr, ptr %t1 %t3747 = call i32 @lp_str_eq(ptr %t3746, ptr @.str7645) %t3748 = icmp ne i32 %t3747, 0 br i1 %t3748, label %then741, label %ifend743 then741: store ptr @.str7646, ptr %t403 %t3749 = load ptr, ptr %t410 %t3750 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 1 %t3751 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 2 %t3752 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 0 %t3753 = load i32, ptr %t3750 %t3754 = load i32, ptr %t3751 %t3755 = icmp sge i32 %t3753, %t3754 br i1 %t3755, label %grow744, label %put745 grow744: %t3756 = mul i32 %t3754, 2 %t3757 = icmp eq i32 %t3754, 0 %t3758 = select i1 %t3757, i32 8, i32 %t3756 %t3759 = getelementptr ptr, ptr null, i32 1 %t3760 = ptrtoint ptr %t3759 to i64 %t3761 = zext i32 %t3758 to i64 %t3762 = mul i64 %t3761, %t3760 %t3763 = load ptr, ptr %t3752 %t3764 = call ptr @realloc(ptr %t3763, i64 %t3762) store ptr %t3764, ptr %t3752 store i32 %t3758, ptr %t3751 br label %put745 put745: %t3765 = load ptr, ptr %t3752 %t3766 = getelementptr inbounds ptr, ptr %t3765, i32 %t3753 store ptr @.str7647, ptr %t3766 %t3767 = add i32 %t3753, 1 store i32 %t3767, ptr %t3750 br label %ifend743 ifend743: %t3768 = load ptr, ptr %t1 %t3769 = call i32 @lp_str_eq(ptr %t3768, ptr @.str7648) %t3770 = icmp ne i32 %t3769, 0 br i1 %t3770, label %then746, label %ifend748 then746: store ptr @.str7649, ptr %t403 br label %ifend748 ifend748: %t3771 = load ptr, ptr %t1 %t3772 = call i32 @lp_str_eq(ptr %t3771, ptr @.str7650) %t3773 = icmp ne i32 %t3772, 0 br i1 %t3773, label %then749, label %ifend751 then749: store ptr @.str7651, ptr %t403 br label %ifend751 ifend751: %t3774 = load ptr, ptr %t1 %t3775 = call i32 @lp_str_eq(ptr %t3774, ptr @.str7652) %t3776 = icmp ne i32 %t3775, 0 br i1 %t3776, label %then752, label %ifend754 then752: store ptr @.str7653, ptr %t403 br label %ifend754 ifend754: %t3777 = load ptr, ptr %t1 %t3778 = call i32 @lp_str_eq(ptr %t3777, ptr @.str7654) %t3779 = icmp ne i32 %t3778, 0 br i1 %t3779, label %then755, label %ifend757 then755: store ptr @.str7655, ptr %t403 br label %ifend757 ifend757: br label %ifend708 ifend708: %t3780 = load ptr, ptr %t0 %t3781 = call i32 @lp_str_eq(ptr %t3780, ptr @.str7656) %t3782 = icmp ne i32 %t3781, 0 br i1 %t3782, label %then758, label %ifend760 then758: %t3783 = load ptr, ptr %t1 %t3784 = call i32 @lp_str_eq(ptr %t3783, ptr @.str7657) %t3785 = icmp ne i32 %t3784, 0 br i1 %t3785, label %then761, label %ifend763 then761: store ptr @.str7658, ptr %t403 %t3786 = load ptr, ptr %t410 %t3787 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 1 %t3788 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 2 %t3789 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 0 %t3790 = load i32, ptr %t3787 %t3791 = load i32, ptr %t3788 %t3792 = icmp sge i32 %t3790, %t3791 br i1 %t3792, label %grow764, label %put765 grow764: %t3793 = mul i32 %t3791, 2 %t3794 = icmp eq i32 %t3791, 0 %t3795 = select i1 %t3794, i32 8, i32 %t3793 %t3796 = getelementptr ptr, ptr null, i32 1 %t3797 = ptrtoint ptr %t3796 to i64 %t3798 = zext i32 %t3795 to i64 %t3799 = mul i64 %t3798, %t3797 %t3800 = load ptr, ptr %t3789 %t3801 = call ptr @realloc(ptr %t3800, i64 %t3799) store ptr %t3801, ptr %t3789 store i32 %t3795, ptr %t3788 br label %put765 put765: %t3802 = load ptr, ptr %t3789 %t3803 = getelementptr inbounds ptr, ptr %t3802, i32 %t3790 store ptr @.str7659, ptr %t3803 %t3804 = add i32 %t3790, 1 store i32 %t3804, ptr %t3787 %t3805 = load ptr, ptr %t410 %t3806 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 1 %t3807 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 2 %t3808 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 0 %t3809 = load i32, ptr %t3806 %t3810 = load i32, ptr %t3807 %t3811 = icmp sge i32 %t3809, %t3810 br i1 %t3811, label %grow766, label %put767 grow766: %t3812 = mul i32 %t3810, 2 %t3813 = icmp eq i32 %t3810, 0 %t3814 = select i1 %t3813, i32 8, i32 %t3812 %t3815 = getelementptr ptr, ptr null, i32 1 %t3816 = ptrtoint ptr %t3815 to i64 %t3817 = zext i32 %t3814 to i64 %t3818 = mul i64 %t3817, %t3816 %t3819 = load ptr, ptr %t3808 %t3820 = call ptr @realloc(ptr %t3819, i64 %t3818) store ptr %t3820, ptr %t3808 store i32 %t3814, ptr %t3807 br label %put767 put767: %t3821 = load ptr, ptr %t3808 %t3822 = getelementptr inbounds ptr, ptr %t3821, i32 %t3809 store ptr @.str7660, ptr %t3822 %t3823 = add i32 %t3809, 1 store i32 %t3823, ptr %t3806 br label %ifend763 ifend763: %t3824 = load ptr, ptr %t1 %t3825 = call i32 @lp_str_eq(ptr %t3824, ptr @.str7661) %t3826 = icmp ne i32 %t3825, 0 br i1 %t3826, label %then768, label %ifend770 then768: store ptr @.str7662, ptr %t403 %t3827 = load ptr, ptr %t410 %t3828 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 1 %t3829 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 2 %t3830 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 0 %t3831 = load i32, ptr %t3828 %t3832 = load i32, ptr %t3829 %t3833 = icmp sge i32 %t3831, %t3832 br i1 %t3833, label %grow771, label %put772 grow771: %t3834 = mul i32 %t3832, 2 %t3835 = icmp eq i32 %t3832, 0 %t3836 = select i1 %t3835, i32 8, i32 %t3834 %t3837 = getelementptr ptr, ptr null, i32 1 %t3838 = ptrtoint ptr %t3837 to i64 %t3839 = zext i32 %t3836 to i64 %t3840 = mul i64 %t3839, %t3838 %t3841 = load ptr, ptr %t3830 %t3842 = call ptr @realloc(ptr %t3841, i64 %t3840) store ptr %t3842, ptr %t3830 store i32 %t3836, ptr %t3829 br label %put772 put772: %t3843 = load ptr, ptr %t3830 %t3844 = getelementptr inbounds ptr, ptr %t3843, i32 %t3831 store ptr @.str7663, ptr %t3844 %t3845 = add i32 %t3831, 1 store i32 %t3845, ptr %t3828 %t3846 = load ptr, ptr %t410 %t3847 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 1 %t3848 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 2 %t3849 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 0 %t3850 = load i32, ptr %t3847 %t3851 = load i32, ptr %t3848 %t3852 = icmp sge i32 %t3850, %t3851 br i1 %t3852, label %grow773, label %put774 grow773: %t3853 = mul i32 %t3851, 2 %t3854 = icmp eq i32 %t3851, 0 %t3855 = select i1 %t3854, i32 8, i32 %t3853 %t3856 = getelementptr ptr, ptr null, i32 1 %t3857 = ptrtoint ptr %t3856 to i64 %t3858 = zext i32 %t3855 to i64 %t3859 = mul i64 %t3858, %t3857 %t3860 = load ptr, ptr %t3849 %t3861 = call ptr @realloc(ptr %t3860, i64 %t3859) store ptr %t3861, ptr %t3849 store i32 %t3855, ptr %t3848 br label %put774 put774: %t3862 = load ptr, ptr %t3849 %t3863 = getelementptr inbounds ptr, ptr %t3862, i32 %t3850 store ptr @.str7664, ptr %t3863 %t3864 = add i32 %t3850, 1 store i32 %t3864, ptr %t3847 %t3865 = load ptr, ptr %t410 %t3866 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 1 %t3867 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 2 %t3868 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 0 %t3869 = load i32, ptr %t3866 %t3870 = load i32, ptr %t3867 %t3871 = icmp sge i32 %t3869, %t3870 br i1 %t3871, label %grow775, label %put776 grow775: %t3872 = mul i32 %t3870, 2 %t3873 = icmp eq i32 %t3870, 0 %t3874 = select i1 %t3873, i32 8, i32 %t3872 %t3875 = getelementptr ptr, ptr null, i32 1 %t3876 = ptrtoint ptr %t3875 to i64 %t3877 = zext i32 %t3874 to i64 %t3878 = mul i64 %t3877, %t3876 %t3879 = load ptr, ptr %t3868 %t3880 = call ptr @realloc(ptr %t3879, i64 %t3878) store ptr %t3880, ptr %t3868 store i32 %t3874, ptr %t3867 br label %put776 put776: %t3881 = load ptr, ptr %t3868 %t3882 = getelementptr inbounds ptr, ptr %t3881, i32 %t3869 store ptr @.str7665, ptr %t3882 %t3883 = add i32 %t3869, 1 store i32 %t3883, ptr %t3866 br label %ifend770 ifend770: %t3884 = load ptr, ptr %t1 %t3885 = call i32 @lp_str_eq(ptr %t3884, ptr @.str7666) %t3886 = icmp ne i32 %t3885, 0 br i1 %t3886, label %then777, label %ifend779 then777: store ptr @.str7667, ptr %t403 %t3887 = load ptr, ptr %t410 %t3888 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 1 %t3889 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 2 %t3890 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 0 %t3891 = load i32, ptr %t3888 %t3892 = load i32, ptr %t3889 %t3893 = icmp sge i32 %t3891, %t3892 br i1 %t3893, label %grow780, label %put781 grow780: %t3894 = mul i32 %t3892, 2 %t3895 = icmp eq i32 %t3892, 0 %t3896 = select i1 %t3895, i32 8, i32 %t3894 %t3897 = getelementptr ptr, ptr null, i32 1 %t3898 = ptrtoint ptr %t3897 to i64 %t3899 = zext i32 %t3896 to i64 %t3900 = mul i64 %t3899, %t3898 %t3901 = load ptr, ptr %t3890 %t3902 = call ptr @realloc(ptr %t3901, i64 %t3900) store ptr %t3902, ptr %t3890 store i32 %t3896, ptr %t3889 br label %put781 put781: %t3903 = load ptr, ptr %t3890 %t3904 = getelementptr inbounds ptr, ptr %t3903, i32 %t3891 store ptr @.str7668, ptr %t3904 %t3905 = add i32 %t3891, 1 store i32 %t3905, ptr %t3888 br label %ifend779 ifend779: %t3906 = load ptr, ptr %t1 %t3907 = call i32 @lp_str_eq(ptr %t3906, ptr @.str7669) %t3908 = icmp ne i32 %t3907, 0 br i1 %t3908, label %then782, label %ifend784 then782: store ptr @.str7670, ptr %t403 %t3909 = load ptr, ptr %t410 %t3910 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 1 %t3911 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 2 %t3912 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 0 %t3913 = load i32, ptr %t3910 %t3914 = load i32, ptr %t3911 %t3915 = icmp sge i32 %t3913, %t3914 br i1 %t3915, label %grow785, label %put786 grow785: %t3916 = mul i32 %t3914, 2 %t3917 = icmp eq i32 %t3914, 0 %t3918 = select i1 %t3917, i32 8, i32 %t3916 %t3919 = getelementptr ptr, ptr null, i32 1 %t3920 = ptrtoint ptr %t3919 to i64 %t3921 = zext i32 %t3918 to i64 %t3922 = mul i64 %t3921, %t3920 %t3923 = load ptr, ptr %t3912 %t3924 = call ptr @realloc(ptr %t3923, i64 %t3922) store ptr %t3924, ptr %t3912 store i32 %t3918, ptr %t3911 br label %put786 put786: %t3925 = load ptr, ptr %t3912 %t3926 = getelementptr inbounds ptr, ptr %t3925, i32 %t3913 store ptr @.str7671, ptr %t3926 %t3927 = add i32 %t3913, 1 store i32 %t3927, ptr %t3910 %t3928 = load ptr, ptr %t410 %t3929 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 1 %t3930 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 2 %t3931 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 0 %t3932 = load i32, ptr %t3929 %t3933 = load i32, ptr %t3930 %t3934 = icmp sge i32 %t3932, %t3933 br i1 %t3934, label %grow787, label %put788 grow787: %t3935 = mul i32 %t3933, 2 %t3936 = icmp eq i32 %t3933, 0 %t3937 = select i1 %t3936, i32 8, i32 %t3935 %t3938 = getelementptr ptr, ptr null, i32 1 %t3939 = ptrtoint ptr %t3938 to i64 %t3940 = zext i32 %t3937 to i64 %t3941 = mul i64 %t3940, %t3939 %t3942 = load ptr, ptr %t3931 %t3943 = call ptr @realloc(ptr %t3942, i64 %t3941) store ptr %t3943, ptr %t3931 store i32 %t3937, ptr %t3930 br label %put788 put788: %t3944 = load ptr, ptr %t3931 %t3945 = getelementptr inbounds ptr, ptr %t3944, i32 %t3932 store ptr @.str7672, ptr %t3945 %t3946 = add i32 %t3932, 1 store i32 %t3946, ptr %t3929 br label %ifend784 ifend784: %t3947 = load ptr, ptr %t1 %t3948 = call i32 @lp_str_eq(ptr %t3947, ptr @.str7673) %t3949 = icmp ne i32 %t3948, 0 br i1 %t3949, label %then789, label %ifend791 then789: store ptr @.str7674, ptr %t403 %t3950 = load ptr, ptr %t410 %t3951 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 1 %t3952 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 2 %t3953 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 0 %t3954 = load i32, ptr %t3951 %t3955 = load i32, ptr %t3952 %t3956 = icmp sge i32 %t3954, %t3955 br i1 %t3956, label %grow792, label %put793 grow792: %t3957 = mul i32 %t3955, 2 %t3958 = icmp eq i32 %t3955, 0 %t3959 = select i1 %t3958, i32 8, i32 %t3957 %t3960 = getelementptr ptr, ptr null, i32 1 %t3961 = ptrtoint ptr %t3960 to i64 %t3962 = zext i32 %t3959 to i64 %t3963 = mul i64 %t3962, %t3961 %t3964 = load ptr, ptr %t3953 %t3965 = call ptr @realloc(ptr %t3964, i64 %t3963) store ptr %t3965, ptr %t3953 store i32 %t3959, ptr %t3952 br label %put793 put793: %t3966 = load ptr, ptr %t3953 %t3967 = getelementptr inbounds ptr, ptr %t3966, i32 %t3954 store ptr @.str7675, ptr %t3967 %t3968 = add i32 %t3954, 1 store i32 %t3968, ptr %t3951 br label %ifend791 ifend791: br label %ifend760 ifend760: %t3969 = load ptr, ptr %t0 %t3970 = call i32 @lp_str_eq(ptr %t3969, ptr @.str7676) %t3971 = icmp ne i32 %t3970, 0 br i1 %t3971, label %then794, label %ifend796 then794: %t3972 = load ptr, ptr %t1 %t3973 = call i32 @lp_str_eq(ptr %t3972, ptr @.str7677) %t3974 = icmp ne i32 %t3973, 0 br i1 %t3974, label %then797, label %ifend799 then797: store ptr @.str7678, ptr %t403 %t3975 = load ptr, ptr %t410 %t3976 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 1 %t3977 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 2 %t3978 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 0 %t3979 = load i32, ptr %t3976 %t3980 = load i32, ptr %t3977 %t3981 = icmp sge i32 %t3979, %t3980 br i1 %t3981, label %grow800, label %put801 grow800: %t3982 = mul i32 %t3980, 2 %t3983 = icmp eq i32 %t3980, 0 %t3984 = select i1 %t3983, i32 8, i32 %t3982 %t3985 = getelementptr ptr, ptr null, i32 1 %t3986 = ptrtoint ptr %t3985 to i64 %t3987 = zext i32 %t3984 to i64 %t3988 = mul i64 %t3987, %t3986 %t3989 = load ptr, ptr %t3978 %t3990 = call ptr @realloc(ptr %t3989, i64 %t3988) store ptr %t3990, ptr %t3978 store i32 %t3984, ptr %t3977 br label %put801 put801: %t3991 = load ptr, ptr %t3978 %t3992 = getelementptr inbounds ptr, ptr %t3991, i32 %t3979 store ptr @.str7679, ptr %t3992 %t3993 = add i32 %t3979, 1 store i32 %t3993, ptr %t3976 %t3994 = load ptr, ptr %t410 %t3995 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 1 %t3996 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 2 %t3997 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 0 %t3998 = load i32, ptr %t3995 %t3999 = load i32, ptr %t3996 %t4000 = icmp sge i32 %t3998, %t3999 br i1 %t4000, label %grow802, label %put803 grow802: %t4001 = mul i32 %t3999, 2 %t4002 = icmp eq i32 %t3999, 0 %t4003 = select i1 %t4002, i32 8, i32 %t4001 %t4004 = getelementptr ptr, ptr null, i32 1 %t4005 = ptrtoint ptr %t4004 to i64 %t4006 = zext i32 %t4003 to i64 %t4007 = mul i64 %t4006, %t4005 %t4008 = load ptr, ptr %t3997 %t4009 = call ptr @realloc(ptr %t4008, i64 %t4007) store ptr %t4009, ptr %t3997 store i32 %t4003, ptr %t3996 br label %put803 put803: %t4010 = load ptr, ptr %t3997 %t4011 = getelementptr inbounds ptr, ptr %t4010, i32 %t3998 store ptr @.str7680, ptr %t4011 %t4012 = add i32 %t3998, 1 store i32 %t4012, ptr %t3995 br label %ifend799 ifend799: %t4013 = load ptr, ptr %t1 %t4014 = call i32 @lp_str_eq(ptr %t4013, ptr @.str7681) %t4015 = icmp ne i32 %t4014, 0 br i1 %t4015, label %then804, label %ifend806 then804: store ptr @.str7682, ptr %t403 %t4016 = load ptr, ptr %t410 %t4017 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 1 %t4018 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 2 %t4019 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 0 %t4020 = load i32, ptr %t4017 %t4021 = load i32, ptr %t4018 %t4022 = icmp sge i32 %t4020, %t4021 br i1 %t4022, label %grow807, label %put808 grow807: %t4023 = mul i32 %t4021, 2 %t4024 = icmp eq i32 %t4021, 0 %t4025 = select i1 %t4024, i32 8, i32 %t4023 %t4026 = getelementptr ptr, ptr null, i32 1 %t4027 = ptrtoint ptr %t4026 to i64 %t4028 = zext i32 %t4025 to i64 %t4029 = mul i64 %t4028, %t4027 %t4030 = load ptr, ptr %t4019 %t4031 = call ptr @realloc(ptr %t4030, i64 %t4029) store ptr %t4031, ptr %t4019 store i32 %t4025, ptr %t4018 br label %put808 put808: %t4032 = load ptr, ptr %t4019 %t4033 = getelementptr inbounds ptr, ptr %t4032, i32 %t4020 store ptr @.str7683, ptr %t4033 %t4034 = add i32 %t4020, 1 store i32 %t4034, ptr %t4017 %t4035 = load ptr, ptr %t410 %t4036 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 1 %t4037 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 2 %t4038 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 0 %t4039 = load i32, ptr %t4036 %t4040 = load i32, ptr %t4037 %t4041 = icmp sge i32 %t4039, %t4040 br i1 %t4041, label %grow809, label %put810 grow809: %t4042 = mul i32 %t4040, 2 %t4043 = icmp eq i32 %t4040, 0 %t4044 = select i1 %t4043, i32 8, i32 %t4042 %t4045 = getelementptr ptr, ptr null, i32 1 %t4046 = ptrtoint ptr %t4045 to i64 %t4047 = zext i32 %t4044 to i64 %t4048 = mul i64 %t4047, %t4046 %t4049 = load ptr, ptr %t4038 %t4050 = call ptr @realloc(ptr %t4049, i64 %t4048) store ptr %t4050, ptr %t4038 store i32 %t4044, ptr %t4037 br label %put810 put810: %t4051 = load ptr, ptr %t4038 %t4052 = getelementptr inbounds ptr, ptr %t4051, i32 %t4039 store ptr @.str7684, ptr %t4052 %t4053 = add i32 %t4039, 1 store i32 %t4053, ptr %t4036 br label %ifend806 ifend806: %t4054 = load ptr, ptr %t1 %t4055 = call i32 @lp_str_eq(ptr %t4054, ptr @.str7685) %t4056 = icmp ne i32 %t4055, 0 br i1 %t4056, label %then811, label %ifend813 then811: store ptr @.str7686, ptr %t403 %t4057 = load ptr, ptr %t410 %t4058 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 1 %t4059 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 2 %t4060 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 0 %t4061 = load i32, ptr %t4058 %t4062 = load i32, ptr %t4059 %t4063 = icmp sge i32 %t4061, %t4062 br i1 %t4063, label %grow814, label %put815 grow814: %t4064 = mul i32 %t4062, 2 %t4065 = icmp eq i32 %t4062, 0 %t4066 = select i1 %t4065, i32 8, i32 %t4064 %t4067 = getelementptr ptr, ptr null, i32 1 %t4068 = ptrtoint ptr %t4067 to i64 %t4069 = zext i32 %t4066 to i64 %t4070 = mul i64 %t4069, %t4068 %t4071 = load ptr, ptr %t4060 %t4072 = call ptr @realloc(ptr %t4071, i64 %t4070) store ptr %t4072, ptr %t4060 store i32 %t4066, ptr %t4059 br label %put815 put815: %t4073 = load ptr, ptr %t4060 %t4074 = getelementptr inbounds ptr, ptr %t4073, i32 %t4061 store ptr @.str7687, ptr %t4074 %t4075 = add i32 %t4061, 1 store i32 %t4075, ptr %t4058 %t4076 = load ptr, ptr %t410 %t4077 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 1 %t4078 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 2 %t4079 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 0 %t4080 = load i32, ptr %t4077 %t4081 = load i32, ptr %t4078 %t4082 = icmp sge i32 %t4080, %t4081 br i1 %t4082, label %grow816, label %put817 grow816: %t4083 = mul i32 %t4081, 2 %t4084 = icmp eq i32 %t4081, 0 %t4085 = select i1 %t4084, i32 8, i32 %t4083 %t4086 = getelementptr ptr, ptr null, i32 1 %t4087 = ptrtoint ptr %t4086 to i64 %t4088 = zext i32 %t4085 to i64 %t4089 = mul i64 %t4088, %t4087 %t4090 = load ptr, ptr %t4079 %t4091 = call ptr @realloc(ptr %t4090, i64 %t4089) store ptr %t4091, ptr %t4079 store i32 %t4085, ptr %t4078 br label %put817 put817: %t4092 = load ptr, ptr %t4079 %t4093 = getelementptr inbounds ptr, ptr %t4092, i32 %t4080 store ptr @.str7688, ptr %t4093 %t4094 = add i32 %t4080, 1 store i32 %t4094, ptr %t4077 br label %ifend813 ifend813: %t4095 = load ptr, ptr %t1 %t4096 = call i32 @lp_str_eq(ptr %t4095, ptr @.str7689) %t4097 = icmp ne i32 %t4096, 0 br i1 %t4097, label %then818, label %ifend820 then818: store ptr @.str7690, ptr %t403 %t4098 = load ptr, ptr %t410 %t4099 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 1 %t4100 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 2 %t4101 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 0 %t4102 = load i32, ptr %t4099 %t4103 = load i32, ptr %t4100 %t4104 = icmp sge i32 %t4102, %t4103 br i1 %t4104, label %grow821, label %put822 grow821: %t4105 = mul i32 %t4103, 2 %t4106 = icmp eq i32 %t4103, 0 %t4107 = select i1 %t4106, i32 8, i32 %t4105 %t4108 = getelementptr ptr, ptr null, i32 1 %t4109 = ptrtoint ptr %t4108 to i64 %t4110 = zext i32 %t4107 to i64 %t4111 = mul i64 %t4110, %t4109 %t4112 = load ptr, ptr %t4101 %t4113 = call ptr @realloc(ptr %t4112, i64 %t4111) store ptr %t4113, ptr %t4101 store i32 %t4107, ptr %t4100 br label %put822 put822: %t4114 = load ptr, ptr %t4101 %t4115 = getelementptr inbounds ptr, ptr %t4114, i32 %t4102 store ptr @.str7691, ptr %t4115 %t4116 = add i32 %t4102, 1 store i32 %t4116, ptr %t4099 %t4117 = load ptr, ptr %t410 %t4118 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 1 %t4119 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 2 %t4120 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 0 %t4121 = load i32, ptr %t4118 %t4122 = load i32, ptr %t4119 %t4123 = icmp sge i32 %t4121, %t4122 br i1 %t4123, label %grow823, label %put824 grow823: %t4124 = mul i32 %t4122, 2 %t4125 = icmp eq i32 %t4122, 0 %t4126 = select i1 %t4125, i32 8, i32 %t4124 %t4127 = getelementptr ptr, ptr null, i32 1 %t4128 = ptrtoint ptr %t4127 to i64 %t4129 = zext i32 %t4126 to i64 %t4130 = mul i64 %t4129, %t4128 %t4131 = load ptr, ptr %t4120 %t4132 = call ptr @realloc(ptr %t4131, i64 %t4130) store ptr %t4132, ptr %t4120 store i32 %t4126, ptr %t4119 br label %put824 put824: %t4133 = load ptr, ptr %t4120 %t4134 = getelementptr inbounds ptr, ptr %t4133, i32 %t4121 store ptr @.str7692, ptr %t4134 %t4135 = add i32 %t4121, 1 store i32 %t4135, ptr %t4118 br label %ifend820 ifend820: %t4136 = load ptr, ptr %t1 %t4137 = call i32 @lp_str_eq(ptr %t4136, ptr @.str7693) %t4138 = icmp ne i32 %t4137, 0 br i1 %t4138, label %then825, label %ifend827 then825: store ptr @.str7694, ptr %t403 %t4139 = load ptr, ptr %t410 %t4140 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 1 %t4141 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 2 %t4142 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 0 %t4143 = load i32, ptr %t4140 %t4144 = load i32, ptr %t4141 %t4145 = icmp sge i32 %t4143, %t4144 br i1 %t4145, label %grow828, label %put829 grow828: %t4146 = mul i32 %t4144, 2 %t4147 = icmp eq i32 %t4144, 0 %t4148 = select i1 %t4147, i32 8, i32 %t4146 %t4149 = getelementptr ptr, ptr null, i32 1 %t4150 = ptrtoint ptr %t4149 to i64 %t4151 = zext i32 %t4148 to i64 %t4152 = mul i64 %t4151, %t4150 %t4153 = load ptr, ptr %t4142 %t4154 = call ptr @realloc(ptr %t4153, i64 %t4152) store ptr %t4154, ptr %t4142 store i32 %t4148, ptr %t4141 br label %put829 put829: %t4155 = load ptr, ptr %t4142 %t4156 = getelementptr inbounds ptr, ptr %t4155, i32 %t4143 store ptr @.str7695, ptr %t4156 %t4157 = add i32 %t4143, 1 store i32 %t4157, ptr %t4140 %t4158 = load ptr, ptr %t410 %t4159 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 1 %t4160 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 2 %t4161 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 0 %t4162 = load i32, ptr %t4159 %t4163 = load i32, ptr %t4160 %t4164 = icmp sge i32 %t4162, %t4163 br i1 %t4164, label %grow830, label %put831 grow830: %t4165 = mul i32 %t4163, 2 %t4166 = icmp eq i32 %t4163, 0 %t4167 = select i1 %t4166, i32 8, i32 %t4165 %t4168 = getelementptr ptr, ptr null, i32 1 %t4169 = ptrtoint ptr %t4168 to i64 %t4170 = zext i32 %t4167 to i64 %t4171 = mul i64 %t4170, %t4169 %t4172 = load ptr, ptr %t4161 %t4173 = call ptr @realloc(ptr %t4172, i64 %t4171) store ptr %t4173, ptr %t4161 store i32 %t4167, ptr %t4160 br label %put831 put831: %t4174 = load ptr, ptr %t4161 %t4175 = getelementptr inbounds ptr, ptr %t4174, i32 %t4162 store ptr @.str7696, ptr %t4175 %t4176 = add i32 %t4162, 1 store i32 %t4176, ptr %t4159 %t4177 = load ptr, ptr %t410 %t4178 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 1 %t4179 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 2 %t4180 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 0 %t4181 = load i32, ptr %t4178 %t4182 = load i32, ptr %t4179 %t4183 = icmp sge i32 %t4181, %t4182 br i1 %t4183, label %grow832, label %put833 grow832: %t4184 = mul i32 %t4182, 2 %t4185 = icmp eq i32 %t4182, 0 %t4186 = select i1 %t4185, i32 8, i32 %t4184 %t4187 = getelementptr ptr, ptr null, i32 1 %t4188 = ptrtoint ptr %t4187 to i64 %t4189 = zext i32 %t4186 to i64 %t4190 = mul i64 %t4189, %t4188 %t4191 = load ptr, ptr %t4180 %t4192 = call ptr @realloc(ptr %t4191, i64 %t4190) store ptr %t4192, ptr %t4180 store i32 %t4186, ptr %t4179 br label %put833 put833: %t4193 = load ptr, ptr %t4180 %t4194 = getelementptr inbounds ptr, ptr %t4193, i32 %t4181 store ptr @.str7697, ptr %t4194 %t4195 = add i32 %t4181, 1 store i32 %t4195, ptr %t4178 br label %ifend827 ifend827: %t4196 = load ptr, ptr %t1 %t4197 = call i32 @lp_str_eq(ptr %t4196, ptr @.str7698) %t4198 = icmp ne i32 %t4197, 0 br i1 %t4198, label %then834, label %ifend836 then834: store ptr @.str7699, ptr %t403 %t4199 = load ptr, ptr %t410 %t4200 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 1 %t4201 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 2 %t4202 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 0 %t4203 = load i32, ptr %t4200 %t4204 = load i32, ptr %t4201 %t4205 = icmp sge i32 %t4203, %t4204 br i1 %t4205, label %grow837, label %put838 grow837: %t4206 = mul i32 %t4204, 2 %t4207 = icmp eq i32 %t4204, 0 %t4208 = select i1 %t4207, i32 8, i32 %t4206 %t4209 = getelementptr ptr, ptr null, i32 1 %t4210 = ptrtoint ptr %t4209 to i64 %t4211 = zext i32 %t4208 to i64 %t4212 = mul i64 %t4211, %t4210 %t4213 = load ptr, ptr %t4202 %t4214 = call ptr @realloc(ptr %t4213, i64 %t4212) store ptr %t4214, ptr %t4202 store i32 %t4208, ptr %t4201 br label %put838 put838: %t4215 = load ptr, ptr %t4202 %t4216 = getelementptr inbounds ptr, ptr %t4215, i32 %t4203 store ptr @.str7700, ptr %t4216 %t4217 = add i32 %t4203, 1 store i32 %t4217, ptr %t4200 br label %ifend836 ifend836: %t4218 = load ptr, ptr %t1 %t4219 = call i32 @lp_str_eq(ptr %t4218, ptr @.str7701) %t4220 = icmp ne i32 %t4219, 0 br i1 %t4220, label %then839, label %ifend841 then839: store ptr @.str7702, ptr %t403 %t4221 = load ptr, ptr %t410 %t4222 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 1 %t4223 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 2 %t4224 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 0 %t4225 = load i32, ptr %t4222 %t4226 = load i32, ptr %t4223 %t4227 = icmp sge i32 %t4225, %t4226 br i1 %t4227, label %grow842, label %put843 grow842: %t4228 = mul i32 %t4226, 2 %t4229 = icmp eq i32 %t4226, 0 %t4230 = select i1 %t4229, i32 8, i32 %t4228 %t4231 = getelementptr ptr, ptr null, i32 1 %t4232 = ptrtoint ptr %t4231 to i64 %t4233 = zext i32 %t4230 to i64 %t4234 = mul i64 %t4233, %t4232 %t4235 = load ptr, ptr %t4224 %t4236 = call ptr @realloc(ptr %t4235, i64 %t4234) store ptr %t4236, ptr %t4224 store i32 %t4230, ptr %t4223 br label %put843 put843: %t4237 = load ptr, ptr %t4224 %t4238 = getelementptr inbounds ptr, ptr %t4237, i32 %t4225 store ptr @.str7703, ptr %t4238 %t4239 = add i32 %t4225, 1 store i32 %t4239, ptr %t4222 %t4240 = load ptr, ptr %t410 %t4241 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 1 %t4242 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 2 %t4243 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 0 %t4244 = load i32, ptr %t4241 %t4245 = load i32, ptr %t4242 %t4246 = icmp sge i32 %t4244, %t4245 br i1 %t4246, label %grow844, label %put845 grow844: %t4247 = mul i32 %t4245, 2 %t4248 = icmp eq i32 %t4245, 0 %t4249 = select i1 %t4248, i32 8, i32 %t4247 %t4250 = getelementptr ptr, ptr null, i32 1 %t4251 = ptrtoint ptr %t4250 to i64 %t4252 = zext i32 %t4249 to i64 %t4253 = mul i64 %t4252, %t4251 %t4254 = load ptr, ptr %t4243 %t4255 = call ptr @realloc(ptr %t4254, i64 %t4253) store ptr %t4255, ptr %t4243 store i32 %t4249, ptr %t4242 br label %put845 put845: %t4256 = load ptr, ptr %t4243 %t4257 = getelementptr inbounds ptr, ptr %t4256, i32 %t4244 store ptr @.str7704, ptr %t4257 %t4258 = add i32 %t4244, 1 store i32 %t4258, ptr %t4241 %t4259 = load ptr, ptr %t410 %t4260 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 1 %t4261 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 2 %t4262 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 0 %t4263 = load i32, ptr %t4260 %t4264 = load i32, ptr %t4261 %t4265 = icmp sge i32 %t4263, %t4264 br i1 %t4265, label %grow846, label %put847 grow846: %t4266 = mul i32 %t4264, 2 %t4267 = icmp eq i32 %t4264, 0 %t4268 = select i1 %t4267, i32 8, i32 %t4266 %t4269 = getelementptr ptr, ptr null, i32 1 %t4270 = ptrtoint ptr %t4269 to i64 %t4271 = zext i32 %t4268 to i64 %t4272 = mul i64 %t4271, %t4270 %t4273 = load ptr, ptr %t4262 %t4274 = call ptr @realloc(ptr %t4273, i64 %t4272) store ptr %t4274, ptr %t4262 store i32 %t4268, ptr %t4261 br label %put847 put847: %t4275 = load ptr, ptr %t4262 %t4276 = getelementptr inbounds ptr, ptr %t4275, i32 %t4263 store ptr @.str7705, ptr %t4276 %t4277 = add i32 %t4263, 1 store i32 %t4277, ptr %t4260 %t4278 = load ptr, ptr %t410 %t4279 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 1 %t4280 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 2 %t4281 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 0 %t4282 = load i32, ptr %t4279 %t4283 = load i32, ptr %t4280 %t4284 = icmp sge i32 %t4282, %t4283 br i1 %t4284, label %grow848, label %put849 grow848: %t4285 = mul i32 %t4283, 2 %t4286 = icmp eq i32 %t4283, 0 %t4287 = select i1 %t4286, i32 8, i32 %t4285 %t4288 = getelementptr ptr, ptr null, i32 1 %t4289 = ptrtoint ptr %t4288 to i64 %t4290 = zext i32 %t4287 to i64 %t4291 = mul i64 %t4290, %t4289 %t4292 = load ptr, ptr %t4281 %t4293 = call ptr @realloc(ptr %t4292, i64 %t4291) store ptr %t4293, ptr %t4281 store i32 %t4287, ptr %t4280 br label %put849 put849: %t4294 = load ptr, ptr %t4281 %t4295 = getelementptr inbounds ptr, ptr %t4294, i32 %t4282 store ptr @.str7706, ptr %t4295 %t4296 = add i32 %t4282, 1 store i32 %t4296, ptr %t4279 %t4297 = load ptr, ptr %t410 %t4298 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 1 %t4299 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 2 %t4300 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 0 %t4301 = load i32, ptr %t4298 %t4302 = load i32, ptr %t4299 %t4303 = icmp sge i32 %t4301, %t4302 br i1 %t4303, label %grow850, label %put851 grow850: %t4304 = mul i32 %t4302, 2 %t4305 = icmp eq i32 %t4302, 0 %t4306 = select i1 %t4305, i32 8, i32 %t4304 %t4307 = getelementptr ptr, ptr null, i32 1 %t4308 = ptrtoint ptr %t4307 to i64 %t4309 = zext i32 %t4306 to i64 %t4310 = mul i64 %t4309, %t4308 %t4311 = load ptr, ptr %t4300 %t4312 = call ptr @realloc(ptr %t4311, i64 %t4310) store ptr %t4312, ptr %t4300 store i32 %t4306, ptr %t4299 br label %put851 put851: %t4313 = load ptr, ptr %t4300 %t4314 = getelementptr inbounds ptr, ptr %t4313, i32 %t4301 store ptr @.str7707, ptr %t4314 %t4315 = add i32 %t4301, 1 store i32 %t4315, ptr %t4298 br label %ifend841 ifend841: %t4316 = load ptr, ptr %t1 %t4317 = call i32 @lp_str_eq(ptr %t4316, ptr @.str7708) %t4318 = icmp ne i32 %t4317, 0 br i1 %t4318, label %then852, label %ifend854 then852: store ptr @.str7709, ptr %t403 %t4319 = load ptr, ptr %t410 %t4320 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 1 %t4321 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 2 %t4322 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 0 %t4323 = load i32, ptr %t4320 %t4324 = load i32, ptr %t4321 %t4325 = icmp sge i32 %t4323, %t4324 br i1 %t4325, label %grow855, label %put856 grow855: %t4326 = mul i32 %t4324, 2 %t4327 = icmp eq i32 %t4324, 0 %t4328 = select i1 %t4327, i32 8, i32 %t4326 %t4329 = getelementptr ptr, ptr null, i32 1 %t4330 = ptrtoint ptr %t4329 to i64 %t4331 = zext i32 %t4328 to i64 %t4332 = mul i64 %t4331, %t4330 %t4333 = load ptr, ptr %t4322 %t4334 = call ptr @realloc(ptr %t4333, i64 %t4332) store ptr %t4334, ptr %t4322 store i32 %t4328, ptr %t4321 br label %put856 put856: %t4335 = load ptr, ptr %t4322 %t4336 = getelementptr inbounds ptr, ptr %t4335, i32 %t4323 store ptr @.str7710, ptr %t4336 %t4337 = add i32 %t4323, 1 store i32 %t4337, ptr %t4320 br label %ifend854 ifend854: %t4338 = load ptr, ptr %t1 %t4339 = call i32 @lp_str_eq(ptr %t4338, ptr @.str7711) %t4340 = icmp ne i32 %t4339, 0 br i1 %t4340, label %then857, label %ifend859 then857: store ptr @.str7712, ptr %t403 %t4341 = load ptr, ptr %t410 %t4342 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 1 %t4343 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 2 %t4344 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 0 %t4345 = load i32, ptr %t4342 %t4346 = load i32, ptr %t4343 %t4347 = icmp sge i32 %t4345, %t4346 br i1 %t4347, label %grow860, label %put861 grow860: %t4348 = mul i32 %t4346, 2 %t4349 = icmp eq i32 %t4346, 0 %t4350 = select i1 %t4349, i32 8, i32 %t4348 %t4351 = getelementptr ptr, ptr null, i32 1 %t4352 = ptrtoint ptr %t4351 to i64 %t4353 = zext i32 %t4350 to i64 %t4354 = mul i64 %t4353, %t4352 %t4355 = load ptr, ptr %t4344 %t4356 = call ptr @realloc(ptr %t4355, i64 %t4354) store ptr %t4356, ptr %t4344 store i32 %t4350, ptr %t4343 br label %put861 put861: %t4357 = load ptr, ptr %t4344 %t4358 = getelementptr inbounds ptr, ptr %t4357, i32 %t4345 store ptr @.str7713, ptr %t4358 %t4359 = add i32 %t4345, 1 store i32 %t4359, ptr %t4342 br label %ifend859 ifend859: %t4360 = load ptr, ptr %t1 %t4361 = call i32 @lp_str_eq(ptr %t4360, ptr @.str7714) %t4362 = icmp ne i32 %t4361, 0 br i1 %t4362, label %then862, label %ifend864 then862: store ptr @.str7715, ptr %t403 %t4363 = load ptr, ptr %t410 %t4364 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 1 %t4365 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 2 %t4366 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 0 %t4367 = load i32, ptr %t4364 %t4368 = load i32, ptr %t4365 %t4369 = icmp sge i32 %t4367, %t4368 br i1 %t4369, label %grow865, label %put866 grow865: %t4370 = mul i32 %t4368, 2 %t4371 = icmp eq i32 %t4368, 0 %t4372 = select i1 %t4371, i32 8, i32 %t4370 %t4373 = getelementptr ptr, ptr null, i32 1 %t4374 = ptrtoint ptr %t4373 to i64 %t4375 = zext i32 %t4372 to i64 %t4376 = mul i64 %t4375, %t4374 %t4377 = load ptr, ptr %t4366 %t4378 = call ptr @realloc(ptr %t4377, i64 %t4376) store ptr %t4378, ptr %t4366 store i32 %t4372, ptr %t4365 br label %put866 put866: %t4379 = load ptr, ptr %t4366 %t4380 = getelementptr inbounds ptr, ptr %t4379, i32 %t4367 store ptr @.str7716, ptr %t4380 %t4381 = add i32 %t4367, 1 store i32 %t4381, ptr %t4364 %t4382 = load ptr, ptr %t410 %t4383 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 1 %t4384 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 2 %t4385 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 0 %t4386 = load i32, ptr %t4383 %t4387 = load i32, ptr %t4384 %t4388 = icmp sge i32 %t4386, %t4387 br i1 %t4388, label %grow867, label %put868 grow867: %t4389 = mul i32 %t4387, 2 %t4390 = icmp eq i32 %t4387, 0 %t4391 = select i1 %t4390, i32 8, i32 %t4389 %t4392 = getelementptr ptr, ptr null, i32 1 %t4393 = ptrtoint ptr %t4392 to i64 %t4394 = zext i32 %t4391 to i64 %t4395 = mul i64 %t4394, %t4393 %t4396 = load ptr, ptr %t4385 %t4397 = call ptr @realloc(ptr %t4396, i64 %t4395) store ptr %t4397, ptr %t4385 store i32 %t4391, ptr %t4384 br label %put868 put868: %t4398 = load ptr, ptr %t4385 %t4399 = getelementptr inbounds ptr, ptr %t4398, i32 %t4386 store ptr @.str7717, ptr %t4399 %t4400 = add i32 %t4386, 1 store i32 %t4400, ptr %t4383 %t4401 = load ptr, ptr %t410 %t4402 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 1 %t4403 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 2 %t4404 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 0 %t4405 = load i32, ptr %t4402 %t4406 = load i32, ptr %t4403 %t4407 = icmp sge i32 %t4405, %t4406 br i1 %t4407, label %grow869, label %put870 grow869: %t4408 = mul i32 %t4406, 2 %t4409 = icmp eq i32 %t4406, 0 %t4410 = select i1 %t4409, i32 8, i32 %t4408 %t4411 = getelementptr ptr, ptr null, i32 1 %t4412 = ptrtoint ptr %t4411 to i64 %t4413 = zext i32 %t4410 to i64 %t4414 = mul i64 %t4413, %t4412 %t4415 = load ptr, ptr %t4404 %t4416 = call ptr @realloc(ptr %t4415, i64 %t4414) store ptr %t4416, ptr %t4404 store i32 %t4410, ptr %t4403 br label %put870 put870: %t4417 = load ptr, ptr %t4404 %t4418 = getelementptr inbounds ptr, ptr %t4417, i32 %t4405 store ptr @.str7718, ptr %t4418 %t4419 = add i32 %t4405, 1 store i32 %t4419, ptr %t4402 br label %ifend864 ifend864: %t4420 = load ptr, ptr %t1 %t4421 = call i32 @lp_str_eq(ptr %t4420, ptr @.str7719) %t4422 = icmp ne i32 %t4421, 0 br i1 %t4422, label %then871, label %ifend873 then871: store ptr @.str7720, ptr %t403 %t4423 = load ptr, ptr %t410 %t4424 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 1 %t4425 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 2 %t4426 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 0 %t4427 = load i32, ptr %t4424 %t4428 = load i32, ptr %t4425 %t4429 = icmp sge i32 %t4427, %t4428 br i1 %t4429, label %grow874, label %put875 grow874: %t4430 = mul i32 %t4428, 2 %t4431 = icmp eq i32 %t4428, 0 %t4432 = select i1 %t4431, i32 8, i32 %t4430 %t4433 = getelementptr ptr, ptr null, i32 1 %t4434 = ptrtoint ptr %t4433 to i64 %t4435 = zext i32 %t4432 to i64 %t4436 = mul i64 %t4435, %t4434 %t4437 = load ptr, ptr %t4426 %t4438 = call ptr @realloc(ptr %t4437, i64 %t4436) store ptr %t4438, ptr %t4426 store i32 %t4432, ptr %t4425 br label %put875 put875: %t4439 = load ptr, ptr %t4426 %t4440 = getelementptr inbounds ptr, ptr %t4439, i32 %t4427 store ptr @.str7721, ptr %t4440 %t4441 = add i32 %t4427, 1 store i32 %t4441, ptr %t4424 %t4442 = load ptr, ptr %t410 %t4443 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 1 %t4444 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 2 %t4445 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 0 %t4446 = load i32, ptr %t4443 %t4447 = load i32, ptr %t4444 %t4448 = icmp sge i32 %t4446, %t4447 br i1 %t4448, label %grow876, label %put877 grow876: %t4449 = mul i32 %t4447, 2 %t4450 = icmp eq i32 %t4447, 0 %t4451 = select i1 %t4450, i32 8, i32 %t4449 %t4452 = getelementptr ptr, ptr null, i32 1 %t4453 = ptrtoint ptr %t4452 to i64 %t4454 = zext i32 %t4451 to i64 %t4455 = mul i64 %t4454, %t4453 %t4456 = load ptr, ptr %t4445 %t4457 = call ptr @realloc(ptr %t4456, i64 %t4455) store ptr %t4457, ptr %t4445 store i32 %t4451, ptr %t4444 br label %put877 put877: %t4458 = load ptr, ptr %t4445 %t4459 = getelementptr inbounds ptr, ptr %t4458, i32 %t4446 store ptr @.str7722, ptr %t4459 %t4460 = add i32 %t4446, 1 store i32 %t4460, ptr %t4443 br label %ifend873 ifend873: %t4461 = load ptr, ptr %t1 %t4462 = call i32 @lp_str_eq(ptr %t4461, ptr @.str7723) %t4463 = icmp ne i32 %t4462, 0 br i1 %t4463, label %then878, label %ifend880 then878: store ptr @.str7724, ptr %t403 %t4464 = load ptr, ptr %t410 %t4465 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 1 %t4466 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 2 %t4467 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 0 %t4468 = load i32, ptr %t4465 %t4469 = load i32, ptr %t4466 %t4470 = icmp sge i32 %t4468, %t4469 br i1 %t4470, label %grow881, label %put882 grow881: %t4471 = mul i32 %t4469, 2 %t4472 = icmp eq i32 %t4469, 0 %t4473 = select i1 %t4472, i32 8, i32 %t4471 %t4474 = getelementptr ptr, ptr null, i32 1 %t4475 = ptrtoint ptr %t4474 to i64 %t4476 = zext i32 %t4473 to i64 %t4477 = mul i64 %t4476, %t4475 %t4478 = load ptr, ptr %t4467 %t4479 = call ptr @realloc(ptr %t4478, i64 %t4477) store ptr %t4479, ptr %t4467 store i32 %t4473, ptr %t4466 br label %put882 put882: %t4480 = load ptr, ptr %t4467 %t4481 = getelementptr inbounds ptr, ptr %t4480, i32 %t4468 store ptr @.str7725, ptr %t4481 %t4482 = add i32 %t4468, 1 store i32 %t4482, ptr %t4465 %t4483 = load ptr, ptr %t410 %t4484 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 1 %t4485 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 2 %t4486 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 0 %t4487 = load i32, ptr %t4484 %t4488 = load i32, ptr %t4485 %t4489 = icmp sge i32 %t4487, %t4488 br i1 %t4489, label %grow883, label %put884 grow883: %t4490 = mul i32 %t4488, 2 %t4491 = icmp eq i32 %t4488, 0 %t4492 = select i1 %t4491, i32 8, i32 %t4490 %t4493 = getelementptr ptr, ptr null, i32 1 %t4494 = ptrtoint ptr %t4493 to i64 %t4495 = zext i32 %t4492 to i64 %t4496 = mul i64 %t4495, %t4494 %t4497 = load ptr, ptr %t4486 %t4498 = call ptr @realloc(ptr %t4497, i64 %t4496) store ptr %t4498, ptr %t4486 store i32 %t4492, ptr %t4485 br label %put884 put884: %t4499 = load ptr, ptr %t4486 %t4500 = getelementptr inbounds ptr, ptr %t4499, i32 %t4487 store ptr @.str7726, ptr %t4500 %t4501 = add i32 %t4487, 1 store i32 %t4501, ptr %t4484 br label %ifend880 ifend880: %t4502 = load ptr, ptr %t1 %t4503 = call i32 @lp_str_eq(ptr %t4502, ptr @.str7727) %t4504 = icmp ne i32 %t4503, 0 br i1 %t4504, label %then885, label %ifend887 then885: store ptr @.str7728, ptr %t403 %t4505 = load ptr, ptr %t410 %t4506 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 1 %t4507 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 2 %t4508 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 0 %t4509 = load i32, ptr %t4506 %t4510 = load i32, ptr %t4507 %t4511 = icmp sge i32 %t4509, %t4510 br i1 %t4511, label %grow888, label %put889 grow888: %t4512 = mul i32 %t4510, 2 %t4513 = icmp eq i32 %t4510, 0 %t4514 = select i1 %t4513, i32 8, i32 %t4512 %t4515 = getelementptr ptr, ptr null, i32 1 %t4516 = ptrtoint ptr %t4515 to i64 %t4517 = zext i32 %t4514 to i64 %t4518 = mul i64 %t4517, %t4516 %t4519 = load ptr, ptr %t4508 %t4520 = call ptr @realloc(ptr %t4519, i64 %t4518) store ptr %t4520, ptr %t4508 store i32 %t4514, ptr %t4507 br label %put889 put889: %t4521 = load ptr, ptr %t4508 %t4522 = getelementptr inbounds ptr, ptr %t4521, i32 %t4509 store ptr @.str7729, ptr %t4522 %t4523 = add i32 %t4509, 1 store i32 %t4523, ptr %t4506 br label %ifend887 ifend887: %t4524 = load ptr, ptr %t1 %t4525 = call i32 @lp_str_eq(ptr %t4524, ptr @.str7730) %t4526 = icmp ne i32 %t4525, 0 br i1 %t4526, label %then890, label %ifend892 then890: store ptr @.str7731, ptr %t403 br label %ifend892 ifend892: %t4527 = load ptr, ptr %t1 %t4528 = call i32 @lp_str_eq(ptr %t4527, ptr @.str7732) %t4529 = icmp ne i32 %t4528, 0 br i1 %t4529, label %then893, label %ifend895 then893: store ptr @.str7733, ptr %t403 br label %ifend895 ifend895: br label %ifend796 ifend796: %t4530 = load ptr, ptr %t0 %t4531 = call i32 @lp_str_eq(ptr %t4530, ptr @.str7734) %t4532 = icmp ne i32 %t4531, 0 br i1 %t4532, label %then896, label %ifend898 then896: %t4533 = load ptr, ptr %t1 %t4534 = call i32 @lp_str_eq(ptr %t4533, ptr @.str7735) %t4535 = icmp ne i32 %t4534, 0 br i1 %t4535, label %then899, label %ifend901 then899: store ptr @.str7736, ptr %t403 %t4536 = load ptr, ptr %t410 %t4537 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 1 %t4538 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 2 %t4539 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 0 %t4540 = load i32, ptr %t4537 %t4541 = load i32, ptr %t4538 %t4542 = icmp sge i32 %t4540, %t4541 br i1 %t4542, label %grow902, label %put903 grow902: %t4543 = mul i32 %t4541, 2 %t4544 = icmp eq i32 %t4541, 0 %t4545 = select i1 %t4544, i32 8, i32 %t4543 %t4546 = getelementptr ptr, ptr null, i32 1 %t4547 = ptrtoint ptr %t4546 to i64 %t4548 = zext i32 %t4545 to i64 %t4549 = mul i64 %t4548, %t4547 %t4550 = load ptr, ptr %t4539 %t4551 = call ptr @realloc(ptr %t4550, i64 %t4549) store ptr %t4551, ptr %t4539 store i32 %t4545, ptr %t4538 br label %put903 put903: %t4552 = load ptr, ptr %t4539 %t4553 = getelementptr inbounds ptr, ptr %t4552, i32 %t4540 store ptr @.str7737, ptr %t4553 %t4554 = add i32 %t4540, 1 store i32 %t4554, ptr %t4537 %t4555 = load ptr, ptr %t410 %t4556 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 1 %t4557 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 2 %t4558 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 0 %t4559 = load i32, ptr %t4556 %t4560 = load i32, ptr %t4557 %t4561 = icmp sge i32 %t4559, %t4560 br i1 %t4561, label %grow904, label %put905 grow904: %t4562 = mul i32 %t4560, 2 %t4563 = icmp eq i32 %t4560, 0 %t4564 = select i1 %t4563, i32 8, i32 %t4562 %t4565 = getelementptr ptr, ptr null, i32 1 %t4566 = ptrtoint ptr %t4565 to i64 %t4567 = zext i32 %t4564 to i64 %t4568 = mul i64 %t4567, %t4566 %t4569 = load ptr, ptr %t4558 %t4570 = call ptr @realloc(ptr %t4569, i64 %t4568) store ptr %t4570, ptr %t4558 store i32 %t4564, ptr %t4557 br label %put905 put905: %t4571 = load ptr, ptr %t4558 %t4572 = getelementptr inbounds ptr, ptr %t4571, i32 %t4559 store ptr @.str7738, ptr %t4572 %t4573 = add i32 %t4559, 1 store i32 %t4573, ptr %t4556 br label %ifend901 ifend901: %t4574 = load ptr, ptr %t1 %t4575 = call i32 @lp_str_eq(ptr %t4574, ptr @.str7739) %t4576 = icmp ne i32 %t4575, 0 br i1 %t4576, label %then906, label %ifend908 then906: store ptr @.str7740, ptr %t403 %t4577 = load ptr, ptr %t410 %t4578 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 1 %t4579 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 2 %t4580 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 0 %t4581 = load i32, ptr %t4578 %t4582 = load i32, ptr %t4579 %t4583 = icmp sge i32 %t4581, %t4582 br i1 %t4583, label %grow909, label %put910 grow909: %t4584 = mul i32 %t4582, 2 %t4585 = icmp eq i32 %t4582, 0 %t4586 = select i1 %t4585, i32 8, i32 %t4584 %t4587 = getelementptr ptr, ptr null, i32 1 %t4588 = ptrtoint ptr %t4587 to i64 %t4589 = zext i32 %t4586 to i64 %t4590 = mul i64 %t4589, %t4588 %t4591 = load ptr, ptr %t4580 %t4592 = call ptr @realloc(ptr %t4591, i64 %t4590) store ptr %t4592, ptr %t4580 store i32 %t4586, ptr %t4579 br label %put910 put910: %t4593 = load ptr, ptr %t4580 %t4594 = getelementptr inbounds ptr, ptr %t4593, i32 %t4581 store ptr @.str7741, ptr %t4594 %t4595 = add i32 %t4581, 1 store i32 %t4595, ptr %t4578 br label %ifend908 ifend908: %t4596 = load ptr, ptr %t1 %t4597 = call i32 @lp_str_eq(ptr %t4596, ptr @.str7742) %t4598 = icmp ne i32 %t4597, 0 br i1 %t4598, label %then911, label %ifend913 then911: store ptr @.str7743, ptr %t403 %t4599 = load ptr, ptr %t410 %t4600 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 1 %t4601 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 2 %t4602 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 0 %t4603 = load i32, ptr %t4600 %t4604 = load i32, ptr %t4601 %t4605 = icmp sge i32 %t4603, %t4604 br i1 %t4605, label %grow914, label %put915 grow914: %t4606 = mul i32 %t4604, 2 %t4607 = icmp eq i32 %t4604, 0 %t4608 = select i1 %t4607, i32 8, i32 %t4606 %t4609 = getelementptr ptr, ptr null, i32 1 %t4610 = ptrtoint ptr %t4609 to i64 %t4611 = zext i32 %t4608 to i64 %t4612 = mul i64 %t4611, %t4610 %t4613 = load ptr, ptr %t4602 %t4614 = call ptr @realloc(ptr %t4613, i64 %t4612) store ptr %t4614, ptr %t4602 store i32 %t4608, ptr %t4601 br label %put915 put915: %t4615 = load ptr, ptr %t4602 %t4616 = getelementptr inbounds ptr, ptr %t4615, i32 %t4603 store ptr @.str7744, ptr %t4616 %t4617 = add i32 %t4603, 1 store i32 %t4617, ptr %t4600 br label %ifend913 ifend913: %t4618 = load ptr, ptr %t1 %t4619 = call i32 @lp_str_eq(ptr %t4618, ptr @.str7745) %t4620 = icmp ne i32 %t4619, 0 br i1 %t4620, label %then916, label %ifend918 then916: store ptr @.str7746, ptr %t403 %t4621 = load ptr, ptr %t410 %t4622 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 1 %t4623 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 2 %t4624 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 0 %t4625 = load i32, ptr %t4622 %t4626 = load i32, ptr %t4623 %t4627 = icmp sge i32 %t4625, %t4626 br i1 %t4627, label %grow919, label %put920 grow919: %t4628 = mul i32 %t4626, 2 %t4629 = icmp eq i32 %t4626, 0 %t4630 = select i1 %t4629, i32 8, i32 %t4628 %t4631 = getelementptr ptr, ptr null, i32 1 %t4632 = ptrtoint ptr %t4631 to i64 %t4633 = zext i32 %t4630 to i64 %t4634 = mul i64 %t4633, %t4632 %t4635 = load ptr, ptr %t4624 %t4636 = call ptr @realloc(ptr %t4635, i64 %t4634) store ptr %t4636, ptr %t4624 store i32 %t4630, ptr %t4623 br label %put920 put920: %t4637 = load ptr, ptr %t4624 %t4638 = getelementptr inbounds ptr, ptr %t4637, i32 %t4625 store ptr @.str7747, ptr %t4638 %t4639 = add i32 %t4625, 1 store i32 %t4639, ptr %t4622 br label %ifend918 ifend918: %t4640 = load ptr, ptr %t1 %t4641 = call i32 @lp_str_eq(ptr %t4640, ptr @.str7748) %t4642 = icmp ne i32 %t4641, 0 br i1 %t4642, label %then921, label %ifend923 then921: store ptr @.str7749, ptr %t403 br label %ifend923 ifend923: %t4643 = load ptr, ptr %t1 %t4644 = call i32 @lp_str_eq(ptr %t4643, ptr @.str7750) %t4645 = icmp ne i32 %t4644, 0 br i1 %t4645, label %then924, label %ifend926 then924: store ptr @.str7751, ptr %t403 %t4646 = load ptr, ptr %t410 %t4647 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 1 %t4648 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 2 %t4649 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 0 %t4650 = load i32, ptr %t4647 %t4651 = load i32, ptr %t4648 %t4652 = icmp sge i32 %t4650, %t4651 br i1 %t4652, label %grow927, label %put928 grow927: %t4653 = mul i32 %t4651, 2 %t4654 = icmp eq i32 %t4651, 0 %t4655 = select i1 %t4654, i32 8, i32 %t4653 %t4656 = getelementptr ptr, ptr null, i32 1 %t4657 = ptrtoint ptr %t4656 to i64 %t4658 = zext i32 %t4655 to i64 %t4659 = mul i64 %t4658, %t4657 %t4660 = load ptr, ptr %t4649 %t4661 = call ptr @realloc(ptr %t4660, i64 %t4659) store ptr %t4661, ptr %t4649 store i32 %t4655, ptr %t4648 br label %put928 put928: %t4662 = load ptr, ptr %t4649 %t4663 = getelementptr inbounds ptr, ptr %t4662, i32 %t4650 store ptr @.str7752, ptr %t4663 %t4664 = add i32 %t4650, 1 store i32 %t4664, ptr %t4647 br label %ifend926 ifend926: %t4665 = load ptr, ptr %t1 %t4666 = call i32 @lp_str_eq(ptr %t4665, ptr @.str7753) %t4667 = icmp ne i32 %t4666, 0 br i1 %t4667, label %then929, label %ifend931 then929: store ptr @.str7754, ptr %t403 br label %ifend931 ifend931: br label %ifend898 ifend898: %t4668 = load ptr, ptr %t0 %t4669 = call i32 @lp_str_eq(ptr %t4668, ptr @.str7755) %t4670 = icmp ne i32 %t4669, 0 br i1 %t4670, label %then932, label %ifend934 then932: %t4671 = load ptr, ptr %t1 %t4672 = call i32 @lp_str_eq(ptr %t4671, ptr @.str7756) %t4673 = icmp ne i32 %t4672, 0 br i1 %t4673, label %then935, label %ifend937 then935: store ptr @.str7757, ptr %t403 br label %ifend937 ifend937: %t4674 = load ptr, ptr %t1 %t4675 = call i32 @lp_str_eq(ptr %t4674, ptr @.str7758) %t4676 = icmp ne i32 %t4675, 0 br i1 %t4676, label %then938, label %ifend940 then938: store ptr @.str7759, ptr %t403 %t4677 = load ptr, ptr %t410 %t4678 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 1 %t4679 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 2 %t4680 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 0 %t4681 = load i32, ptr %t4678 %t4682 = load i32, ptr %t4679 %t4683 = icmp sge i32 %t4681, %t4682 br i1 %t4683, label %grow941, label %put942 grow941: %t4684 = mul i32 %t4682, 2 %t4685 = icmp eq i32 %t4682, 0 %t4686 = select i1 %t4685, i32 8, i32 %t4684 %t4687 = getelementptr ptr, ptr null, i32 1 %t4688 = ptrtoint ptr %t4687 to i64 %t4689 = zext i32 %t4686 to i64 %t4690 = mul i64 %t4689, %t4688 %t4691 = load ptr, ptr %t4680 %t4692 = call ptr @realloc(ptr %t4691, i64 %t4690) store ptr %t4692, ptr %t4680 store i32 %t4686, ptr %t4679 br label %put942 put942: %t4693 = load ptr, ptr %t4680 %t4694 = getelementptr inbounds ptr, ptr %t4693, i32 %t4681 store ptr @.str7760, ptr %t4694 %t4695 = add i32 %t4681, 1 store i32 %t4695, ptr %t4678 %t4696 = load ptr, ptr %t410 %t4697 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 1 %t4698 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 2 %t4699 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 0 %t4700 = load i32, ptr %t4697 %t4701 = load i32, ptr %t4698 %t4702 = icmp sge i32 %t4700, %t4701 br i1 %t4702, label %grow943, label %put944 grow943: %t4703 = mul i32 %t4701, 2 %t4704 = icmp eq i32 %t4701, 0 %t4705 = select i1 %t4704, i32 8, i32 %t4703 %t4706 = getelementptr ptr, ptr null, i32 1 %t4707 = ptrtoint ptr %t4706 to i64 %t4708 = zext i32 %t4705 to i64 %t4709 = mul i64 %t4708, %t4707 %t4710 = load ptr, ptr %t4699 %t4711 = call ptr @realloc(ptr %t4710, i64 %t4709) store ptr %t4711, ptr %t4699 store i32 %t4705, ptr %t4698 br label %put944 put944: %t4712 = load ptr, ptr %t4699 %t4713 = getelementptr inbounds ptr, ptr %t4712, i32 %t4700 store ptr @.str7761, ptr %t4713 %t4714 = add i32 %t4700, 1 store i32 %t4714, ptr %t4697 br label %ifend940 ifend940: %t4715 = load ptr, ptr %t1 %t4716 = call i32 @lp_str_eq(ptr %t4715, ptr @.str7762) %t4717 = icmp ne i32 %t4716, 0 br i1 %t4717, label %then945, label %ifend947 then945: store ptr @.str7763, ptr %t403 %t4718 = load ptr, ptr %t410 %t4719 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 1 %t4720 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 2 %t4721 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 0 %t4722 = load i32, ptr %t4719 %t4723 = load i32, ptr %t4720 %t4724 = icmp sge i32 %t4722, %t4723 br i1 %t4724, label %grow948, label %put949 grow948: %t4725 = mul i32 %t4723, 2 %t4726 = icmp eq i32 %t4723, 0 %t4727 = select i1 %t4726, i32 8, i32 %t4725 %t4728 = getelementptr ptr, ptr null, i32 1 %t4729 = ptrtoint ptr %t4728 to i64 %t4730 = zext i32 %t4727 to i64 %t4731 = mul i64 %t4730, %t4729 %t4732 = load ptr, ptr %t4721 %t4733 = call ptr @realloc(ptr %t4732, i64 %t4731) store ptr %t4733, ptr %t4721 store i32 %t4727, ptr %t4720 br label %put949 put949: %t4734 = load ptr, ptr %t4721 %t4735 = getelementptr inbounds ptr, ptr %t4734, i32 %t4722 store ptr @.str7764, ptr %t4735 %t4736 = add i32 %t4722, 1 store i32 %t4736, ptr %t4719 %t4737 = load ptr, ptr %t410 %t4738 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 1 %t4739 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 2 %t4740 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 0 %t4741 = load i32, ptr %t4738 %t4742 = load i32, ptr %t4739 %t4743 = icmp sge i32 %t4741, %t4742 br i1 %t4743, label %grow950, label %put951 grow950: %t4744 = mul i32 %t4742, 2 %t4745 = icmp eq i32 %t4742, 0 %t4746 = select i1 %t4745, i32 8, i32 %t4744 %t4747 = getelementptr ptr, ptr null, i32 1 %t4748 = ptrtoint ptr %t4747 to i64 %t4749 = zext i32 %t4746 to i64 %t4750 = mul i64 %t4749, %t4748 %t4751 = load ptr, ptr %t4740 %t4752 = call ptr @realloc(ptr %t4751, i64 %t4750) store ptr %t4752, ptr %t4740 store i32 %t4746, ptr %t4739 br label %put951 put951: %t4753 = load ptr, ptr %t4740 %t4754 = getelementptr inbounds ptr, ptr %t4753, i32 %t4741 store ptr @.str7765, ptr %t4754 %t4755 = add i32 %t4741, 1 store i32 %t4755, ptr %t4738 %t4756 = load ptr, ptr %t410 %t4757 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 1 %t4758 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 2 %t4759 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 0 %t4760 = load i32, ptr %t4757 %t4761 = load i32, ptr %t4758 %t4762 = icmp sge i32 %t4760, %t4761 br i1 %t4762, label %grow952, label %put953 grow952: %t4763 = mul i32 %t4761, 2 %t4764 = icmp eq i32 %t4761, 0 %t4765 = select i1 %t4764, i32 8, i32 %t4763 %t4766 = getelementptr ptr, ptr null, i32 1 %t4767 = ptrtoint ptr %t4766 to i64 %t4768 = zext i32 %t4765 to i64 %t4769 = mul i64 %t4768, %t4767 %t4770 = load ptr, ptr %t4759 %t4771 = call ptr @realloc(ptr %t4770, i64 %t4769) store ptr %t4771, ptr %t4759 store i32 %t4765, ptr %t4758 br label %put953 put953: %t4772 = load ptr, ptr %t4759 %t4773 = getelementptr inbounds ptr, ptr %t4772, i32 %t4760 store ptr @.str7766, ptr %t4773 %t4774 = add i32 %t4760, 1 store i32 %t4774, ptr %t4757 br label %ifend947 ifend947: %t4775 = load ptr, ptr %t1 %t4776 = call i32 @lp_str_eq(ptr %t4775, ptr @.str7767) %t4777 = icmp ne i32 %t4776, 0 br i1 %t4777, label %then954, label %ifend956 then954: store ptr @.str7768, ptr %t403 br label %ifend956 ifend956: %t4778 = load ptr, ptr %t1 %t4779 = call i32 @lp_str_eq(ptr %t4778, ptr @.str7769) %t4780 = icmp ne i32 %t4779, 0 br i1 %t4780, label %then957, label %ifend959 then957: store ptr @.str7770, ptr %t403 br label %ifend959 ifend959: %t4781 = load ptr, ptr %t1 %t4782 = call i32 @lp_str_eq(ptr %t4781, ptr @.str7771) %t4783 = icmp ne i32 %t4782, 0 br i1 %t4783, label %then960, label %ifend962 then960: store ptr @.str7772, ptr %t403 br label %ifend962 ifend962: %t4784 = load ptr, ptr %t1 %t4785 = call i32 @lp_str_eq(ptr %t4784, ptr @.str7773) %t4786 = icmp ne i32 %t4785, 0 br i1 %t4786, label %then963, label %ifend965 then963: store ptr @.str7774, ptr %t403 br label %ifend965 ifend965: %t4787 = load ptr, ptr %t1 %t4788 = call i32 @lp_str_eq(ptr %t4787, ptr @.str7775) %t4789 = icmp ne i32 %t4788, 0 br i1 %t4789, label %then966, label %ifend968 then966: store ptr @.str7776, ptr %t403 br label %ifend968 ifend968: %t4790 = load ptr, ptr %t1 %t4791 = call i32 @lp_str_eq(ptr %t4790, ptr @.str7777) %t4792 = icmp ne i32 %t4791, 0 br i1 %t4792, label %then969, label %ifend971 then969: store ptr @.str7778, ptr %t403 %t4793 = load ptr, ptr %t410 %t4794 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 1 %t4795 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 2 %t4796 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 0 %t4797 = load i32, ptr %t4794 %t4798 = load i32, ptr %t4795 %t4799 = icmp sge i32 %t4797, %t4798 br i1 %t4799, label %grow972, label %put973 grow972: %t4800 = mul i32 %t4798, 2 %t4801 = icmp eq i32 %t4798, 0 %t4802 = select i1 %t4801, i32 8, i32 %t4800 %t4803 = getelementptr ptr, ptr null, i32 1 %t4804 = ptrtoint ptr %t4803 to i64 %t4805 = zext i32 %t4802 to i64 %t4806 = mul i64 %t4805, %t4804 %t4807 = load ptr, ptr %t4796 %t4808 = call ptr @realloc(ptr %t4807, i64 %t4806) store ptr %t4808, ptr %t4796 store i32 %t4802, ptr %t4795 br label %put973 put973: %t4809 = load ptr, ptr %t4796 %t4810 = getelementptr inbounds ptr, ptr %t4809, i32 %t4797 store ptr @.str7779, ptr %t4810 %t4811 = add i32 %t4797, 1 store i32 %t4811, ptr %t4794 %t4812 = load ptr, ptr %t410 %t4813 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 1 %t4814 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 2 %t4815 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 0 %t4816 = load i32, ptr %t4813 %t4817 = load i32, ptr %t4814 %t4818 = icmp sge i32 %t4816, %t4817 br i1 %t4818, label %grow974, label %put975 grow974: %t4819 = mul i32 %t4817, 2 %t4820 = icmp eq i32 %t4817, 0 %t4821 = select i1 %t4820, i32 8, i32 %t4819 %t4822 = getelementptr ptr, ptr null, i32 1 %t4823 = ptrtoint ptr %t4822 to i64 %t4824 = zext i32 %t4821 to i64 %t4825 = mul i64 %t4824, %t4823 %t4826 = load ptr, ptr %t4815 %t4827 = call ptr @realloc(ptr %t4826, i64 %t4825) store ptr %t4827, ptr %t4815 store i32 %t4821, ptr %t4814 br label %put975 put975: %t4828 = load ptr, ptr %t4815 %t4829 = getelementptr inbounds ptr, ptr %t4828, i32 %t4816 store ptr @.str7780, ptr %t4829 %t4830 = add i32 %t4816, 1 store i32 %t4830, ptr %t4813 br label %ifend971 ifend971: %t4831 = load ptr, ptr %t1 %t4832 = call i32 @lp_str_eq(ptr %t4831, ptr @.str7781) %t4833 = icmp ne i32 %t4832, 0 br i1 %t4833, label %then976, label %ifend978 then976: store ptr @.str7782, ptr %t403 %t4834 = load ptr, ptr %t410 %t4835 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 1 %t4836 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 2 %t4837 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 0 %t4838 = load i32, ptr %t4835 %t4839 = load i32, ptr %t4836 %t4840 = icmp sge i32 %t4838, %t4839 br i1 %t4840, label %grow979, label %put980 grow979: %t4841 = mul i32 %t4839, 2 %t4842 = icmp eq i32 %t4839, 0 %t4843 = select i1 %t4842, i32 8, i32 %t4841 %t4844 = getelementptr ptr, ptr null, i32 1 %t4845 = ptrtoint ptr %t4844 to i64 %t4846 = zext i32 %t4843 to i64 %t4847 = mul i64 %t4846, %t4845 %t4848 = load ptr, ptr %t4837 %t4849 = call ptr @realloc(ptr %t4848, i64 %t4847) store ptr %t4849, ptr %t4837 store i32 %t4843, ptr %t4836 br label %put980 put980: %t4850 = load ptr, ptr %t4837 %t4851 = getelementptr inbounds ptr, ptr %t4850, i32 %t4838 store ptr @.str7783, ptr %t4851 %t4852 = add i32 %t4838, 1 store i32 %t4852, ptr %t4835 %t4853 = load ptr, ptr %t410 %t4854 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 1 %t4855 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 2 %t4856 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 0 %t4857 = load i32, ptr %t4854 %t4858 = load i32, ptr %t4855 %t4859 = icmp sge i32 %t4857, %t4858 br i1 %t4859, label %grow981, label %put982 grow981: %t4860 = mul i32 %t4858, 2 %t4861 = icmp eq i32 %t4858, 0 %t4862 = select i1 %t4861, i32 8, i32 %t4860 %t4863 = getelementptr ptr, ptr null, i32 1 %t4864 = ptrtoint ptr %t4863 to i64 %t4865 = zext i32 %t4862 to i64 %t4866 = mul i64 %t4865, %t4864 %t4867 = load ptr, ptr %t4856 %t4868 = call ptr @realloc(ptr %t4867, i64 %t4866) store ptr %t4868, ptr %t4856 store i32 %t4862, ptr %t4855 br label %put982 put982: %t4869 = load ptr, ptr %t4856 %t4870 = getelementptr inbounds ptr, ptr %t4869, i32 %t4857 store ptr @.str7784, ptr %t4870 %t4871 = add i32 %t4857, 1 store i32 %t4871, ptr %t4854 br label %ifend978 ifend978: %t4872 = load ptr, ptr %t1 %t4873 = call i32 @lp_str_eq(ptr %t4872, ptr @.str7785) %t4874 = icmp ne i32 %t4873, 0 br i1 %t4874, label %then983, label %ifend985 then983: store ptr @.str7786, ptr %t403 %t4875 = load ptr, ptr %t410 %t4876 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 1 %t4877 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 2 %t4878 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 0 %t4879 = load i32, ptr %t4876 %t4880 = load i32, ptr %t4877 %t4881 = icmp sge i32 %t4879, %t4880 br i1 %t4881, label %grow986, label %put987 grow986: %t4882 = mul i32 %t4880, 2 %t4883 = icmp eq i32 %t4880, 0 %t4884 = select i1 %t4883, i32 8, i32 %t4882 %t4885 = getelementptr ptr, ptr null, i32 1 %t4886 = ptrtoint ptr %t4885 to i64 %t4887 = zext i32 %t4884 to i64 %t4888 = mul i64 %t4887, %t4886 %t4889 = load ptr, ptr %t4878 %t4890 = call ptr @realloc(ptr %t4889, i64 %t4888) store ptr %t4890, ptr %t4878 store i32 %t4884, ptr %t4877 br label %put987 put987: %t4891 = load ptr, ptr %t4878 %t4892 = getelementptr inbounds ptr, ptr %t4891, i32 %t4879 store ptr @.str7787, ptr %t4892 %t4893 = add i32 %t4879, 1 store i32 %t4893, ptr %t4876 br label %ifend985 ifend985: %t4894 = load ptr, ptr %t1 %t4895 = call i32 @lp_str_eq(ptr %t4894, ptr @.str7788) %t4896 = icmp ne i32 %t4895, 0 br i1 %t4896, label %then988, label %ifend990 then988: store ptr @.str7789, ptr %t403 %t4897 = load ptr, ptr %t410 %t4898 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 1 %t4899 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 2 %t4900 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 0 %t4901 = load i32, ptr %t4898 %t4902 = load i32, ptr %t4899 %t4903 = icmp sge i32 %t4901, %t4902 br i1 %t4903, label %grow991, label %put992 grow991: %t4904 = mul i32 %t4902, 2 %t4905 = icmp eq i32 %t4902, 0 %t4906 = select i1 %t4905, i32 8, i32 %t4904 %t4907 = getelementptr ptr, ptr null, i32 1 %t4908 = ptrtoint ptr %t4907 to i64 %t4909 = zext i32 %t4906 to i64 %t4910 = mul i64 %t4909, %t4908 %t4911 = load ptr, ptr %t4900 %t4912 = call ptr @realloc(ptr %t4911, i64 %t4910) store ptr %t4912, ptr %t4900 store i32 %t4906, ptr %t4899 br label %put992 put992: %t4913 = load ptr, ptr %t4900 %t4914 = getelementptr inbounds ptr, ptr %t4913, i32 %t4901 store ptr @.str7790, ptr %t4914 %t4915 = add i32 %t4901, 1 store i32 %t4915, ptr %t4898 br label %ifend990 ifend990: %t4916 = load ptr, ptr %t1 %t4917 = call i32 @lp_str_eq(ptr %t4916, ptr @.str7791) %t4918 = icmp ne i32 %t4917, 0 br i1 %t4918, label %then993, label %ifend995 then993: store ptr @.str7792, ptr %t403 %t4919 = load ptr, ptr %t410 %t4920 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 1 %t4921 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 2 %t4922 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 0 %t4923 = load i32, ptr %t4920 %t4924 = load i32, ptr %t4921 %t4925 = icmp sge i32 %t4923, %t4924 br i1 %t4925, label %grow996, label %put997 grow996: %t4926 = mul i32 %t4924, 2 %t4927 = icmp eq i32 %t4924, 0 %t4928 = select i1 %t4927, i32 8, i32 %t4926 %t4929 = getelementptr ptr, ptr null, i32 1 %t4930 = ptrtoint ptr %t4929 to i64 %t4931 = zext i32 %t4928 to i64 %t4932 = mul i64 %t4931, %t4930 %t4933 = load ptr, ptr %t4922 %t4934 = call ptr @realloc(ptr %t4933, i64 %t4932) store ptr %t4934, ptr %t4922 store i32 %t4928, ptr %t4921 br label %put997 put997: %t4935 = load ptr, ptr %t4922 %t4936 = getelementptr inbounds ptr, ptr %t4935, i32 %t4923 store ptr @.str7793, ptr %t4936 %t4937 = add i32 %t4923, 1 store i32 %t4937, ptr %t4920 br label %ifend995 ifend995: %t4938 = load ptr, ptr %t1 %t4939 = call i32 @lp_str_eq(ptr %t4938, ptr @.str7794) %t4940 = icmp ne i32 %t4939, 0 br i1 %t4940, label %then998, label %ifend1000 then998: store ptr @.str7795, ptr %t403 %t4941 = load ptr, ptr %t410 %t4942 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 1 %t4943 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 2 %t4944 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 0 %t4945 = load i32, ptr %t4942 %t4946 = load i32, ptr %t4943 %t4947 = icmp sge i32 %t4945, %t4946 br i1 %t4947, label %grow1001, label %put1002 grow1001: %t4948 = mul i32 %t4946, 2 %t4949 = icmp eq i32 %t4946, 0 %t4950 = select i1 %t4949, i32 8, i32 %t4948 %t4951 = getelementptr ptr, ptr null, i32 1 %t4952 = ptrtoint ptr %t4951 to i64 %t4953 = zext i32 %t4950 to i64 %t4954 = mul i64 %t4953, %t4952 %t4955 = load ptr, ptr %t4944 %t4956 = call ptr @realloc(ptr %t4955, i64 %t4954) store ptr %t4956, ptr %t4944 store i32 %t4950, ptr %t4943 br label %put1002 put1002: %t4957 = load ptr, ptr %t4944 %t4958 = getelementptr inbounds ptr, ptr %t4957, i32 %t4945 store ptr @.str7796, ptr %t4958 %t4959 = add i32 %t4945, 1 store i32 %t4959, ptr %t4942 br label %ifend1000 ifend1000: %t4960 = load ptr, ptr %t1 %t4961 = call i32 @lp_str_eq(ptr %t4960, ptr @.str7797) %t4962 = icmp ne i32 %t4961, 0 br i1 %t4962, label %then1003, label %ifend1005 then1003: store ptr @.str7798, ptr %t403 %t4963 = load ptr, ptr %t410 %t4964 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 1 %t4965 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 2 %t4966 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 0 %t4967 = load i32, ptr %t4964 %t4968 = load i32, ptr %t4965 %t4969 = icmp sge i32 %t4967, %t4968 br i1 %t4969, label %grow1006, label %put1007 grow1006: %t4970 = mul i32 %t4968, 2 %t4971 = icmp eq i32 %t4968, 0 %t4972 = select i1 %t4971, i32 8, i32 %t4970 %t4973 = getelementptr ptr, ptr null, i32 1 %t4974 = ptrtoint ptr %t4973 to i64 %t4975 = zext i32 %t4972 to i64 %t4976 = mul i64 %t4975, %t4974 %t4977 = load ptr, ptr %t4966 %t4978 = call ptr @realloc(ptr %t4977, i64 %t4976) store ptr %t4978, ptr %t4966 store i32 %t4972, ptr %t4965 br label %put1007 put1007: %t4979 = load ptr, ptr %t4966 %t4980 = getelementptr inbounds ptr, ptr %t4979, i32 %t4967 store ptr @.str7799, ptr %t4980 %t4981 = add i32 %t4967, 1 store i32 %t4981, ptr %t4964 br label %ifend1005 ifend1005: %t4982 = load ptr, ptr %t1 %t4983 = call i32 @lp_str_eq(ptr %t4982, ptr @.str7800) %t4984 = icmp ne i32 %t4983, 0 br i1 %t4984, label %then1008, label %ifend1010 then1008: store ptr @.str7801, ptr %t403 %t4985 = load ptr, ptr %t410 %t4986 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 1 %t4987 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 2 %t4988 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 0 %t4989 = load i32, ptr %t4986 %t4990 = load i32, ptr %t4987 %t4991 = icmp sge i32 %t4989, %t4990 br i1 %t4991, label %grow1011, label %put1012 grow1011: %t4992 = mul i32 %t4990, 2 %t4993 = icmp eq i32 %t4990, 0 %t4994 = select i1 %t4993, i32 8, i32 %t4992 %t4995 = getelementptr ptr, ptr null, i32 1 %t4996 = ptrtoint ptr %t4995 to i64 %t4997 = zext i32 %t4994 to i64 %t4998 = mul i64 %t4997, %t4996 %t4999 = load ptr, ptr %t4988 %t5000 = call ptr @realloc(ptr %t4999, i64 %t4998) store ptr %t5000, ptr %t4988 store i32 %t4994, ptr %t4987 br label %put1012 put1012: %t5001 = load ptr, ptr %t4988 %t5002 = getelementptr inbounds ptr, ptr %t5001, i32 %t4989 store ptr @.str7802, ptr %t5002 %t5003 = add i32 %t4989, 1 store i32 %t5003, ptr %t4986 br label %ifend1010 ifend1010: %t5004 = load ptr, ptr %t1 %t5005 = call i32 @lp_str_eq(ptr %t5004, ptr @.str7803) %t5006 = icmp ne i32 %t5005, 0 br i1 %t5006, label %then1013, label %ifend1015 then1013: store ptr @.str7804, ptr %t403 %t5007 = load ptr, ptr %t410 %t5008 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 1 %t5009 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 2 %t5010 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 0 %t5011 = load i32, ptr %t5008 %t5012 = load i32, ptr %t5009 %t5013 = icmp sge i32 %t5011, %t5012 br i1 %t5013, label %grow1016, label %put1017 grow1016: %t5014 = mul i32 %t5012, 2 %t5015 = icmp eq i32 %t5012, 0 %t5016 = select i1 %t5015, i32 8, i32 %t5014 %t5017 = getelementptr ptr, ptr null, i32 1 %t5018 = ptrtoint ptr %t5017 to i64 %t5019 = zext i32 %t5016 to i64 %t5020 = mul i64 %t5019, %t5018 %t5021 = load ptr, ptr %t5010 %t5022 = call ptr @realloc(ptr %t5021, i64 %t5020) store ptr %t5022, ptr %t5010 store i32 %t5016, ptr %t5009 br label %put1017 put1017: %t5023 = load ptr, ptr %t5010 %t5024 = getelementptr inbounds ptr, ptr %t5023, i32 %t5011 store ptr @.str7805, ptr %t5024 %t5025 = add i32 %t5011, 1 store i32 %t5025, ptr %t5008 br label %ifend1015 ifend1015: %t5026 = load ptr, ptr %t1 %t5027 = call i32 @lp_str_eq(ptr %t5026, ptr @.str7806) %t5028 = icmp ne i32 %t5027, 0 br i1 %t5028, label %then1018, label %ifend1020 then1018: store ptr @.str7807, ptr %t403 %t5029 = load ptr, ptr %t410 %t5030 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 1 %t5031 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 2 %t5032 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 0 %t5033 = load i32, ptr %t5030 %t5034 = load i32, ptr %t5031 %t5035 = icmp sge i32 %t5033, %t5034 br i1 %t5035, label %grow1021, label %put1022 grow1021: %t5036 = mul i32 %t5034, 2 %t5037 = icmp eq i32 %t5034, 0 %t5038 = select i1 %t5037, i32 8, i32 %t5036 %t5039 = getelementptr ptr, ptr null, i32 1 %t5040 = ptrtoint ptr %t5039 to i64 %t5041 = zext i32 %t5038 to i64 %t5042 = mul i64 %t5041, %t5040 %t5043 = load ptr, ptr %t5032 %t5044 = call ptr @realloc(ptr %t5043, i64 %t5042) store ptr %t5044, ptr %t5032 store i32 %t5038, ptr %t5031 br label %put1022 put1022: %t5045 = load ptr, ptr %t5032 %t5046 = getelementptr inbounds ptr, ptr %t5045, i32 %t5033 store ptr @.str7808, ptr %t5046 %t5047 = add i32 %t5033, 1 store i32 %t5047, ptr %t5030 br label %ifend1020 ifend1020: %t5048 = load ptr, ptr %t1 %t5049 = call i32 @lp_str_eq(ptr %t5048, ptr @.str7809) %t5050 = icmp ne i32 %t5049, 0 br i1 %t5050, label %then1023, label %ifend1025 then1023: store ptr @.str7810, ptr %t403 %t5051 = load ptr, ptr %t410 %t5052 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 1 %t5053 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 2 %t5054 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 0 %t5055 = load i32, ptr %t5052 %t5056 = load i32, ptr %t5053 %t5057 = icmp sge i32 %t5055, %t5056 br i1 %t5057, label %grow1026, label %put1027 grow1026: %t5058 = mul i32 %t5056, 2 %t5059 = icmp eq i32 %t5056, 0 %t5060 = select i1 %t5059, i32 8, i32 %t5058 %t5061 = getelementptr ptr, ptr null, i32 1 %t5062 = ptrtoint ptr %t5061 to i64 %t5063 = zext i32 %t5060 to i64 %t5064 = mul i64 %t5063, %t5062 %t5065 = load ptr, ptr %t5054 %t5066 = call ptr @realloc(ptr %t5065, i64 %t5064) store ptr %t5066, ptr %t5054 store i32 %t5060, ptr %t5053 br label %put1027 put1027: %t5067 = load ptr, ptr %t5054 %t5068 = getelementptr inbounds ptr, ptr %t5067, i32 %t5055 store ptr @.str7811, ptr %t5068 %t5069 = add i32 %t5055, 1 store i32 %t5069, ptr %t5052 br label %ifend1025 ifend1025: %t5070 = load ptr, ptr %t1 %t5071 = call i32 @lp_str_eq(ptr %t5070, ptr @.str7812) %t5072 = icmp ne i32 %t5071, 0 br i1 %t5072, label %then1028, label %ifend1030 then1028: store ptr @.str7813, ptr %t403 %t5073 = load ptr, ptr %t410 %t5074 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 1 %t5075 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 2 %t5076 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 0 %t5077 = load i32, ptr %t5074 %t5078 = load i32, ptr %t5075 %t5079 = icmp sge i32 %t5077, %t5078 br i1 %t5079, label %grow1031, label %put1032 grow1031: %t5080 = mul i32 %t5078, 2 %t5081 = icmp eq i32 %t5078, 0 %t5082 = select i1 %t5081, i32 8, i32 %t5080 %t5083 = getelementptr ptr, ptr null, i32 1 %t5084 = ptrtoint ptr %t5083 to i64 %t5085 = zext i32 %t5082 to i64 %t5086 = mul i64 %t5085, %t5084 %t5087 = load ptr, ptr %t5076 %t5088 = call ptr @realloc(ptr %t5087, i64 %t5086) store ptr %t5088, ptr %t5076 store i32 %t5082, ptr %t5075 br label %put1032 put1032: %t5089 = load ptr, ptr %t5076 %t5090 = getelementptr inbounds ptr, ptr %t5089, i32 %t5077 store ptr @.str7814, ptr %t5090 %t5091 = add i32 %t5077, 1 store i32 %t5091, ptr %t5074 %t5092 = load ptr, ptr %t410 %t5093 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 1 %t5094 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 2 %t5095 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 0 %t5096 = load i32, ptr %t5093 %t5097 = load i32, ptr %t5094 %t5098 = icmp sge i32 %t5096, %t5097 br i1 %t5098, label %grow1033, label %put1034 grow1033: %t5099 = mul i32 %t5097, 2 %t5100 = icmp eq i32 %t5097, 0 %t5101 = select i1 %t5100, i32 8, i32 %t5099 %t5102 = getelementptr ptr, ptr null, i32 1 %t5103 = ptrtoint ptr %t5102 to i64 %t5104 = zext i32 %t5101 to i64 %t5105 = mul i64 %t5104, %t5103 %t5106 = load ptr, ptr %t5095 %t5107 = call ptr @realloc(ptr %t5106, i64 %t5105) store ptr %t5107, ptr %t5095 store i32 %t5101, ptr %t5094 br label %put1034 put1034: %t5108 = load ptr, ptr %t5095 %t5109 = getelementptr inbounds ptr, ptr %t5108, i32 %t5096 store ptr @.str7815, ptr %t5109 %t5110 = add i32 %t5096, 1 store i32 %t5110, ptr %t5093 br label %ifend1030 ifend1030: %t5111 = load ptr, ptr %t1 %t5112 = call i32 @lp_str_eq(ptr %t5111, ptr @.str7816) %t5113 = icmp ne i32 %t5112, 0 br i1 %t5113, label %then1035, label %ifend1037 then1035: store ptr @.str7817, ptr %t403 %t5114 = load ptr, ptr %t410 %t5115 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 1 %t5116 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 2 %t5117 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 0 %t5118 = load i32, ptr %t5115 %t5119 = load i32, ptr %t5116 %t5120 = icmp sge i32 %t5118, %t5119 br i1 %t5120, label %grow1038, label %put1039 grow1038: %t5121 = mul i32 %t5119, 2 %t5122 = icmp eq i32 %t5119, 0 %t5123 = select i1 %t5122, i32 8, i32 %t5121 %t5124 = getelementptr ptr, ptr null, i32 1 %t5125 = ptrtoint ptr %t5124 to i64 %t5126 = zext i32 %t5123 to i64 %t5127 = mul i64 %t5126, %t5125 %t5128 = load ptr, ptr %t5117 %t5129 = call ptr @realloc(ptr %t5128, i64 %t5127) store ptr %t5129, ptr %t5117 store i32 %t5123, ptr %t5116 br label %put1039 put1039: %t5130 = load ptr, ptr %t5117 %t5131 = getelementptr inbounds ptr, ptr %t5130, i32 %t5118 store ptr @.str7818, ptr %t5131 %t5132 = add i32 %t5118, 1 store i32 %t5132, ptr %t5115 %t5133 = load ptr, ptr %t410 %t5134 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 1 %t5135 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 2 %t5136 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 0 %t5137 = load i32, ptr %t5134 %t5138 = load i32, ptr %t5135 %t5139 = icmp sge i32 %t5137, %t5138 br i1 %t5139, label %grow1040, label %put1041 grow1040: %t5140 = mul i32 %t5138, 2 %t5141 = icmp eq i32 %t5138, 0 %t5142 = select i1 %t5141, i32 8, i32 %t5140 %t5143 = getelementptr ptr, ptr null, i32 1 %t5144 = ptrtoint ptr %t5143 to i64 %t5145 = zext i32 %t5142 to i64 %t5146 = mul i64 %t5145, %t5144 %t5147 = load ptr, ptr %t5136 %t5148 = call ptr @realloc(ptr %t5147, i64 %t5146) store ptr %t5148, ptr %t5136 store i32 %t5142, ptr %t5135 br label %put1041 put1041: %t5149 = load ptr, ptr %t5136 %t5150 = getelementptr inbounds ptr, ptr %t5149, i32 %t5137 store ptr @.str7819, ptr %t5150 %t5151 = add i32 %t5137, 1 store i32 %t5151, ptr %t5134 br label %ifend1037 ifend1037: %t5152 = load ptr, ptr %t1 %t5153 = call i32 @lp_str_eq(ptr %t5152, ptr @.str7820) %t5154 = icmp ne i32 %t5153, 0 br i1 %t5154, label %then1042, label %ifend1044 then1042: store ptr @.str7821, ptr %t403 br label %ifend1044 ifend1044: %t5155 = load ptr, ptr %t1 %t5156 = call i32 @lp_str_eq(ptr %t5155, ptr @.str7822) %t5157 = icmp ne i32 %t5156, 0 br i1 %t5157, label %then1045, label %ifend1047 then1045: store ptr @.str7823, ptr %t403 %t5158 = load ptr, ptr %t410 %t5159 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 1 %t5160 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 2 %t5161 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 0 %t5162 = load i32, ptr %t5159 %t5163 = load i32, ptr %t5160 %t5164 = icmp sge i32 %t5162, %t5163 br i1 %t5164, label %grow1048, label %put1049 grow1048: %t5165 = mul i32 %t5163, 2 %t5166 = icmp eq i32 %t5163, 0 %t5167 = select i1 %t5166, i32 8, i32 %t5165 %t5168 = getelementptr ptr, ptr null, i32 1 %t5169 = ptrtoint ptr %t5168 to i64 %t5170 = zext i32 %t5167 to i64 %t5171 = mul i64 %t5170, %t5169 %t5172 = load ptr, ptr %t5161 %t5173 = call ptr @realloc(ptr %t5172, i64 %t5171) store ptr %t5173, ptr %t5161 store i32 %t5167, ptr %t5160 br label %put1049 put1049: %t5174 = load ptr, ptr %t5161 %t5175 = getelementptr inbounds ptr, ptr %t5174, i32 %t5162 store ptr @.str7824, ptr %t5175 %t5176 = add i32 %t5162, 1 store i32 %t5176, ptr %t5159 %t5177 = load ptr, ptr %t410 %t5178 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 1 %t5179 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 2 %t5180 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 0 %t5181 = load i32, ptr %t5178 %t5182 = load i32, ptr %t5179 %t5183 = icmp sge i32 %t5181, %t5182 br i1 %t5183, label %grow1050, label %put1051 grow1050: %t5184 = mul i32 %t5182, 2 %t5185 = icmp eq i32 %t5182, 0 %t5186 = select i1 %t5185, i32 8, i32 %t5184 %t5187 = getelementptr ptr, ptr null, i32 1 %t5188 = ptrtoint ptr %t5187 to i64 %t5189 = zext i32 %t5186 to i64 %t5190 = mul i64 %t5189, %t5188 %t5191 = load ptr, ptr %t5180 %t5192 = call ptr @realloc(ptr %t5191, i64 %t5190) store ptr %t5192, ptr %t5180 store i32 %t5186, ptr %t5179 br label %put1051 put1051: %t5193 = load ptr, ptr %t5180 %t5194 = getelementptr inbounds ptr, ptr %t5193, i32 %t5181 store ptr @.str7825, ptr %t5194 %t5195 = add i32 %t5181, 1 store i32 %t5195, ptr %t5178 %t5196 = load ptr, ptr %t410 %t5197 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 1 %t5198 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 2 %t5199 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 0 %t5200 = load i32, ptr %t5197 %t5201 = load i32, ptr %t5198 %t5202 = icmp sge i32 %t5200, %t5201 br i1 %t5202, label %grow1052, label %put1053 grow1052: %t5203 = mul i32 %t5201, 2 %t5204 = icmp eq i32 %t5201, 0 %t5205 = select i1 %t5204, i32 8, i32 %t5203 %t5206 = getelementptr ptr, ptr null, i32 1 %t5207 = ptrtoint ptr %t5206 to i64 %t5208 = zext i32 %t5205 to i64 %t5209 = mul i64 %t5208, %t5207 %t5210 = load ptr, ptr %t5199 %t5211 = call ptr @realloc(ptr %t5210, i64 %t5209) store ptr %t5211, ptr %t5199 store i32 %t5205, ptr %t5198 br label %put1053 put1053: %t5212 = load ptr, ptr %t5199 %t5213 = getelementptr inbounds ptr, ptr %t5212, i32 %t5200 store ptr @.str7826, ptr %t5213 %t5214 = add i32 %t5200, 1 store i32 %t5214, ptr %t5197 %t5215 = load ptr, ptr %t410 %t5216 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 1 %t5217 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 2 %t5218 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 0 %t5219 = load i32, ptr %t5216 %t5220 = load i32, ptr %t5217 %t5221 = icmp sge i32 %t5219, %t5220 br i1 %t5221, label %grow1054, label %put1055 grow1054: %t5222 = mul i32 %t5220, 2 %t5223 = icmp eq i32 %t5220, 0 %t5224 = select i1 %t5223, i32 8, i32 %t5222 %t5225 = getelementptr ptr, ptr null, i32 1 %t5226 = ptrtoint ptr %t5225 to i64 %t5227 = zext i32 %t5224 to i64 %t5228 = mul i64 %t5227, %t5226 %t5229 = load ptr, ptr %t5218 %t5230 = call ptr @realloc(ptr %t5229, i64 %t5228) store ptr %t5230, ptr %t5218 store i32 %t5224, ptr %t5217 br label %put1055 put1055: %t5231 = load ptr, ptr %t5218 %t5232 = getelementptr inbounds ptr, ptr %t5231, i32 %t5219 store ptr @.str7827, ptr %t5232 %t5233 = add i32 %t5219, 1 store i32 %t5233, ptr %t5216 br label %ifend1047 ifend1047: %t5234 = load ptr, ptr %t1 %t5235 = call i32 @lp_str_eq(ptr %t5234, ptr @.str7828) %t5236 = icmp ne i32 %t5235, 0 br i1 %t5236, label %then1056, label %ifend1058 then1056: store ptr @.str7829, ptr %t403 %t5237 = load ptr, ptr %t410 %t5238 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 1 %t5239 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 2 %t5240 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 0 %t5241 = load i32, ptr %t5238 %t5242 = load i32, ptr %t5239 %t5243 = icmp sge i32 %t5241, %t5242 br i1 %t5243, label %grow1059, label %put1060 grow1059: %t5244 = mul i32 %t5242, 2 %t5245 = icmp eq i32 %t5242, 0 %t5246 = select i1 %t5245, i32 8, i32 %t5244 %t5247 = getelementptr ptr, ptr null, i32 1 %t5248 = ptrtoint ptr %t5247 to i64 %t5249 = zext i32 %t5246 to i64 %t5250 = mul i64 %t5249, %t5248 %t5251 = load ptr, ptr %t5240 %t5252 = call ptr @realloc(ptr %t5251, i64 %t5250) store ptr %t5252, ptr %t5240 store i32 %t5246, ptr %t5239 br label %put1060 put1060: %t5253 = load ptr, ptr %t5240 %t5254 = getelementptr inbounds ptr, ptr %t5253, i32 %t5241 store ptr @.str7830, ptr %t5254 %t5255 = add i32 %t5241, 1 store i32 %t5255, ptr %t5238 br label %ifend1058 ifend1058: %t5256 = load ptr, ptr %t1 %t5257 = call i32 @lp_str_eq(ptr %t5256, ptr @.str7831) %t5258 = icmp ne i32 %t5257, 0 br i1 %t5258, label %then1061, label %ifend1063 then1061: store ptr @.str7832, ptr %t403 br label %ifend1063 ifend1063: %t5259 = load ptr, ptr %t1 %t5260 = call i32 @lp_str_eq(ptr %t5259, ptr @.str7833) %t5261 = icmp ne i32 %t5260, 0 br i1 %t5261, label %then1064, label %ifend1066 then1064: store ptr @.str7834, ptr %t403 br label %ifend1066 ifend1066: %t5262 = load ptr, ptr %t1 %t5263 = call i32 @lp_str_eq(ptr %t5262, ptr @.str7835) %t5264 = icmp ne i32 %t5263, 0 br i1 %t5264, label %then1067, label %ifend1069 then1067: store ptr @.str7836, ptr %t403 br label %ifend1069 ifend1069: %t5265 = load ptr, ptr %t1 %t5266 = call i32 @lp_str_eq(ptr %t5265, ptr @.str7837) %t5267 = icmp ne i32 %t5266, 0 br i1 %t5267, label %then1070, label %ifend1072 then1070: store ptr @.str7838, ptr %t403 br label %ifend1072 ifend1072: %t5268 = load ptr, ptr %t1 %t5269 = call i32 @lp_str_eq(ptr %t5268, ptr @.str7839) %t5270 = icmp ne i32 %t5269, 0 br i1 %t5270, label %then1073, label %ifend1075 then1073: store ptr @.str7840, ptr %t403 %t5271 = load ptr, ptr %t410 %t5272 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 1 %t5273 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 2 %t5274 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 0 %t5275 = load i32, ptr %t5272 %t5276 = load i32, ptr %t5273 %t5277 = icmp sge i32 %t5275, %t5276 br i1 %t5277, label %grow1076, label %put1077 grow1076: %t5278 = mul i32 %t5276, 2 %t5279 = icmp eq i32 %t5276, 0 %t5280 = select i1 %t5279, i32 8, i32 %t5278 %t5281 = getelementptr ptr, ptr null, i32 1 %t5282 = ptrtoint ptr %t5281 to i64 %t5283 = zext i32 %t5280 to i64 %t5284 = mul i64 %t5283, %t5282 %t5285 = load ptr, ptr %t5274 %t5286 = call ptr @realloc(ptr %t5285, i64 %t5284) store ptr %t5286, ptr %t5274 store i32 %t5280, ptr %t5273 br label %put1077 put1077: %t5287 = load ptr, ptr %t5274 %t5288 = getelementptr inbounds ptr, ptr %t5287, i32 %t5275 store ptr @.str7841, ptr %t5288 %t5289 = add i32 %t5275, 1 store i32 %t5289, ptr %t5272 br label %ifend1075 ifend1075: %t5290 = load ptr, ptr %t1 %t5291 = call i32 @lp_str_eq(ptr %t5290, ptr @.str7842) %t5292 = icmp ne i32 %t5291, 0 br i1 %t5292, label %then1078, label %ifend1080 then1078: store ptr @.str7843, ptr %t403 br label %ifend1080 ifend1080: %t5293 = load ptr, ptr %t1 %t5294 = call i32 @lp_str_eq(ptr %t5293, ptr @.str7844) %t5295 = icmp ne i32 %t5294, 0 br i1 %t5295, label %then1081, label %ifend1083 then1081: store ptr @.str7845, ptr %t403 %t5296 = load ptr, ptr %t410 %t5297 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 1 %t5298 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 2 %t5299 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 0 %t5300 = load i32, ptr %t5297 %t5301 = load i32, ptr %t5298 %t5302 = icmp sge i32 %t5300, %t5301 br i1 %t5302, label %grow1084, label %put1085 grow1084: %t5303 = mul i32 %t5301, 2 %t5304 = icmp eq i32 %t5301, 0 %t5305 = select i1 %t5304, i32 8, i32 %t5303 %t5306 = getelementptr ptr, ptr null, i32 1 %t5307 = ptrtoint ptr %t5306 to i64 %t5308 = zext i32 %t5305 to i64 %t5309 = mul i64 %t5308, %t5307 %t5310 = load ptr, ptr %t5299 %t5311 = call ptr @realloc(ptr %t5310, i64 %t5309) store ptr %t5311, ptr %t5299 store i32 %t5305, ptr %t5298 br label %put1085 put1085: %t5312 = load ptr, ptr %t5299 %t5313 = getelementptr inbounds ptr, ptr %t5312, i32 %t5300 store ptr @.str7846, ptr %t5313 %t5314 = add i32 %t5300, 1 store i32 %t5314, ptr %t5297 %t5315 = load ptr, ptr %t410 %t5316 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 1 %t5317 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 2 %t5318 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 0 %t5319 = load i32, ptr %t5316 %t5320 = load i32, ptr %t5317 %t5321 = icmp sge i32 %t5319, %t5320 br i1 %t5321, label %grow1086, label %put1087 grow1086: %t5322 = mul i32 %t5320, 2 %t5323 = icmp eq i32 %t5320, 0 %t5324 = select i1 %t5323, i32 8, i32 %t5322 %t5325 = getelementptr ptr, ptr null, i32 1 %t5326 = ptrtoint ptr %t5325 to i64 %t5327 = zext i32 %t5324 to i64 %t5328 = mul i64 %t5327, %t5326 %t5329 = load ptr, ptr %t5318 %t5330 = call ptr @realloc(ptr %t5329, i64 %t5328) store ptr %t5330, ptr %t5318 store i32 %t5324, ptr %t5317 br label %put1087 put1087: %t5331 = load ptr, ptr %t5318 %t5332 = getelementptr inbounds ptr, ptr %t5331, i32 %t5319 store ptr @.str7847, ptr %t5332 %t5333 = add i32 %t5319, 1 store i32 %t5333, ptr %t5316 %t5334 = load ptr, ptr %t410 %t5335 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 1 %t5336 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 2 %t5337 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 0 %t5338 = load i32, ptr %t5335 %t5339 = load i32, ptr %t5336 %t5340 = icmp sge i32 %t5338, %t5339 br i1 %t5340, label %grow1088, label %put1089 grow1088: %t5341 = mul i32 %t5339, 2 %t5342 = icmp eq i32 %t5339, 0 %t5343 = select i1 %t5342, i32 8, i32 %t5341 %t5344 = getelementptr ptr, ptr null, i32 1 %t5345 = ptrtoint ptr %t5344 to i64 %t5346 = zext i32 %t5343 to i64 %t5347 = mul i64 %t5346, %t5345 %t5348 = load ptr, ptr %t5337 %t5349 = call ptr @realloc(ptr %t5348, i64 %t5347) store ptr %t5349, ptr %t5337 store i32 %t5343, ptr %t5336 br label %put1089 put1089: %t5350 = load ptr, ptr %t5337 %t5351 = getelementptr inbounds ptr, ptr %t5350, i32 %t5338 store ptr @.str7848, ptr %t5351 %t5352 = add i32 %t5338, 1 store i32 %t5352, ptr %t5335 %t5353 = load ptr, ptr %t410 %t5354 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 1 %t5355 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 2 %t5356 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 0 %t5357 = load i32, ptr %t5354 %t5358 = load i32, ptr %t5355 %t5359 = icmp sge i32 %t5357, %t5358 br i1 %t5359, label %grow1090, label %put1091 grow1090: %t5360 = mul i32 %t5358, 2 %t5361 = icmp eq i32 %t5358, 0 %t5362 = select i1 %t5361, i32 8, i32 %t5360 %t5363 = getelementptr ptr, ptr null, i32 1 %t5364 = ptrtoint ptr %t5363 to i64 %t5365 = zext i32 %t5362 to i64 %t5366 = mul i64 %t5365, %t5364 %t5367 = load ptr, ptr %t5356 %t5368 = call ptr @realloc(ptr %t5367, i64 %t5366) store ptr %t5368, ptr %t5356 store i32 %t5362, ptr %t5355 br label %put1091 put1091: %t5369 = load ptr, ptr %t5356 %t5370 = getelementptr inbounds ptr, ptr %t5369, i32 %t5357 store ptr @.str7849, ptr %t5370 %t5371 = add i32 %t5357, 1 store i32 %t5371, ptr %t5354 br label %ifend1083 ifend1083: %t5372 = load ptr, ptr %t1 %t5373 = call i32 @lp_str_eq(ptr %t5372, ptr @.str7850) %t5374 = icmp ne i32 %t5373, 0 br i1 %t5374, label %then1092, label %ifend1094 then1092: store ptr @.str7851, ptr %t403 %t5375 = load ptr, ptr %t410 %t5376 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 1 %t5377 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 2 %t5378 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 0 %t5379 = load i32, ptr %t5376 %t5380 = load i32, ptr %t5377 %t5381 = icmp sge i32 %t5379, %t5380 br i1 %t5381, label %grow1095, label %put1096 grow1095: %t5382 = mul i32 %t5380, 2 %t5383 = icmp eq i32 %t5380, 0 %t5384 = select i1 %t5383, i32 8, i32 %t5382 %t5385 = getelementptr ptr, ptr null, i32 1 %t5386 = ptrtoint ptr %t5385 to i64 %t5387 = zext i32 %t5384 to i64 %t5388 = mul i64 %t5387, %t5386 %t5389 = load ptr, ptr %t5378 %t5390 = call ptr @realloc(ptr %t5389, i64 %t5388) store ptr %t5390, ptr %t5378 store i32 %t5384, ptr %t5377 br label %put1096 put1096: %t5391 = load ptr, ptr %t5378 %t5392 = getelementptr inbounds ptr, ptr %t5391, i32 %t5379 store ptr @.str7852, ptr %t5392 %t5393 = add i32 %t5379, 1 store i32 %t5393, ptr %t5376 br label %ifend1094 ifend1094: %t5394 = load ptr, ptr %t1 %t5395 = call i32 @lp_str_eq(ptr %t5394, ptr @.str7853) %t5396 = icmp ne i32 %t5395, 0 br i1 %t5396, label %then1097, label %ifend1099 then1097: store ptr @.str7854, ptr %t403 %t5397 = load ptr, ptr %t410 %t5398 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 1 %t5399 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 2 %t5400 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 0 %t5401 = load i32, ptr %t5398 %t5402 = load i32, ptr %t5399 %t5403 = icmp sge i32 %t5401, %t5402 br i1 %t5403, label %grow1100, label %put1101 grow1100: %t5404 = mul i32 %t5402, 2 %t5405 = icmp eq i32 %t5402, 0 %t5406 = select i1 %t5405, i32 8, i32 %t5404 %t5407 = getelementptr ptr, ptr null, i32 1 %t5408 = ptrtoint ptr %t5407 to i64 %t5409 = zext i32 %t5406 to i64 %t5410 = mul i64 %t5409, %t5408 %t5411 = load ptr, ptr %t5400 %t5412 = call ptr @realloc(ptr %t5411, i64 %t5410) store ptr %t5412, ptr %t5400 store i32 %t5406, ptr %t5399 br label %put1101 put1101: %t5413 = load ptr, ptr %t5400 %t5414 = getelementptr inbounds ptr, ptr %t5413, i32 %t5401 store ptr @.str7855, ptr %t5414 %t5415 = add i32 %t5401, 1 store i32 %t5415, ptr %t5398 %t5416 = load ptr, ptr %t410 %t5417 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 1 %t5418 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 2 %t5419 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 0 %t5420 = load i32, ptr %t5417 %t5421 = load i32, ptr %t5418 %t5422 = icmp sge i32 %t5420, %t5421 br i1 %t5422, label %grow1102, label %put1103 grow1102: %t5423 = mul i32 %t5421, 2 %t5424 = icmp eq i32 %t5421, 0 %t5425 = select i1 %t5424, i32 8, i32 %t5423 %t5426 = getelementptr ptr, ptr null, i32 1 %t5427 = ptrtoint ptr %t5426 to i64 %t5428 = zext i32 %t5425 to i64 %t5429 = mul i64 %t5428, %t5427 %t5430 = load ptr, ptr %t5419 %t5431 = call ptr @realloc(ptr %t5430, i64 %t5429) store ptr %t5431, ptr %t5419 store i32 %t5425, ptr %t5418 br label %put1103 put1103: %t5432 = load ptr, ptr %t5419 %t5433 = getelementptr inbounds ptr, ptr %t5432, i32 %t5420 store ptr @.str7856, ptr %t5433 %t5434 = add i32 %t5420, 1 store i32 %t5434, ptr %t5417 br label %ifend1099 ifend1099: %t5435 = load ptr, ptr %t1 %t5436 = call i32 @lp_str_eq(ptr %t5435, ptr @.str7857) %t5437 = icmp ne i32 %t5436, 0 br i1 %t5437, label %then1104, label %ifend1106 then1104: store ptr @.str7858, ptr %t403 %t5438 = load ptr, ptr %t410 %t5439 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 1 %t5440 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 2 %t5441 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 0 %t5442 = load i32, ptr %t5439 %t5443 = load i32, ptr %t5440 %t5444 = icmp sge i32 %t5442, %t5443 br i1 %t5444, label %grow1107, label %put1108 grow1107: %t5445 = mul i32 %t5443, 2 %t5446 = icmp eq i32 %t5443, 0 %t5447 = select i1 %t5446, i32 8, i32 %t5445 %t5448 = getelementptr ptr, ptr null, i32 1 %t5449 = ptrtoint ptr %t5448 to i64 %t5450 = zext i32 %t5447 to i64 %t5451 = mul i64 %t5450, %t5449 %t5452 = load ptr, ptr %t5441 %t5453 = call ptr @realloc(ptr %t5452, i64 %t5451) store ptr %t5453, ptr %t5441 store i32 %t5447, ptr %t5440 br label %put1108 put1108: %t5454 = load ptr, ptr %t5441 %t5455 = getelementptr inbounds ptr, ptr %t5454, i32 %t5442 store ptr @.str7859, ptr %t5455 %t5456 = add i32 %t5442, 1 store i32 %t5456, ptr %t5439 %t5457 = load ptr, ptr %t410 %t5458 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 1 %t5459 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 2 %t5460 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 0 %t5461 = load i32, ptr %t5458 %t5462 = load i32, ptr %t5459 %t5463 = icmp sge i32 %t5461, %t5462 br i1 %t5463, label %grow1109, label %put1110 grow1109: %t5464 = mul i32 %t5462, 2 %t5465 = icmp eq i32 %t5462, 0 %t5466 = select i1 %t5465, i32 8, i32 %t5464 %t5467 = getelementptr ptr, ptr null, i32 1 %t5468 = ptrtoint ptr %t5467 to i64 %t5469 = zext i32 %t5466 to i64 %t5470 = mul i64 %t5469, %t5468 %t5471 = load ptr, ptr %t5460 %t5472 = call ptr @realloc(ptr %t5471, i64 %t5470) store ptr %t5472, ptr %t5460 store i32 %t5466, ptr %t5459 br label %put1110 put1110: %t5473 = load ptr, ptr %t5460 %t5474 = getelementptr inbounds ptr, ptr %t5473, i32 %t5461 store ptr @.str7860, ptr %t5474 %t5475 = add i32 %t5461, 1 store i32 %t5475, ptr %t5458 br label %ifend1106 ifend1106: %t5476 = load ptr, ptr %t1 %t5477 = call i32 @lp_str_eq(ptr %t5476, ptr @.str7861) %t5478 = icmp ne i32 %t5477, 0 br i1 %t5478, label %then1111, label %ifend1113 then1111: store ptr @.str7862, ptr %t403 %t5479 = load ptr, ptr %t410 %t5480 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 1 %t5481 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 2 %t5482 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 0 %t5483 = load i32, ptr %t5480 %t5484 = load i32, ptr %t5481 %t5485 = icmp sge i32 %t5483, %t5484 br i1 %t5485, label %grow1114, label %put1115 grow1114: %t5486 = mul i32 %t5484, 2 %t5487 = icmp eq i32 %t5484, 0 %t5488 = select i1 %t5487, i32 8, i32 %t5486 %t5489 = getelementptr ptr, ptr null, i32 1 %t5490 = ptrtoint ptr %t5489 to i64 %t5491 = zext i32 %t5488 to i64 %t5492 = mul i64 %t5491, %t5490 %t5493 = load ptr, ptr %t5482 %t5494 = call ptr @realloc(ptr %t5493, i64 %t5492) store ptr %t5494, ptr %t5482 store i32 %t5488, ptr %t5481 br label %put1115 put1115: %t5495 = load ptr, ptr %t5482 %t5496 = getelementptr inbounds ptr, ptr %t5495, i32 %t5483 store ptr @.str7863, ptr %t5496 %t5497 = add i32 %t5483, 1 store i32 %t5497, ptr %t5480 %t5498 = load ptr, ptr %t410 %t5499 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 1 %t5500 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 2 %t5501 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 0 %t5502 = load i32, ptr %t5499 %t5503 = load i32, ptr %t5500 %t5504 = icmp sge i32 %t5502, %t5503 br i1 %t5504, label %grow1116, label %put1117 grow1116: %t5505 = mul i32 %t5503, 2 %t5506 = icmp eq i32 %t5503, 0 %t5507 = select i1 %t5506, i32 8, i32 %t5505 %t5508 = getelementptr ptr, ptr null, i32 1 %t5509 = ptrtoint ptr %t5508 to i64 %t5510 = zext i32 %t5507 to i64 %t5511 = mul i64 %t5510, %t5509 %t5512 = load ptr, ptr %t5501 %t5513 = call ptr @realloc(ptr %t5512, i64 %t5511) store ptr %t5513, ptr %t5501 store i32 %t5507, ptr %t5500 br label %put1117 put1117: %t5514 = load ptr, ptr %t5501 %t5515 = getelementptr inbounds ptr, ptr %t5514, i32 %t5502 store ptr @.str7864, ptr %t5515 %t5516 = add i32 %t5502, 1 store i32 %t5516, ptr %t5499 %t5517 = load ptr, ptr %t410 %t5518 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 1 %t5519 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 2 %t5520 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 0 %t5521 = load i32, ptr %t5518 %t5522 = load i32, ptr %t5519 %t5523 = icmp sge i32 %t5521, %t5522 br i1 %t5523, label %grow1118, label %put1119 grow1118: %t5524 = mul i32 %t5522, 2 %t5525 = icmp eq i32 %t5522, 0 %t5526 = select i1 %t5525, i32 8, i32 %t5524 %t5527 = getelementptr ptr, ptr null, i32 1 %t5528 = ptrtoint ptr %t5527 to i64 %t5529 = zext i32 %t5526 to i64 %t5530 = mul i64 %t5529, %t5528 %t5531 = load ptr, ptr %t5520 %t5532 = call ptr @realloc(ptr %t5531, i64 %t5530) store ptr %t5532, ptr %t5520 store i32 %t5526, ptr %t5519 br label %put1119 put1119: %t5533 = load ptr, ptr %t5520 %t5534 = getelementptr inbounds ptr, ptr %t5533, i32 %t5521 store ptr @.str7865, ptr %t5534 %t5535 = add i32 %t5521, 1 store i32 %t5535, ptr %t5518 %t5536 = load ptr, ptr %t410 %t5537 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 1 %t5538 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 2 %t5539 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 0 %t5540 = load i32, ptr %t5537 %t5541 = load i32, ptr %t5538 %t5542 = icmp sge i32 %t5540, %t5541 br i1 %t5542, label %grow1120, label %put1121 grow1120: %t5543 = mul i32 %t5541, 2 %t5544 = icmp eq i32 %t5541, 0 %t5545 = select i1 %t5544, i32 8, i32 %t5543 %t5546 = getelementptr ptr, ptr null, i32 1 %t5547 = ptrtoint ptr %t5546 to i64 %t5548 = zext i32 %t5545 to i64 %t5549 = mul i64 %t5548, %t5547 %t5550 = load ptr, ptr %t5539 %t5551 = call ptr @realloc(ptr %t5550, i64 %t5549) store ptr %t5551, ptr %t5539 store i32 %t5545, ptr %t5538 br label %put1121 put1121: %t5552 = load ptr, ptr %t5539 %t5553 = getelementptr inbounds ptr, ptr %t5552, i32 %t5540 store ptr @.str7866, ptr %t5553 %t5554 = add i32 %t5540, 1 store i32 %t5554, ptr %t5537 %t5555 = load ptr, ptr %t410 %t5556 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 1 %t5557 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 2 %t5558 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 0 %t5559 = load i32, ptr %t5556 %t5560 = load i32, ptr %t5557 %t5561 = icmp sge i32 %t5559, %t5560 br i1 %t5561, label %grow1122, label %put1123 grow1122: %t5562 = mul i32 %t5560, 2 %t5563 = icmp eq i32 %t5560, 0 %t5564 = select i1 %t5563, i32 8, i32 %t5562 %t5565 = getelementptr ptr, ptr null, i32 1 %t5566 = ptrtoint ptr %t5565 to i64 %t5567 = zext i32 %t5564 to i64 %t5568 = mul i64 %t5567, %t5566 %t5569 = load ptr, ptr %t5558 %t5570 = call ptr @realloc(ptr %t5569, i64 %t5568) store ptr %t5570, ptr %t5558 store i32 %t5564, ptr %t5557 br label %put1123 put1123: %t5571 = load ptr, ptr %t5558 %t5572 = getelementptr inbounds ptr, ptr %t5571, i32 %t5559 store ptr @.str7867, ptr %t5572 %t5573 = add i32 %t5559, 1 store i32 %t5573, ptr %t5556 %t5574 = load ptr, ptr %t410 %t5575 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 1 %t5576 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 2 %t5577 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 0 %t5578 = load i32, ptr %t5575 %t5579 = load i32, ptr %t5576 %t5580 = icmp sge i32 %t5578, %t5579 br i1 %t5580, label %grow1124, label %put1125 grow1124: %t5581 = mul i32 %t5579, 2 %t5582 = icmp eq i32 %t5579, 0 %t5583 = select i1 %t5582, i32 8, i32 %t5581 %t5584 = getelementptr ptr, ptr null, i32 1 %t5585 = ptrtoint ptr %t5584 to i64 %t5586 = zext i32 %t5583 to i64 %t5587 = mul i64 %t5586, %t5585 %t5588 = load ptr, ptr %t5577 %t5589 = call ptr @realloc(ptr %t5588, i64 %t5587) store ptr %t5589, ptr %t5577 store i32 %t5583, ptr %t5576 br label %put1125 put1125: %t5590 = load ptr, ptr %t5577 %t5591 = getelementptr inbounds ptr, ptr %t5590, i32 %t5578 store ptr @.str7868, ptr %t5591 %t5592 = add i32 %t5578, 1 store i32 %t5592, ptr %t5575 %t5593 = load ptr, ptr %t410 %t5594 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 1 %t5595 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 2 %t5596 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 0 %t5597 = load i32, ptr %t5594 %t5598 = load i32, ptr %t5595 %t5599 = icmp sge i32 %t5597, %t5598 br i1 %t5599, label %grow1126, label %put1127 grow1126: %t5600 = mul i32 %t5598, 2 %t5601 = icmp eq i32 %t5598, 0 %t5602 = select i1 %t5601, i32 8, i32 %t5600 %t5603 = getelementptr ptr, ptr null, i32 1 %t5604 = ptrtoint ptr %t5603 to i64 %t5605 = zext i32 %t5602 to i64 %t5606 = mul i64 %t5605, %t5604 %t5607 = load ptr, ptr %t5596 %t5608 = call ptr @realloc(ptr %t5607, i64 %t5606) store ptr %t5608, ptr %t5596 store i32 %t5602, ptr %t5595 br label %put1127 put1127: %t5609 = load ptr, ptr %t5596 %t5610 = getelementptr inbounds ptr, ptr %t5609, i32 %t5597 store ptr @.str7869, ptr %t5610 %t5611 = add i32 %t5597, 1 store i32 %t5611, ptr %t5594 br label %ifend1113 ifend1113: %t5612 = load ptr, ptr %t1 %t5613 = call i32 @lp_str_eq(ptr %t5612, ptr @.str7870) %t5614 = icmp ne i32 %t5613, 0 br i1 %t5614, label %then1128, label %ifend1130 then1128: store ptr @.str7871, ptr %t403 br label %ifend1130 ifend1130: %t5615 = load ptr, ptr %t1 %t5616 = call i32 @lp_str_eq(ptr %t5615, ptr @.str7872) %t5617 = icmp ne i32 %t5616, 0 br i1 %t5617, label %then1131, label %ifend1133 then1131: store ptr @.str7873, ptr %t403 %t5618 = load ptr, ptr %t410 %t5619 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 1 %t5620 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 2 %t5621 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 0 %t5622 = load i32, ptr %t5619 %t5623 = load i32, ptr %t5620 %t5624 = icmp sge i32 %t5622, %t5623 br i1 %t5624, label %grow1134, label %put1135 grow1134: %t5625 = mul i32 %t5623, 2 %t5626 = icmp eq i32 %t5623, 0 %t5627 = select i1 %t5626, i32 8, i32 %t5625 %t5628 = getelementptr ptr, ptr null, i32 1 %t5629 = ptrtoint ptr %t5628 to i64 %t5630 = zext i32 %t5627 to i64 %t5631 = mul i64 %t5630, %t5629 %t5632 = load ptr, ptr %t5621 %t5633 = call ptr @realloc(ptr %t5632, i64 %t5631) store ptr %t5633, ptr %t5621 store i32 %t5627, ptr %t5620 br label %put1135 put1135: %t5634 = load ptr, ptr %t5621 %t5635 = getelementptr inbounds ptr, ptr %t5634, i32 %t5622 store ptr @.str7874, ptr %t5635 %t5636 = add i32 %t5622, 1 store i32 %t5636, ptr %t5619 br label %ifend1133 ifend1133: %t5637 = load ptr, ptr %t1 %t5638 = call i32 @lp_str_eq(ptr %t5637, ptr @.str7875) %t5639 = icmp ne i32 %t5638, 0 br i1 %t5639, label %then1136, label %ifend1138 then1136: store ptr @.str7876, ptr %t403 %t5640 = load ptr, ptr %t410 %t5641 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 1 %t5642 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 2 %t5643 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 0 %t5644 = load i32, ptr %t5641 %t5645 = load i32, ptr %t5642 %t5646 = icmp sge i32 %t5644, %t5645 br i1 %t5646, label %grow1139, label %put1140 grow1139: %t5647 = mul i32 %t5645, 2 %t5648 = icmp eq i32 %t5645, 0 %t5649 = select i1 %t5648, i32 8, i32 %t5647 %t5650 = getelementptr ptr, ptr null, i32 1 %t5651 = ptrtoint ptr %t5650 to i64 %t5652 = zext i32 %t5649 to i64 %t5653 = mul i64 %t5652, %t5651 %t5654 = load ptr, ptr %t5643 %t5655 = call ptr @realloc(ptr %t5654, i64 %t5653) store ptr %t5655, ptr %t5643 store i32 %t5649, ptr %t5642 br label %put1140 put1140: %t5656 = load ptr, ptr %t5643 %t5657 = getelementptr inbounds ptr, ptr %t5656, i32 %t5644 store ptr @.str7877, ptr %t5657 %t5658 = add i32 %t5644, 1 store i32 %t5658, ptr %t5641 br label %ifend1138 ifend1138: %t5659 = load ptr, ptr %t1 %t5660 = call i32 @lp_str_eq(ptr %t5659, ptr @.str7878) %t5661 = icmp ne i32 %t5660, 0 br i1 %t5661, label %then1141, label %ifend1143 then1141: store ptr @.str7879, ptr %t403 %t5662 = load ptr, ptr %t410 %t5663 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 1 %t5664 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 2 %t5665 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 0 %t5666 = load i32, ptr %t5663 %t5667 = load i32, ptr %t5664 %t5668 = icmp sge i32 %t5666, %t5667 br i1 %t5668, label %grow1144, label %put1145 grow1144: %t5669 = mul i32 %t5667, 2 %t5670 = icmp eq i32 %t5667, 0 %t5671 = select i1 %t5670, i32 8, i32 %t5669 %t5672 = getelementptr ptr, ptr null, i32 1 %t5673 = ptrtoint ptr %t5672 to i64 %t5674 = zext i32 %t5671 to i64 %t5675 = mul i64 %t5674, %t5673 %t5676 = load ptr, ptr %t5665 %t5677 = call ptr @realloc(ptr %t5676, i64 %t5675) store ptr %t5677, ptr %t5665 store i32 %t5671, ptr %t5664 br label %put1145 put1145: %t5678 = load ptr, ptr %t5665 %t5679 = getelementptr inbounds ptr, ptr %t5678, i32 %t5666 store ptr @.str7880, ptr %t5679 %t5680 = add i32 %t5666, 1 store i32 %t5680, ptr %t5663 %t5681 = load ptr, ptr %t410 %t5682 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 1 %t5683 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 2 %t5684 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 0 %t5685 = load i32, ptr %t5682 %t5686 = load i32, ptr %t5683 %t5687 = icmp sge i32 %t5685, %t5686 br i1 %t5687, label %grow1146, label %put1147 grow1146: %t5688 = mul i32 %t5686, 2 %t5689 = icmp eq i32 %t5686, 0 %t5690 = select i1 %t5689, i32 8, i32 %t5688 %t5691 = getelementptr ptr, ptr null, i32 1 %t5692 = ptrtoint ptr %t5691 to i64 %t5693 = zext i32 %t5690 to i64 %t5694 = mul i64 %t5693, %t5692 %t5695 = load ptr, ptr %t5684 %t5696 = call ptr @realloc(ptr %t5695, i64 %t5694) store ptr %t5696, ptr %t5684 store i32 %t5690, ptr %t5683 br label %put1147 put1147: %t5697 = load ptr, ptr %t5684 %t5698 = getelementptr inbounds ptr, ptr %t5697, i32 %t5685 store ptr @.str7881, ptr %t5698 %t5699 = add i32 %t5685, 1 store i32 %t5699, ptr %t5682 %t5700 = load ptr, ptr %t410 %t5701 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 1 %t5702 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 2 %t5703 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 0 %t5704 = load i32, ptr %t5701 %t5705 = load i32, ptr %t5702 %t5706 = icmp sge i32 %t5704, %t5705 br i1 %t5706, label %grow1148, label %put1149 grow1148: %t5707 = mul i32 %t5705, 2 %t5708 = icmp eq i32 %t5705, 0 %t5709 = select i1 %t5708, i32 8, i32 %t5707 %t5710 = getelementptr ptr, ptr null, i32 1 %t5711 = ptrtoint ptr %t5710 to i64 %t5712 = zext i32 %t5709 to i64 %t5713 = mul i64 %t5712, %t5711 %t5714 = load ptr, ptr %t5703 %t5715 = call ptr @realloc(ptr %t5714, i64 %t5713) store ptr %t5715, ptr %t5703 store i32 %t5709, ptr %t5702 br label %put1149 put1149: %t5716 = load ptr, ptr %t5703 %t5717 = getelementptr inbounds ptr, ptr %t5716, i32 %t5704 store ptr @.str7882, ptr %t5717 %t5718 = add i32 %t5704, 1 store i32 %t5718, ptr %t5701 %t5719 = load ptr, ptr %t410 %t5720 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 1 %t5721 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 2 %t5722 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 0 %t5723 = load i32, ptr %t5720 %t5724 = load i32, ptr %t5721 %t5725 = icmp sge i32 %t5723, %t5724 br i1 %t5725, label %grow1150, label %put1151 grow1150: %t5726 = mul i32 %t5724, 2 %t5727 = icmp eq i32 %t5724, 0 %t5728 = select i1 %t5727, i32 8, i32 %t5726 %t5729 = getelementptr ptr, ptr null, i32 1 %t5730 = ptrtoint ptr %t5729 to i64 %t5731 = zext i32 %t5728 to i64 %t5732 = mul i64 %t5731, %t5730 %t5733 = load ptr, ptr %t5722 %t5734 = call ptr @realloc(ptr %t5733, i64 %t5732) store ptr %t5734, ptr %t5722 store i32 %t5728, ptr %t5721 br label %put1151 put1151: %t5735 = load ptr, ptr %t5722 %t5736 = getelementptr inbounds ptr, ptr %t5735, i32 %t5723 store ptr @.str7883, ptr %t5736 %t5737 = add i32 %t5723, 1 store i32 %t5737, ptr %t5720 br label %ifend1143 ifend1143: %t5738 = load ptr, ptr %t1 %t5739 = call i32 @lp_str_eq(ptr %t5738, ptr @.str7884) %t5740 = icmp ne i32 %t5739, 0 br i1 %t5740, label %then1152, label %ifend1154 then1152: store ptr @.str7885, ptr %t403 %t5741 = load ptr, ptr %t410 %t5742 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 1 %t5743 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 2 %t5744 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 0 %t5745 = load i32, ptr %t5742 %t5746 = load i32, ptr %t5743 %t5747 = icmp sge i32 %t5745, %t5746 br i1 %t5747, label %grow1155, label %put1156 grow1155: %t5748 = mul i32 %t5746, 2 %t5749 = icmp eq i32 %t5746, 0 %t5750 = select i1 %t5749, i32 8, i32 %t5748 %t5751 = getelementptr ptr, ptr null, i32 1 %t5752 = ptrtoint ptr %t5751 to i64 %t5753 = zext i32 %t5750 to i64 %t5754 = mul i64 %t5753, %t5752 %t5755 = load ptr, ptr %t5744 %t5756 = call ptr @realloc(ptr %t5755, i64 %t5754) store ptr %t5756, ptr %t5744 store i32 %t5750, ptr %t5743 br label %put1156 put1156: %t5757 = load ptr, ptr %t5744 %t5758 = getelementptr inbounds ptr, ptr %t5757, i32 %t5745 store ptr @.str7886, ptr %t5758 %t5759 = add i32 %t5745, 1 store i32 %t5759, ptr %t5742 br label %ifend1154 ifend1154: br label %ifend934 ifend934: %t5760 = load ptr, ptr %t0 %t5761 = call i32 @lp_str_eq(ptr %t5760, ptr @.str7887) %t5762 = icmp ne i32 %t5761, 0 br i1 %t5762, label %then1157, label %ifend1159 then1157: %t5763 = load ptr, ptr %t1 %t5764 = call i32 @lp_str_eq(ptr %t5763, ptr @.str7888) %t5765 = icmp ne i32 %t5764, 0 br i1 %t5765, label %then1160, label %ifend1162 then1160: store ptr @.str7889, ptr %t403 %t5766 = load ptr, ptr %t410 %t5767 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 1 %t5768 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 2 %t5769 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 0 %t5770 = load i32, ptr %t5767 %t5771 = load i32, ptr %t5768 %t5772 = icmp sge i32 %t5770, %t5771 br i1 %t5772, label %grow1163, label %put1164 grow1163: %t5773 = mul i32 %t5771, 2 %t5774 = icmp eq i32 %t5771, 0 %t5775 = select i1 %t5774, i32 8, i32 %t5773 %t5776 = getelementptr ptr, ptr null, i32 1 %t5777 = ptrtoint ptr %t5776 to i64 %t5778 = zext i32 %t5775 to i64 %t5779 = mul i64 %t5778, %t5777 %t5780 = load ptr, ptr %t5769 %t5781 = call ptr @realloc(ptr %t5780, i64 %t5779) store ptr %t5781, ptr %t5769 store i32 %t5775, ptr %t5768 br label %put1164 put1164: %t5782 = load ptr, ptr %t5769 %t5783 = getelementptr inbounds ptr, ptr %t5782, i32 %t5770 store ptr @.str7890, ptr %t5783 %t5784 = add i32 %t5770, 1 store i32 %t5784, ptr %t5767 br label %ifend1162 ifend1162: %t5785 = load ptr, ptr %t1 %t5786 = call i32 @lp_str_eq(ptr %t5785, ptr @.str7891) %t5787 = icmp ne i32 %t5786, 0 br i1 %t5787, label %then1165, label %ifend1167 then1165: store ptr @.str7892, ptr %t403 %t5788 = load ptr, ptr %t410 %t5789 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 1 %t5790 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 2 %t5791 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 0 %t5792 = load i32, ptr %t5789 %t5793 = load i32, ptr %t5790 %t5794 = icmp sge i32 %t5792, %t5793 br i1 %t5794, label %grow1168, label %put1169 grow1168: %t5795 = mul i32 %t5793, 2 %t5796 = icmp eq i32 %t5793, 0 %t5797 = select i1 %t5796, i32 8, i32 %t5795 %t5798 = getelementptr ptr, ptr null, i32 1 %t5799 = ptrtoint ptr %t5798 to i64 %t5800 = zext i32 %t5797 to i64 %t5801 = mul i64 %t5800, %t5799 %t5802 = load ptr, ptr %t5791 %t5803 = call ptr @realloc(ptr %t5802, i64 %t5801) store ptr %t5803, ptr %t5791 store i32 %t5797, ptr %t5790 br label %put1169 put1169: %t5804 = load ptr, ptr %t5791 %t5805 = getelementptr inbounds ptr, ptr %t5804, i32 %t5792 store ptr @.str7893, ptr %t5805 %t5806 = add i32 %t5792, 1 store i32 %t5806, ptr %t5789 %t5807 = load ptr, ptr %t410 %t5808 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 1 %t5809 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 2 %t5810 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 0 %t5811 = load i32, ptr %t5808 %t5812 = load i32, ptr %t5809 %t5813 = icmp sge i32 %t5811, %t5812 br i1 %t5813, label %grow1170, label %put1171 grow1170: %t5814 = mul i32 %t5812, 2 %t5815 = icmp eq i32 %t5812, 0 %t5816 = select i1 %t5815, i32 8, i32 %t5814 %t5817 = getelementptr ptr, ptr null, i32 1 %t5818 = ptrtoint ptr %t5817 to i64 %t5819 = zext i32 %t5816 to i64 %t5820 = mul i64 %t5819, %t5818 %t5821 = load ptr, ptr %t5810 %t5822 = call ptr @realloc(ptr %t5821, i64 %t5820) store ptr %t5822, ptr %t5810 store i32 %t5816, ptr %t5809 br label %put1171 put1171: %t5823 = load ptr, ptr %t5810 %t5824 = getelementptr inbounds ptr, ptr %t5823, i32 %t5811 store ptr @.str7894, ptr %t5824 %t5825 = add i32 %t5811, 1 store i32 %t5825, ptr %t5808 br label %ifend1167 ifend1167: %t5826 = load ptr, ptr %t1 %t5827 = call i32 @lp_str_eq(ptr %t5826, ptr @.str7895) %t5828 = icmp ne i32 %t5827, 0 br i1 %t5828, label %then1172, label %ifend1174 then1172: store ptr @.str7896, ptr %t403 %t5829 = load ptr, ptr %t410 %t5830 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 1 %t5831 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 2 %t5832 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 0 %t5833 = load i32, ptr %t5830 %t5834 = load i32, ptr %t5831 %t5835 = icmp sge i32 %t5833, %t5834 br i1 %t5835, label %grow1175, label %put1176 grow1175: %t5836 = mul i32 %t5834, 2 %t5837 = icmp eq i32 %t5834, 0 %t5838 = select i1 %t5837, i32 8, i32 %t5836 %t5839 = getelementptr ptr, ptr null, i32 1 %t5840 = ptrtoint ptr %t5839 to i64 %t5841 = zext i32 %t5838 to i64 %t5842 = mul i64 %t5841, %t5840 %t5843 = load ptr, ptr %t5832 %t5844 = call ptr @realloc(ptr %t5843, i64 %t5842) store ptr %t5844, ptr %t5832 store i32 %t5838, ptr %t5831 br label %put1176 put1176: %t5845 = load ptr, ptr %t5832 %t5846 = getelementptr inbounds ptr, ptr %t5845, i32 %t5833 store ptr @.str7897, ptr %t5846 %t5847 = add i32 %t5833, 1 store i32 %t5847, ptr %t5830 br label %ifend1174 ifend1174: %t5848 = load ptr, ptr %t1 %t5849 = call i32 @lp_str_eq(ptr %t5848, ptr @.str7898) %t5850 = icmp ne i32 %t5849, 0 br i1 %t5850, label %then1177, label %ifend1179 then1177: %t5851 = load ptr, ptr %t2 %t5852 = call i32 @fn_first_arg_is_text(ptr %t5851) %t5853 = icmp ne i32 %t5852, 0 br i1 %t5853, label %then1180, label %else1181 then1180: store ptr @.str7899, ptr %t403 %t5854 = load ptr, ptr %t410 %t5855 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 1 %t5856 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 2 %t5857 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 0 %t5858 = load i32, ptr %t5855 %t5859 = load i32, ptr %t5856 %t5860 = icmp sge i32 %t5858, %t5859 br i1 %t5860, label %grow1183, label %put1184 grow1183: %t5861 = mul i32 %t5859, 2 %t5862 = icmp eq i32 %t5859, 0 %t5863 = select i1 %t5862, i32 8, i32 %t5861 %t5864 = getelementptr ptr, ptr null, i32 1 %t5865 = ptrtoint ptr %t5864 to i64 %t5866 = zext i32 %t5863 to i64 %t5867 = mul i64 %t5866, %t5865 %t5868 = load ptr, ptr %t5857 %t5869 = call ptr @realloc(ptr %t5868, i64 %t5867) store ptr %t5869, ptr %t5857 store i32 %t5863, ptr %t5856 br label %put1184 put1184: %t5870 = load ptr, ptr %t5857 %t5871 = getelementptr inbounds ptr, ptr %t5870, i32 %t5858 store ptr @.str7900, ptr %t5871 %t5872 = add i32 %t5858, 1 store i32 %t5872, ptr %t5855 br label %ifend1182 else1181: store ptr @.str7901, ptr %t403 %t5873 = load ptr, ptr %t410 %t5874 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 1 %t5875 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 2 %t5876 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 0 %t5877 = load i32, ptr %t5874 %t5878 = load i32, ptr %t5875 %t5879 = icmp sge i32 %t5877, %t5878 br i1 %t5879, label %grow1185, label %put1186 grow1185: %t5880 = mul i32 %t5878, 2 %t5881 = icmp eq i32 %t5878, 0 %t5882 = select i1 %t5881, i32 8, i32 %t5880 %t5883 = getelementptr ptr, ptr null, i32 1 %t5884 = ptrtoint ptr %t5883 to i64 %t5885 = zext i32 %t5882 to i64 %t5886 = mul i64 %t5885, %t5884 %t5887 = load ptr, ptr %t5876 %t5888 = call ptr @realloc(ptr %t5887, i64 %t5886) store ptr %t5888, ptr %t5876 store i32 %t5882, ptr %t5875 br label %put1186 put1186: %t5889 = load ptr, ptr %t5876 %t5890 = getelementptr inbounds ptr, ptr %t5889, i32 %t5877 store ptr @.str7902, ptr %t5890 %t5891 = add i32 %t5877, 1 store i32 %t5891, ptr %t5874 br label %ifend1182 ifend1182: br label %ifend1179 ifend1179: %t5892 = load ptr, ptr %t1 %t5893 = call i32 @lp_str_eq(ptr %t5892, ptr @.str7903) %t5894 = icmp ne i32 %t5893, 0 br i1 %t5894, label %then1187, label %ifend1189 then1187: store ptr @.str7904, ptr %t403 %t5895 = load ptr, ptr %t410 %t5896 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 1 %t5897 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 2 %t5898 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 0 %t5899 = load i32, ptr %t5896 %t5900 = load i32, ptr %t5897 %t5901 = icmp sge i32 %t5899, %t5900 br i1 %t5901, label %grow1190, label %put1191 grow1190: %t5902 = mul i32 %t5900, 2 %t5903 = icmp eq i32 %t5900, 0 %t5904 = select i1 %t5903, i32 8, i32 %t5902 %t5905 = getelementptr ptr, ptr null, i32 1 %t5906 = ptrtoint ptr %t5905 to i64 %t5907 = zext i32 %t5904 to i64 %t5908 = mul i64 %t5907, %t5906 %t5909 = load ptr, ptr %t5898 %t5910 = call ptr @realloc(ptr %t5909, i64 %t5908) store ptr %t5910, ptr %t5898 store i32 %t5904, ptr %t5897 br label %put1191 put1191: %t5911 = load ptr, ptr %t5898 %t5912 = getelementptr inbounds ptr, ptr %t5911, i32 %t5899 store ptr @.str7905, ptr %t5912 %t5913 = add i32 %t5899, 1 store i32 %t5913, ptr %t5896 br label %ifend1189 ifend1189: %t5914 = load ptr, ptr %t1 %t5915 = call i32 @lp_str_eq(ptr %t5914, ptr @.str7906) %t5916 = icmp ne i32 %t5915, 0 br i1 %t5916, label %then1192, label %ifend1194 then1192: store ptr @.str7907, ptr %t403 %t5917 = load ptr, ptr %t410 %t5918 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 1 %t5919 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 2 %t5920 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 0 %t5921 = load i32, ptr %t5918 %t5922 = load i32, ptr %t5919 %t5923 = icmp sge i32 %t5921, %t5922 br i1 %t5923, label %grow1195, label %put1196 grow1195: %t5924 = mul i32 %t5922, 2 %t5925 = icmp eq i32 %t5922, 0 %t5926 = select i1 %t5925, i32 8, i32 %t5924 %t5927 = getelementptr ptr, ptr null, i32 1 %t5928 = ptrtoint ptr %t5927 to i64 %t5929 = zext i32 %t5926 to i64 %t5930 = mul i64 %t5929, %t5928 %t5931 = load ptr, ptr %t5920 %t5932 = call ptr @realloc(ptr %t5931, i64 %t5930) store ptr %t5932, ptr %t5920 store i32 %t5926, ptr %t5919 br label %put1196 put1196: %t5933 = load ptr, ptr %t5920 %t5934 = getelementptr inbounds ptr, ptr %t5933, i32 %t5921 store ptr @.str7908, ptr %t5934 %t5935 = add i32 %t5921, 1 store i32 %t5935, ptr %t5918 %t5936 = load ptr, ptr %t410 %t5937 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 1 %t5938 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 2 %t5939 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 0 %t5940 = load i32, ptr %t5937 %t5941 = load i32, ptr %t5938 %t5942 = icmp sge i32 %t5940, %t5941 br i1 %t5942, label %grow1197, label %put1198 grow1197: %t5943 = mul i32 %t5941, 2 %t5944 = icmp eq i32 %t5941, 0 %t5945 = select i1 %t5944, i32 8, i32 %t5943 %t5946 = getelementptr ptr, ptr null, i32 1 %t5947 = ptrtoint ptr %t5946 to i64 %t5948 = zext i32 %t5945 to i64 %t5949 = mul i64 %t5948, %t5947 %t5950 = load ptr, ptr %t5939 %t5951 = call ptr @realloc(ptr %t5950, i64 %t5949) store ptr %t5951, ptr %t5939 store i32 %t5945, ptr %t5938 br label %put1198 put1198: %t5952 = load ptr, ptr %t5939 %t5953 = getelementptr inbounds ptr, ptr %t5952, i32 %t5940 store ptr @.str7909, ptr %t5953 %t5954 = add i32 %t5940, 1 store i32 %t5954, ptr %t5937 %t5955 = load ptr, ptr %t410 %t5956 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 1 %t5957 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 2 %t5958 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 0 %t5959 = load i32, ptr %t5956 %t5960 = load i32, ptr %t5957 %t5961 = icmp sge i32 %t5959, %t5960 br i1 %t5961, label %grow1199, label %put1200 grow1199: %t5962 = mul i32 %t5960, 2 %t5963 = icmp eq i32 %t5960, 0 %t5964 = select i1 %t5963, i32 8, i32 %t5962 %t5965 = getelementptr ptr, ptr null, i32 1 %t5966 = ptrtoint ptr %t5965 to i64 %t5967 = zext i32 %t5964 to i64 %t5968 = mul i64 %t5967, %t5966 %t5969 = load ptr, ptr %t5958 %t5970 = call ptr @realloc(ptr %t5969, i64 %t5968) store ptr %t5970, ptr %t5958 store i32 %t5964, ptr %t5957 br label %put1200 put1200: %t5971 = load ptr, ptr %t5958 %t5972 = getelementptr inbounds ptr, ptr %t5971, i32 %t5959 store ptr @.str7910, ptr %t5972 %t5973 = add i32 %t5959, 1 store i32 %t5973, ptr %t5956 %t5974 = load ptr, ptr %t410 %t5975 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 1 %t5976 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 2 %t5977 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 0 %t5978 = load i32, ptr %t5975 %t5979 = load i32, ptr %t5976 %t5980 = icmp sge i32 %t5978, %t5979 br i1 %t5980, label %grow1201, label %put1202 grow1201: %t5981 = mul i32 %t5979, 2 %t5982 = icmp eq i32 %t5979, 0 %t5983 = select i1 %t5982, i32 8, i32 %t5981 %t5984 = getelementptr ptr, ptr null, i32 1 %t5985 = ptrtoint ptr %t5984 to i64 %t5986 = zext i32 %t5983 to i64 %t5987 = mul i64 %t5986, %t5985 %t5988 = load ptr, ptr %t5977 %t5989 = call ptr @realloc(ptr %t5988, i64 %t5987) store ptr %t5989, ptr %t5977 store i32 %t5983, ptr %t5976 br label %put1202 put1202: %t5990 = load ptr, ptr %t5977 %t5991 = getelementptr inbounds ptr, ptr %t5990, i32 %t5978 store ptr @.str7911, ptr %t5991 %t5992 = add i32 %t5978, 1 store i32 %t5992, ptr %t5975 br label %ifend1194 ifend1194: %t5993 = load ptr, ptr %t1 %t5994 = call i32 @lp_str_eq(ptr %t5993, ptr @.str7912) %t5995 = icmp ne i32 %t5994, 0 br i1 %t5995, label %then1203, label %ifend1205 then1203: %t5996 = load ptr, ptr %t2 %t5997 = call i32 @fn_first_arg_is_text(ptr %t5996) %t5998 = icmp ne i32 %t5997, 0 br i1 %t5998, label %then1206, label %else1207 then1206: store ptr @.str7913, ptr %t403 %t5999 = load ptr, ptr %t410 %t6000 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 1 %t6001 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 2 %t6002 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 0 %t6003 = load i32, ptr %t6000 %t6004 = load i32, ptr %t6001 %t6005 = icmp sge i32 %t6003, %t6004 br i1 %t6005, label %grow1209, label %put1210 grow1209: %t6006 = mul i32 %t6004, 2 %t6007 = icmp eq i32 %t6004, 0 %t6008 = select i1 %t6007, i32 8, i32 %t6006 %t6009 = getelementptr ptr, ptr null, i32 1 %t6010 = ptrtoint ptr %t6009 to i64 %t6011 = zext i32 %t6008 to i64 %t6012 = mul i64 %t6011, %t6010 %t6013 = load ptr, ptr %t6002 %t6014 = call ptr @realloc(ptr %t6013, i64 %t6012) store ptr %t6014, ptr %t6002 store i32 %t6008, ptr %t6001 br label %put1210 put1210: %t6015 = load ptr, ptr %t6002 %t6016 = getelementptr inbounds ptr, ptr %t6015, i32 %t6003 store ptr @.str7914, ptr %t6016 %t6017 = add i32 %t6003, 1 store i32 %t6017, ptr %t6000 br label %ifend1208 else1207: store ptr @.str7915, ptr %t403 %t6018 = load ptr, ptr %t410 %t6019 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 1 %t6020 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 2 %t6021 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 0 %t6022 = load i32, ptr %t6019 %t6023 = load i32, ptr %t6020 %t6024 = icmp sge i32 %t6022, %t6023 br i1 %t6024, label %grow1211, label %put1212 grow1211: %t6025 = mul i32 %t6023, 2 %t6026 = icmp eq i32 %t6023, 0 %t6027 = select i1 %t6026, i32 8, i32 %t6025 %t6028 = getelementptr ptr, ptr null, i32 1 %t6029 = ptrtoint ptr %t6028 to i64 %t6030 = zext i32 %t6027 to i64 %t6031 = mul i64 %t6030, %t6029 %t6032 = load ptr, ptr %t6021 %t6033 = call ptr @realloc(ptr %t6032, i64 %t6031) store ptr %t6033, ptr %t6021 store i32 %t6027, ptr %t6020 br label %put1212 put1212: %t6034 = load ptr, ptr %t6021 %t6035 = getelementptr inbounds ptr, ptr %t6034, i32 %t6022 store ptr @.str7916, ptr %t6035 %t6036 = add i32 %t6022, 1 store i32 %t6036, ptr %t6019 br label %ifend1208 ifend1208: br label %ifend1205 ifend1205: %t6037 = load ptr, ptr %t1 %t6038 = call i32 @lp_str_eq(ptr %t6037, ptr @.str7917) %t6039 = icmp ne i32 %t6038, 0 br i1 %t6039, label %then1213, label %ifend1215 then1213: store ptr @.str7918, ptr %t403 %t6040 = load ptr, ptr %t410 %t6041 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 1 %t6042 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 2 %t6043 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 0 %t6044 = load i32, ptr %t6041 %t6045 = load i32, ptr %t6042 %t6046 = icmp sge i32 %t6044, %t6045 br i1 %t6046, label %grow1216, label %put1217 grow1216: %t6047 = mul i32 %t6045, 2 %t6048 = icmp eq i32 %t6045, 0 %t6049 = select i1 %t6048, i32 8, i32 %t6047 %t6050 = getelementptr ptr, ptr null, i32 1 %t6051 = ptrtoint ptr %t6050 to i64 %t6052 = zext i32 %t6049 to i64 %t6053 = mul i64 %t6052, %t6051 %t6054 = load ptr, ptr %t6043 %t6055 = call ptr @realloc(ptr %t6054, i64 %t6053) store ptr %t6055, ptr %t6043 store i32 %t6049, ptr %t6042 br label %put1217 put1217: %t6056 = load ptr, ptr %t6043 %t6057 = getelementptr inbounds ptr, ptr %t6056, i32 %t6044 store ptr @.str7919, ptr %t6057 %t6058 = add i32 %t6044, 1 store i32 %t6058, ptr %t6041 br label %ifend1215 ifend1215: %t6059 = load ptr, ptr %t1 %t6060 = call i32 @lp_str_eq(ptr %t6059, ptr @.str7920) %t6061 = icmp ne i32 %t6060, 0 br i1 %t6061, label %then1218, label %ifend1220 then1218: store ptr @.str7921, ptr %t403 br label %ifend1220 ifend1220: %t6062 = load ptr, ptr %t1 %t6063 = call i32 @lp_str_eq(ptr %t6062, ptr @.str7922) %t6064 = icmp ne i32 %t6063, 0 br i1 %t6064, label %then1221, label %ifend1223 then1221: store ptr @.str7923, ptr %t403 br label %ifend1223 ifend1223: %t6065 = load ptr, ptr %t1 %t6066 = call i32 @lp_str_eq(ptr %t6065, ptr @.str7924) %t6067 = icmp ne i32 %t6066, 0 br i1 %t6067, label %then1224, label %ifend1226 then1224: store ptr @.str7925, ptr %t403 %t6068 = load ptr, ptr %t410 %t6069 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 1 %t6070 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 2 %t6071 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 0 %t6072 = load i32, ptr %t6069 %t6073 = load i32, ptr %t6070 %t6074 = icmp sge i32 %t6072, %t6073 br i1 %t6074, label %grow1227, label %put1228 grow1227: %t6075 = mul i32 %t6073, 2 %t6076 = icmp eq i32 %t6073, 0 %t6077 = select i1 %t6076, i32 8, i32 %t6075 %t6078 = getelementptr ptr, ptr null, i32 1 %t6079 = ptrtoint ptr %t6078 to i64 %t6080 = zext i32 %t6077 to i64 %t6081 = mul i64 %t6080, %t6079 %t6082 = load ptr, ptr %t6071 %t6083 = call ptr @realloc(ptr %t6082, i64 %t6081) store ptr %t6083, ptr %t6071 store i32 %t6077, ptr %t6070 br label %put1228 put1228: %t6084 = load ptr, ptr %t6071 %t6085 = getelementptr inbounds ptr, ptr %t6084, i32 %t6072 store ptr @.str7926, ptr %t6085 %t6086 = add i32 %t6072, 1 store i32 %t6086, ptr %t6069 br label %ifend1226 ifend1226: %t6087 = load ptr, ptr %t1 %t6088 = call i32 @lp_str_eq(ptr %t6087, ptr @.str7927) %t6089 = icmp ne i32 %t6088, 0 br i1 %t6089, label %then1229, label %ifend1231 then1229: store ptr @.str7928, ptr %t403 %t6090 = load ptr, ptr %t410 %t6091 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 1 %t6092 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 2 %t6093 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 0 %t6094 = load i32, ptr %t6091 %t6095 = load i32, ptr %t6092 %t6096 = icmp sge i32 %t6094, %t6095 br i1 %t6096, label %grow1232, label %put1233 grow1232: %t6097 = mul i32 %t6095, 2 %t6098 = icmp eq i32 %t6095, 0 %t6099 = select i1 %t6098, i32 8, i32 %t6097 %t6100 = getelementptr ptr, ptr null, i32 1 %t6101 = ptrtoint ptr %t6100 to i64 %t6102 = zext i32 %t6099 to i64 %t6103 = mul i64 %t6102, %t6101 %t6104 = load ptr, ptr %t6093 %t6105 = call ptr @realloc(ptr %t6104, i64 %t6103) store ptr %t6105, ptr %t6093 store i32 %t6099, ptr %t6092 br label %put1233 put1233: %t6106 = load ptr, ptr %t6093 %t6107 = getelementptr inbounds ptr, ptr %t6106, i32 %t6094 store ptr @.str7929, ptr %t6107 %t6108 = add i32 %t6094, 1 store i32 %t6108, ptr %t6091 br label %ifend1231 ifend1231: %t6109 = load ptr, ptr %t1 %t6110 = call i32 @lp_str_eq(ptr %t6109, ptr @.str7930) %t6111 = icmp ne i32 %t6110, 0 br i1 %t6111, label %then1234, label %ifend1236 then1234: store ptr @.str7931, ptr %t403 %t6112 = load ptr, ptr %t410 %t6113 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 1 %t6114 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 2 %t6115 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 0 %t6116 = load i32, ptr %t6113 %t6117 = load i32, ptr %t6114 %t6118 = icmp sge i32 %t6116, %t6117 br i1 %t6118, label %grow1237, label %put1238 grow1237: %t6119 = mul i32 %t6117, 2 %t6120 = icmp eq i32 %t6117, 0 %t6121 = select i1 %t6120, i32 8, i32 %t6119 %t6122 = getelementptr ptr, ptr null, i32 1 %t6123 = ptrtoint ptr %t6122 to i64 %t6124 = zext i32 %t6121 to i64 %t6125 = mul i64 %t6124, %t6123 %t6126 = load ptr, ptr %t6115 %t6127 = call ptr @realloc(ptr %t6126, i64 %t6125) store ptr %t6127, ptr %t6115 store i32 %t6121, ptr %t6114 br label %put1238 put1238: %t6128 = load ptr, ptr %t6115 %t6129 = getelementptr inbounds ptr, ptr %t6128, i32 %t6116 store ptr @.str7932, ptr %t6129 %t6130 = add i32 %t6116, 1 store i32 %t6130, ptr %t6113 br label %ifend1236 ifend1236: br label %ifend1159 ifend1159: %t6131 = load ptr, ptr %t0 %t6132 = call i32 @lp_str_eq(ptr %t6131, ptr @.str7933) %t6133 = icmp ne i32 %t6132, 0 br i1 %t6133, label %then1239, label %ifend1241 then1239: %t6134 = load ptr, ptr %t1 %t6135 = call i32 @lp_str_eq(ptr %t6134, ptr @.str7934) %t6136 = icmp ne i32 %t6135, 0 br i1 %t6136, label %then1242, label %ifend1244 then1242: store ptr @.str7935, ptr %t403 %t6137 = load ptr, ptr %t410 %t6138 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 1 %t6139 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 2 %t6140 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 0 %t6141 = load i32, ptr %t6138 %t6142 = load i32, ptr %t6139 %t6143 = icmp sge i32 %t6141, %t6142 br i1 %t6143, label %grow1245, label %put1246 grow1245: %t6144 = mul i32 %t6142, 2 %t6145 = icmp eq i32 %t6142, 0 %t6146 = select i1 %t6145, i32 8, i32 %t6144 %t6147 = getelementptr ptr, ptr null, i32 1 %t6148 = ptrtoint ptr %t6147 to i64 %t6149 = zext i32 %t6146 to i64 %t6150 = mul i64 %t6149, %t6148 %t6151 = load ptr, ptr %t6140 %t6152 = call ptr @realloc(ptr %t6151, i64 %t6150) store ptr %t6152, ptr %t6140 store i32 %t6146, ptr %t6139 br label %put1246 put1246: %t6153 = load ptr, ptr %t6140 %t6154 = getelementptr inbounds ptr, ptr %t6153, i32 %t6141 store ptr @.str7936, ptr %t6154 %t6155 = add i32 %t6141, 1 store i32 %t6155, ptr %t6138 br label %ifend1244 ifend1244: %t6156 = load ptr, ptr %t1 %t6157 = call i32 @lp_str_eq(ptr %t6156, ptr @.str7937) %t6158 = icmp ne i32 %t6157, 0 br i1 %t6158, label %then1247, label %ifend1249 then1247: store ptr @.str7938, ptr %t403 %t6159 = load ptr, ptr %t410 %t6160 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 1 %t6161 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 2 %t6162 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 0 %t6163 = load i32, ptr %t6160 %t6164 = load i32, ptr %t6161 %t6165 = icmp sge i32 %t6163, %t6164 br i1 %t6165, label %grow1250, label %put1251 grow1250: %t6166 = mul i32 %t6164, 2 %t6167 = icmp eq i32 %t6164, 0 %t6168 = select i1 %t6167, i32 8, i32 %t6166 %t6169 = getelementptr ptr, ptr null, i32 1 %t6170 = ptrtoint ptr %t6169 to i64 %t6171 = zext i32 %t6168 to i64 %t6172 = mul i64 %t6171, %t6170 %t6173 = load ptr, ptr %t6162 %t6174 = call ptr @realloc(ptr %t6173, i64 %t6172) store ptr %t6174, ptr %t6162 store i32 %t6168, ptr %t6161 br label %put1251 put1251: %t6175 = load ptr, ptr %t6162 %t6176 = getelementptr inbounds ptr, ptr %t6175, i32 %t6163 store ptr @.str7939, ptr %t6176 %t6177 = add i32 %t6163, 1 store i32 %t6177, ptr %t6160 %t6178 = load ptr, ptr %t410 %t6179 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 1 %t6180 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 2 %t6181 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 0 %t6182 = load i32, ptr %t6179 %t6183 = load i32, ptr %t6180 %t6184 = icmp sge i32 %t6182, %t6183 br i1 %t6184, label %grow1252, label %put1253 grow1252: %t6185 = mul i32 %t6183, 2 %t6186 = icmp eq i32 %t6183, 0 %t6187 = select i1 %t6186, i32 8, i32 %t6185 %t6188 = getelementptr ptr, ptr null, i32 1 %t6189 = ptrtoint ptr %t6188 to i64 %t6190 = zext i32 %t6187 to i64 %t6191 = mul i64 %t6190, %t6189 %t6192 = load ptr, ptr %t6181 %t6193 = call ptr @realloc(ptr %t6192, i64 %t6191) store ptr %t6193, ptr %t6181 store i32 %t6187, ptr %t6180 br label %put1253 put1253: %t6194 = load ptr, ptr %t6181 %t6195 = getelementptr inbounds ptr, ptr %t6194, i32 %t6182 store ptr @.str7940, ptr %t6195 %t6196 = add i32 %t6182, 1 store i32 %t6196, ptr %t6179 br label %ifend1249 ifend1249: %t6197 = load ptr, ptr %t1 %t6198 = call i32 @lp_str_eq(ptr %t6197, ptr @.str7941) %t6199 = icmp ne i32 %t6198, 0 br i1 %t6199, label %then1254, label %ifend1256 then1254: store ptr @.str7942, ptr %t403 %t6200 = load ptr, ptr %t410 %t6201 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 1 %t6202 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 2 %t6203 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 0 %t6204 = load i32, ptr %t6201 %t6205 = load i32, ptr %t6202 %t6206 = icmp sge i32 %t6204, %t6205 br i1 %t6206, label %grow1257, label %put1258 grow1257: %t6207 = mul i32 %t6205, 2 %t6208 = icmp eq i32 %t6205, 0 %t6209 = select i1 %t6208, i32 8, i32 %t6207 %t6210 = getelementptr ptr, ptr null, i32 1 %t6211 = ptrtoint ptr %t6210 to i64 %t6212 = zext i32 %t6209 to i64 %t6213 = mul i64 %t6212, %t6211 %t6214 = load ptr, ptr %t6203 %t6215 = call ptr @realloc(ptr %t6214, i64 %t6213) store ptr %t6215, ptr %t6203 store i32 %t6209, ptr %t6202 br label %put1258 put1258: %t6216 = load ptr, ptr %t6203 %t6217 = getelementptr inbounds ptr, ptr %t6216, i32 %t6204 store ptr @.str7943, ptr %t6217 %t6218 = add i32 %t6204, 1 store i32 %t6218, ptr %t6201 %t6219 = load ptr, ptr %t410 %t6220 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 1 %t6221 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 2 %t6222 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 0 %t6223 = load i32, ptr %t6220 %t6224 = load i32, ptr %t6221 %t6225 = icmp sge i32 %t6223, %t6224 br i1 %t6225, label %grow1259, label %put1260 grow1259: %t6226 = mul i32 %t6224, 2 %t6227 = icmp eq i32 %t6224, 0 %t6228 = select i1 %t6227, i32 8, i32 %t6226 %t6229 = getelementptr ptr, ptr null, i32 1 %t6230 = ptrtoint ptr %t6229 to i64 %t6231 = zext i32 %t6228 to i64 %t6232 = mul i64 %t6231, %t6230 %t6233 = load ptr, ptr %t6222 %t6234 = call ptr @realloc(ptr %t6233, i64 %t6232) store ptr %t6234, ptr %t6222 store i32 %t6228, ptr %t6221 br label %put1260 put1260: %t6235 = load ptr, ptr %t6222 %t6236 = getelementptr inbounds ptr, ptr %t6235, i32 %t6223 store ptr @.str7944, ptr %t6236 %t6237 = add i32 %t6223, 1 store i32 %t6237, ptr %t6220 %t6238 = load ptr, ptr %t410 %t6239 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 1 %t6240 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 2 %t6241 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 0 %t6242 = load i32, ptr %t6239 %t6243 = load i32, ptr %t6240 %t6244 = icmp sge i32 %t6242, %t6243 br i1 %t6244, label %grow1261, label %put1262 grow1261: %t6245 = mul i32 %t6243, 2 %t6246 = icmp eq i32 %t6243, 0 %t6247 = select i1 %t6246, i32 8, i32 %t6245 %t6248 = getelementptr ptr, ptr null, i32 1 %t6249 = ptrtoint ptr %t6248 to i64 %t6250 = zext i32 %t6247 to i64 %t6251 = mul i64 %t6250, %t6249 %t6252 = load ptr, ptr %t6241 %t6253 = call ptr @realloc(ptr %t6252, i64 %t6251) store ptr %t6253, ptr %t6241 store i32 %t6247, ptr %t6240 br label %put1262 put1262: %t6254 = load ptr, ptr %t6241 %t6255 = getelementptr inbounds ptr, ptr %t6254, i32 %t6242 store ptr @.str7945, ptr %t6255 %t6256 = add i32 %t6242, 1 store i32 %t6256, ptr %t6239 br label %ifend1256 ifend1256: %t6257 = load ptr, ptr %t1 %t6258 = call i32 @lp_str_eq(ptr %t6257, ptr @.str7946) %t6259 = icmp ne i32 %t6258, 0 br i1 %t6259, label %then1263, label %ifend1265 then1263: store ptr @.str7947, ptr %t403 %t6260 = load ptr, ptr %t410 %t6261 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 1 %t6262 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 2 %t6263 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 0 %t6264 = load i32, ptr %t6261 %t6265 = load i32, ptr %t6262 %t6266 = icmp sge i32 %t6264, %t6265 br i1 %t6266, label %grow1266, label %put1267 grow1266: %t6267 = mul i32 %t6265, 2 %t6268 = icmp eq i32 %t6265, 0 %t6269 = select i1 %t6268, i32 8, i32 %t6267 %t6270 = getelementptr ptr, ptr null, i32 1 %t6271 = ptrtoint ptr %t6270 to i64 %t6272 = zext i32 %t6269 to i64 %t6273 = mul i64 %t6272, %t6271 %t6274 = load ptr, ptr %t6263 %t6275 = call ptr @realloc(ptr %t6274, i64 %t6273) store ptr %t6275, ptr %t6263 store i32 %t6269, ptr %t6262 br label %put1267 put1267: %t6276 = load ptr, ptr %t6263 %t6277 = getelementptr inbounds ptr, ptr %t6276, i32 %t6264 store ptr @.str7948, ptr %t6277 %t6278 = add i32 %t6264, 1 store i32 %t6278, ptr %t6261 %t6279 = load ptr, ptr %t410 %t6280 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 1 %t6281 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 2 %t6282 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 0 %t6283 = load i32, ptr %t6280 %t6284 = load i32, ptr %t6281 %t6285 = icmp sge i32 %t6283, %t6284 br i1 %t6285, label %grow1268, label %put1269 grow1268: %t6286 = mul i32 %t6284, 2 %t6287 = icmp eq i32 %t6284, 0 %t6288 = select i1 %t6287, i32 8, i32 %t6286 %t6289 = getelementptr ptr, ptr null, i32 1 %t6290 = ptrtoint ptr %t6289 to i64 %t6291 = zext i32 %t6288 to i64 %t6292 = mul i64 %t6291, %t6290 %t6293 = load ptr, ptr %t6282 %t6294 = call ptr @realloc(ptr %t6293, i64 %t6292) store ptr %t6294, ptr %t6282 store i32 %t6288, ptr %t6281 br label %put1269 put1269: %t6295 = load ptr, ptr %t6282 %t6296 = getelementptr inbounds ptr, ptr %t6295, i32 %t6283 store ptr @.str7949, ptr %t6296 %t6297 = add i32 %t6283, 1 store i32 %t6297, ptr %t6280 br label %ifend1265 ifend1265: %t6298 = load ptr, ptr %t1 %t6299 = call i32 @lp_str_eq(ptr %t6298, ptr @.str7950) %t6300 = icmp ne i32 %t6299, 0 br i1 %t6300, label %then1270, label %ifend1272 then1270: store ptr @.str7951, ptr %t403 %t6301 = load ptr, ptr %t410 %t6302 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 1 %t6303 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 2 %t6304 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 0 %t6305 = load i32, ptr %t6302 %t6306 = load i32, ptr %t6303 %t6307 = icmp sge i32 %t6305, %t6306 br i1 %t6307, label %grow1273, label %put1274 grow1273: %t6308 = mul i32 %t6306, 2 %t6309 = icmp eq i32 %t6306, 0 %t6310 = select i1 %t6309, i32 8, i32 %t6308 %t6311 = getelementptr ptr, ptr null, i32 1 %t6312 = ptrtoint ptr %t6311 to i64 %t6313 = zext i32 %t6310 to i64 %t6314 = mul i64 %t6313, %t6312 %t6315 = load ptr, ptr %t6304 %t6316 = call ptr @realloc(ptr %t6315, i64 %t6314) store ptr %t6316, ptr %t6304 store i32 %t6310, ptr %t6303 br label %put1274 put1274: %t6317 = load ptr, ptr %t6304 %t6318 = getelementptr inbounds ptr, ptr %t6317, i32 %t6305 store ptr @.str7952, ptr %t6318 %t6319 = add i32 %t6305, 1 store i32 %t6319, ptr %t6302 %t6320 = load ptr, ptr %t410 %t6321 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 1 %t6322 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 2 %t6323 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 0 %t6324 = load i32, ptr %t6321 %t6325 = load i32, ptr %t6322 %t6326 = icmp sge i32 %t6324, %t6325 br i1 %t6326, label %grow1275, label %put1276 grow1275: %t6327 = mul i32 %t6325, 2 %t6328 = icmp eq i32 %t6325, 0 %t6329 = select i1 %t6328, i32 8, i32 %t6327 %t6330 = getelementptr ptr, ptr null, i32 1 %t6331 = ptrtoint ptr %t6330 to i64 %t6332 = zext i32 %t6329 to i64 %t6333 = mul i64 %t6332, %t6331 %t6334 = load ptr, ptr %t6323 %t6335 = call ptr @realloc(ptr %t6334, i64 %t6333) store ptr %t6335, ptr %t6323 store i32 %t6329, ptr %t6322 br label %put1276 put1276: %t6336 = load ptr, ptr %t6323 %t6337 = getelementptr inbounds ptr, ptr %t6336, i32 %t6324 store ptr @.str7953, ptr %t6337 %t6338 = add i32 %t6324, 1 store i32 %t6338, ptr %t6321 %t6339 = load ptr, ptr %t410 %t6340 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 1 %t6341 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 2 %t6342 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 0 %t6343 = load i32, ptr %t6340 %t6344 = load i32, ptr %t6341 %t6345 = icmp sge i32 %t6343, %t6344 br i1 %t6345, label %grow1277, label %put1278 grow1277: %t6346 = mul i32 %t6344, 2 %t6347 = icmp eq i32 %t6344, 0 %t6348 = select i1 %t6347, i32 8, i32 %t6346 %t6349 = getelementptr ptr, ptr null, i32 1 %t6350 = ptrtoint ptr %t6349 to i64 %t6351 = zext i32 %t6348 to i64 %t6352 = mul i64 %t6351, %t6350 %t6353 = load ptr, ptr %t6342 %t6354 = call ptr @realloc(ptr %t6353, i64 %t6352) store ptr %t6354, ptr %t6342 store i32 %t6348, ptr %t6341 br label %put1278 put1278: %t6355 = load ptr, ptr %t6342 %t6356 = getelementptr inbounds ptr, ptr %t6355, i32 %t6343 store ptr @.str7954, ptr %t6356 %t6357 = add i32 %t6343, 1 store i32 %t6357, ptr %t6340 br label %ifend1272 ifend1272: %t6358 = load ptr, ptr %t1 %t6359 = call i32 @lp_str_eq(ptr %t6358, ptr @.str7955) %t6360 = icmp ne i32 %t6359, 0 br i1 %t6360, label %then1279, label %ifend1281 then1279: store ptr @.str7956, ptr %t403 %t6361 = load ptr, ptr %t410 %t6362 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 1 %t6363 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 2 %t6364 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 0 %t6365 = load i32, ptr %t6362 %t6366 = load i32, ptr %t6363 %t6367 = icmp sge i32 %t6365, %t6366 br i1 %t6367, label %grow1282, label %put1283 grow1282: %t6368 = mul i32 %t6366, 2 %t6369 = icmp eq i32 %t6366, 0 %t6370 = select i1 %t6369, i32 8, i32 %t6368 %t6371 = getelementptr ptr, ptr null, i32 1 %t6372 = ptrtoint ptr %t6371 to i64 %t6373 = zext i32 %t6370 to i64 %t6374 = mul i64 %t6373, %t6372 %t6375 = load ptr, ptr %t6364 %t6376 = call ptr @realloc(ptr %t6375, i64 %t6374) store ptr %t6376, ptr %t6364 store i32 %t6370, ptr %t6363 br label %put1283 put1283: %t6377 = load ptr, ptr %t6364 %t6378 = getelementptr inbounds ptr, ptr %t6377, i32 %t6365 store ptr @.str7957, ptr %t6378 %t6379 = add i32 %t6365, 1 store i32 %t6379, ptr %t6362 %t6380 = load ptr, ptr %t410 %t6381 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 1 %t6382 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 2 %t6383 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 0 %t6384 = load i32, ptr %t6381 %t6385 = load i32, ptr %t6382 %t6386 = icmp sge i32 %t6384, %t6385 br i1 %t6386, label %grow1284, label %put1285 grow1284: %t6387 = mul i32 %t6385, 2 %t6388 = icmp eq i32 %t6385, 0 %t6389 = select i1 %t6388, i32 8, i32 %t6387 %t6390 = getelementptr ptr, ptr null, i32 1 %t6391 = ptrtoint ptr %t6390 to i64 %t6392 = zext i32 %t6389 to i64 %t6393 = mul i64 %t6392, %t6391 %t6394 = load ptr, ptr %t6383 %t6395 = call ptr @realloc(ptr %t6394, i64 %t6393) store ptr %t6395, ptr %t6383 store i32 %t6389, ptr %t6382 br label %put1285 put1285: %t6396 = load ptr, ptr %t6383 %t6397 = getelementptr inbounds ptr, ptr %t6396, i32 %t6384 store ptr @.str7958, ptr %t6397 %t6398 = add i32 %t6384, 1 store i32 %t6398, ptr %t6381 br label %ifend1281 ifend1281: %t6399 = load ptr, ptr %t1 %t6400 = call i32 @lp_str_eq(ptr %t6399, ptr @.str7959) %t6401 = icmp ne i32 %t6400, 0 br i1 %t6401, label %then1286, label %ifend1288 then1286: store ptr @.str7960, ptr %t403 %t6402 = load ptr, ptr %t410 %t6403 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 1 %t6404 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 2 %t6405 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 0 %t6406 = load i32, ptr %t6403 %t6407 = load i32, ptr %t6404 %t6408 = icmp sge i32 %t6406, %t6407 br i1 %t6408, label %grow1289, label %put1290 grow1289: %t6409 = mul i32 %t6407, 2 %t6410 = icmp eq i32 %t6407, 0 %t6411 = select i1 %t6410, i32 8, i32 %t6409 %t6412 = getelementptr ptr, ptr null, i32 1 %t6413 = ptrtoint ptr %t6412 to i64 %t6414 = zext i32 %t6411 to i64 %t6415 = mul i64 %t6414, %t6413 %t6416 = load ptr, ptr %t6405 %t6417 = call ptr @realloc(ptr %t6416, i64 %t6415) store ptr %t6417, ptr %t6405 store i32 %t6411, ptr %t6404 br label %put1290 put1290: %t6418 = load ptr, ptr %t6405 %t6419 = getelementptr inbounds ptr, ptr %t6418, i32 %t6406 store ptr @.str7961, ptr %t6419 %t6420 = add i32 %t6406, 1 store i32 %t6420, ptr %t6403 %t6421 = load ptr, ptr %t410 %t6422 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 1 %t6423 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 2 %t6424 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 0 %t6425 = load i32, ptr %t6422 %t6426 = load i32, ptr %t6423 %t6427 = icmp sge i32 %t6425, %t6426 br i1 %t6427, label %grow1291, label %put1292 grow1291: %t6428 = mul i32 %t6426, 2 %t6429 = icmp eq i32 %t6426, 0 %t6430 = select i1 %t6429, i32 8, i32 %t6428 %t6431 = getelementptr ptr, ptr null, i32 1 %t6432 = ptrtoint ptr %t6431 to i64 %t6433 = zext i32 %t6430 to i64 %t6434 = mul i64 %t6433, %t6432 %t6435 = load ptr, ptr %t6424 %t6436 = call ptr @realloc(ptr %t6435, i64 %t6434) store ptr %t6436, ptr %t6424 store i32 %t6430, ptr %t6423 br label %put1292 put1292: %t6437 = load ptr, ptr %t6424 %t6438 = getelementptr inbounds ptr, ptr %t6437, i32 %t6425 store ptr @.str7962, ptr %t6438 %t6439 = add i32 %t6425, 1 store i32 %t6439, ptr %t6422 %t6440 = load ptr, ptr %t410 %t6441 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 1 %t6442 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 2 %t6443 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 0 %t6444 = load i32, ptr %t6441 %t6445 = load i32, ptr %t6442 %t6446 = icmp sge i32 %t6444, %t6445 br i1 %t6446, label %grow1293, label %put1294 grow1293: %t6447 = mul i32 %t6445, 2 %t6448 = icmp eq i32 %t6445, 0 %t6449 = select i1 %t6448, i32 8, i32 %t6447 %t6450 = getelementptr ptr, ptr null, i32 1 %t6451 = ptrtoint ptr %t6450 to i64 %t6452 = zext i32 %t6449 to i64 %t6453 = mul i64 %t6452, %t6451 %t6454 = load ptr, ptr %t6443 %t6455 = call ptr @realloc(ptr %t6454, i64 %t6453) store ptr %t6455, ptr %t6443 store i32 %t6449, ptr %t6442 br label %put1294 put1294: %t6456 = load ptr, ptr %t6443 %t6457 = getelementptr inbounds ptr, ptr %t6456, i32 %t6444 store ptr @.str7963, ptr %t6457 %t6458 = add i32 %t6444, 1 store i32 %t6458, ptr %t6441 br label %ifend1288 ifend1288: %t6459 = load ptr, ptr %t1 %t6460 = call i32 @lp_str_eq(ptr %t6459, ptr @.str7964) %t6461 = icmp ne i32 %t6460, 0 br i1 %t6461, label %then1295, label %ifend1297 then1295: store ptr @.str7965, ptr %t403 %t6462 = load ptr, ptr %t410 %t6463 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 1 %t6464 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 2 %t6465 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 0 %t6466 = load i32, ptr %t6463 %t6467 = load i32, ptr %t6464 %t6468 = icmp sge i32 %t6466, %t6467 br i1 %t6468, label %grow1298, label %put1299 grow1298: %t6469 = mul i32 %t6467, 2 %t6470 = icmp eq i32 %t6467, 0 %t6471 = select i1 %t6470, i32 8, i32 %t6469 %t6472 = getelementptr ptr, ptr null, i32 1 %t6473 = ptrtoint ptr %t6472 to i64 %t6474 = zext i32 %t6471 to i64 %t6475 = mul i64 %t6474, %t6473 %t6476 = load ptr, ptr %t6465 %t6477 = call ptr @realloc(ptr %t6476, i64 %t6475) store ptr %t6477, ptr %t6465 store i32 %t6471, ptr %t6464 br label %put1299 put1299: %t6478 = load ptr, ptr %t6465 %t6479 = getelementptr inbounds ptr, ptr %t6478, i32 %t6466 store ptr @.str7966, ptr %t6479 %t6480 = add i32 %t6466, 1 store i32 %t6480, ptr %t6463 br label %ifend1297 ifend1297: %t6481 = load ptr, ptr %t1 %t6482 = call i32 @lp_str_eq(ptr %t6481, ptr @.str7967) %t6483 = icmp ne i32 %t6482, 0 br i1 %t6483, label %then1300, label %ifend1302 then1300: store ptr @.str7968, ptr %t403 %t6484 = load ptr, ptr %t410 %t6485 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 1 %t6486 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 2 %t6487 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 0 %t6488 = load i32, ptr %t6485 %t6489 = load i32, ptr %t6486 %t6490 = icmp sge i32 %t6488, %t6489 br i1 %t6490, label %grow1303, label %put1304 grow1303: %t6491 = mul i32 %t6489, 2 %t6492 = icmp eq i32 %t6489, 0 %t6493 = select i1 %t6492, i32 8, i32 %t6491 %t6494 = getelementptr ptr, ptr null, i32 1 %t6495 = ptrtoint ptr %t6494 to i64 %t6496 = zext i32 %t6493 to i64 %t6497 = mul i64 %t6496, %t6495 %t6498 = load ptr, ptr %t6487 %t6499 = call ptr @realloc(ptr %t6498, i64 %t6497) store ptr %t6499, ptr %t6487 store i32 %t6493, ptr %t6486 br label %put1304 put1304: %t6500 = load ptr, ptr %t6487 %t6501 = getelementptr inbounds ptr, ptr %t6500, i32 %t6488 store ptr @.str7969, ptr %t6501 %t6502 = add i32 %t6488, 1 store i32 %t6502, ptr %t6485 br label %ifend1302 ifend1302: %t6503 = load ptr, ptr %t1 %t6504 = call i32 @lp_str_eq(ptr %t6503, ptr @.str7970) %t6505 = icmp ne i32 %t6504, 0 br i1 %t6505, label %then1305, label %ifend1307 then1305: store ptr @.str7971, ptr %t403 %t6506 = load ptr, ptr %t410 %t6507 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 1 %t6508 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 2 %t6509 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 0 %t6510 = load i32, ptr %t6507 %t6511 = load i32, ptr %t6508 %t6512 = icmp sge i32 %t6510, %t6511 br i1 %t6512, label %grow1308, label %put1309 grow1308: %t6513 = mul i32 %t6511, 2 %t6514 = icmp eq i32 %t6511, 0 %t6515 = select i1 %t6514, i32 8, i32 %t6513 %t6516 = getelementptr ptr, ptr null, i32 1 %t6517 = ptrtoint ptr %t6516 to i64 %t6518 = zext i32 %t6515 to i64 %t6519 = mul i64 %t6518, %t6517 %t6520 = load ptr, ptr %t6509 %t6521 = call ptr @realloc(ptr %t6520, i64 %t6519) store ptr %t6521, ptr %t6509 store i32 %t6515, ptr %t6508 br label %put1309 put1309: %t6522 = load ptr, ptr %t6509 %t6523 = getelementptr inbounds ptr, ptr %t6522, i32 %t6510 store ptr @.str7972, ptr %t6523 %t6524 = add i32 %t6510, 1 store i32 %t6524, ptr %t6507 br label %ifend1307 ifend1307: %t6525 = load ptr, ptr %t1 %t6526 = call i32 @lp_str_eq(ptr %t6525, ptr @.str7973) %t6527 = icmp ne i32 %t6526, 0 br i1 %t6527, label %then1310, label %ifend1312 then1310: store ptr @.str7974, ptr %t403 %t6528 = load ptr, ptr %t410 %t6529 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 1 %t6530 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 2 %t6531 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 0 %t6532 = load i32, ptr %t6529 %t6533 = load i32, ptr %t6530 %t6534 = icmp sge i32 %t6532, %t6533 br i1 %t6534, label %grow1313, label %put1314 grow1313: %t6535 = mul i32 %t6533, 2 %t6536 = icmp eq i32 %t6533, 0 %t6537 = select i1 %t6536, i32 8, i32 %t6535 %t6538 = getelementptr ptr, ptr null, i32 1 %t6539 = ptrtoint ptr %t6538 to i64 %t6540 = zext i32 %t6537 to i64 %t6541 = mul i64 %t6540, %t6539 %t6542 = load ptr, ptr %t6531 %t6543 = call ptr @realloc(ptr %t6542, i64 %t6541) store ptr %t6543, ptr %t6531 store i32 %t6537, ptr %t6530 br label %put1314 put1314: %t6544 = load ptr, ptr %t6531 %t6545 = getelementptr inbounds ptr, ptr %t6544, i32 %t6532 store ptr @.str7975, ptr %t6545 %t6546 = add i32 %t6532, 1 store i32 %t6546, ptr %t6529 br label %ifend1312 ifend1312: %t6547 = load ptr, ptr %t1 %t6548 = call i32 @lp_str_eq(ptr %t6547, ptr @.str7976) %t6549 = icmp ne i32 %t6548, 0 br i1 %t6549, label %then1315, label %ifend1317 then1315: store ptr @.str7977, ptr %t403 %t6550 = load ptr, ptr %t410 %t6551 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 1 %t6552 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 2 %t6553 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 0 %t6554 = load i32, ptr %t6551 %t6555 = load i32, ptr %t6552 %t6556 = icmp sge i32 %t6554, %t6555 br i1 %t6556, label %grow1318, label %put1319 grow1318: %t6557 = mul i32 %t6555, 2 %t6558 = icmp eq i32 %t6555, 0 %t6559 = select i1 %t6558, i32 8, i32 %t6557 %t6560 = getelementptr ptr, ptr null, i32 1 %t6561 = ptrtoint ptr %t6560 to i64 %t6562 = zext i32 %t6559 to i64 %t6563 = mul i64 %t6562, %t6561 %t6564 = load ptr, ptr %t6553 %t6565 = call ptr @realloc(ptr %t6564, i64 %t6563) store ptr %t6565, ptr %t6553 store i32 %t6559, ptr %t6552 br label %put1319 put1319: %t6566 = load ptr, ptr %t6553 %t6567 = getelementptr inbounds ptr, ptr %t6566, i32 %t6554 store ptr @.str7978, ptr %t6567 %t6568 = add i32 %t6554, 1 store i32 %t6568, ptr %t6551 br label %ifend1317 ifend1317: %t6569 = load ptr, ptr %t1 %t6570 = call i32 @lp_str_eq(ptr %t6569, ptr @.str7979) %t6571 = icmp ne i32 %t6570, 0 br i1 %t6571, label %then1320, label %ifend1322 then1320: store ptr @.str7980, ptr %t403 %t6572 = load ptr, ptr %t410 %t6573 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 1 %t6574 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 2 %t6575 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 0 %t6576 = load i32, ptr %t6573 %t6577 = load i32, ptr %t6574 %t6578 = icmp sge i32 %t6576, %t6577 br i1 %t6578, label %grow1323, label %put1324 grow1323: %t6579 = mul i32 %t6577, 2 %t6580 = icmp eq i32 %t6577, 0 %t6581 = select i1 %t6580, i32 8, i32 %t6579 %t6582 = getelementptr ptr, ptr null, i32 1 %t6583 = ptrtoint ptr %t6582 to i64 %t6584 = zext i32 %t6581 to i64 %t6585 = mul i64 %t6584, %t6583 %t6586 = load ptr, ptr %t6575 %t6587 = call ptr @realloc(ptr %t6586, i64 %t6585) store ptr %t6587, ptr %t6575 store i32 %t6581, ptr %t6574 br label %put1324 put1324: %t6588 = load ptr, ptr %t6575 %t6589 = getelementptr inbounds ptr, ptr %t6588, i32 %t6576 store ptr @.str7981, ptr %t6589 %t6590 = add i32 %t6576, 1 store i32 %t6590, ptr %t6573 br label %ifend1322 ifend1322: %t6591 = load ptr, ptr %t1 %t6592 = call i32 @lp_str_eq(ptr %t6591, ptr @.str7982) %t6593 = icmp ne i32 %t6592, 0 br i1 %t6593, label %then1325, label %ifend1327 then1325: store ptr @.str7983, ptr %t403 %t6594 = load ptr, ptr %t410 %t6595 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 1 %t6596 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 2 %t6597 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 0 %t6598 = load i32, ptr %t6595 %t6599 = load i32, ptr %t6596 %t6600 = icmp sge i32 %t6598, %t6599 br i1 %t6600, label %grow1328, label %put1329 grow1328: %t6601 = mul i32 %t6599, 2 %t6602 = icmp eq i32 %t6599, 0 %t6603 = select i1 %t6602, i32 8, i32 %t6601 %t6604 = getelementptr ptr, ptr null, i32 1 %t6605 = ptrtoint ptr %t6604 to i64 %t6606 = zext i32 %t6603 to i64 %t6607 = mul i64 %t6606, %t6605 %t6608 = load ptr, ptr %t6597 %t6609 = call ptr @realloc(ptr %t6608, i64 %t6607) store ptr %t6609, ptr %t6597 store i32 %t6603, ptr %t6596 br label %put1329 put1329: %t6610 = load ptr, ptr %t6597 %t6611 = getelementptr inbounds ptr, ptr %t6610, i32 %t6598 store ptr @.str7984, ptr %t6611 %t6612 = add i32 %t6598, 1 store i32 %t6612, ptr %t6595 %t6613 = load ptr, ptr %t410 %t6614 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 1 %t6615 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 2 %t6616 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 0 %t6617 = load i32, ptr %t6614 %t6618 = load i32, ptr %t6615 %t6619 = icmp sge i32 %t6617, %t6618 br i1 %t6619, label %grow1330, label %put1331 grow1330: %t6620 = mul i32 %t6618, 2 %t6621 = icmp eq i32 %t6618, 0 %t6622 = select i1 %t6621, i32 8, i32 %t6620 %t6623 = getelementptr ptr, ptr null, i32 1 %t6624 = ptrtoint ptr %t6623 to i64 %t6625 = zext i32 %t6622 to i64 %t6626 = mul i64 %t6625, %t6624 %t6627 = load ptr, ptr %t6616 %t6628 = call ptr @realloc(ptr %t6627, i64 %t6626) store ptr %t6628, ptr %t6616 store i32 %t6622, ptr %t6615 br label %put1331 put1331: %t6629 = load ptr, ptr %t6616 %t6630 = getelementptr inbounds ptr, ptr %t6629, i32 %t6617 store ptr @.str7985, ptr %t6630 %t6631 = add i32 %t6617, 1 store i32 %t6631, ptr %t6614 br label %ifend1327 ifend1327: %t6632 = load ptr, ptr %t1 %t6633 = call i32 @lp_str_eq(ptr %t6632, ptr @.str7986) %t6634 = icmp ne i32 %t6633, 0 br i1 %t6634, label %then1332, label %ifend1334 then1332: store ptr @.str7987, ptr %t403 %t6635 = load ptr, ptr %t410 %t6636 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 1 %t6637 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 2 %t6638 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 0 %t6639 = load i32, ptr %t6636 %t6640 = load i32, ptr %t6637 %t6641 = icmp sge i32 %t6639, %t6640 br i1 %t6641, label %grow1335, label %put1336 grow1335: %t6642 = mul i32 %t6640, 2 %t6643 = icmp eq i32 %t6640, 0 %t6644 = select i1 %t6643, i32 8, i32 %t6642 %t6645 = getelementptr ptr, ptr null, i32 1 %t6646 = ptrtoint ptr %t6645 to i64 %t6647 = zext i32 %t6644 to i64 %t6648 = mul i64 %t6647, %t6646 %t6649 = load ptr, ptr %t6638 %t6650 = call ptr @realloc(ptr %t6649, i64 %t6648) store ptr %t6650, ptr %t6638 store i32 %t6644, ptr %t6637 br label %put1336 put1336: %t6651 = load ptr, ptr %t6638 %t6652 = getelementptr inbounds ptr, ptr %t6651, i32 %t6639 store ptr @.str7988, ptr %t6652 %t6653 = add i32 %t6639, 1 store i32 %t6653, ptr %t6636 br label %ifend1334 ifend1334: %t6654 = load ptr, ptr %t1 %t6655 = call i32 @lp_str_eq(ptr %t6654, ptr @.str7989) %t6656 = icmp ne i32 %t6655, 0 br i1 %t6656, label %then1337, label %ifend1339 then1337: store ptr @.str7990, ptr %t403 %t6657 = load ptr, ptr %t410 %t6658 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 1 %t6659 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 2 %t6660 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 0 %t6661 = load i32, ptr %t6658 %t6662 = load i32, ptr %t6659 %t6663 = icmp sge i32 %t6661, %t6662 br i1 %t6663, label %grow1340, label %put1341 grow1340: %t6664 = mul i32 %t6662, 2 %t6665 = icmp eq i32 %t6662, 0 %t6666 = select i1 %t6665, i32 8, i32 %t6664 %t6667 = getelementptr ptr, ptr null, i32 1 %t6668 = ptrtoint ptr %t6667 to i64 %t6669 = zext i32 %t6666 to i64 %t6670 = mul i64 %t6669, %t6668 %t6671 = load ptr, ptr %t6660 %t6672 = call ptr @realloc(ptr %t6671, i64 %t6670) store ptr %t6672, ptr %t6660 store i32 %t6666, ptr %t6659 br label %put1341 put1341: %t6673 = load ptr, ptr %t6660 %t6674 = getelementptr inbounds ptr, ptr %t6673, i32 %t6661 store ptr @.str7991, ptr %t6674 %t6675 = add i32 %t6661, 1 store i32 %t6675, ptr %t6658 %t6676 = load ptr, ptr %t410 %t6677 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 1 %t6678 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 2 %t6679 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 0 %t6680 = load i32, ptr %t6677 %t6681 = load i32, ptr %t6678 %t6682 = icmp sge i32 %t6680, %t6681 br i1 %t6682, label %grow1342, label %put1343 grow1342: %t6683 = mul i32 %t6681, 2 %t6684 = icmp eq i32 %t6681, 0 %t6685 = select i1 %t6684, i32 8, i32 %t6683 %t6686 = getelementptr ptr, ptr null, i32 1 %t6687 = ptrtoint ptr %t6686 to i64 %t6688 = zext i32 %t6685 to i64 %t6689 = mul i64 %t6688, %t6687 %t6690 = load ptr, ptr %t6679 %t6691 = call ptr @realloc(ptr %t6690, i64 %t6689) store ptr %t6691, ptr %t6679 store i32 %t6685, ptr %t6678 br label %put1343 put1343: %t6692 = load ptr, ptr %t6679 %t6693 = getelementptr inbounds ptr, ptr %t6692, i32 %t6680 store ptr @.str7992, ptr %t6693 %t6694 = add i32 %t6680, 1 store i32 %t6694, ptr %t6677 br label %ifend1339 ifend1339: br label %ifend1241 ifend1241: %t6695 = load ptr, ptr %t0 %t6696 = call i32 @lp_str_eq(ptr %t6695, ptr @.str7993) %t6697 = icmp ne i32 %t6696, 0 br i1 %t6697, label %then1344, label %ifend1346 then1344: %t6698 = load ptr, ptr %t1 %t6699 = call i32 @lp_str_eq(ptr %t6698, ptr @.str7994) %t6700 = icmp ne i32 %t6699, 0 br i1 %t6700, label %then1347, label %ifend1349 then1347: store ptr @.str7995, ptr %t403 %t6701 = load ptr, ptr %t410 %t6702 = getelementptr inbounds %LSlice, ptr %t6701, i32 0, i32 1 %t6703 = getelementptr inbounds %LSlice, ptr %t6701, i32 0, i32 2 %t6704 = getelementptr inbounds %LSlice, ptr %t6701, i32 0, i32 0 %t6705 = load i32, ptr %t6702 %t6706 = load i32, ptr %t6703 %t6707 = icmp sge i32 %t6705, %t6706 br i1 %t6707, label %grow1350, label %put1351 grow1350: %t6708 = mul i32 %t6706, 2 %t6709 = icmp eq i32 %t6706, 0 %t6710 = select i1 %t6709, i32 8, i32 %t6708 %t6711 = getelementptr ptr, ptr null, i32 1 %t6712 = ptrtoint ptr %t6711 to i64 %t6713 = zext i32 %t6710 to i64 %t6714 = mul i64 %t6713, %t6712 %t6715 = load ptr, ptr %t6704 %t6716 = call ptr @realloc(ptr %t6715, i64 %t6714) store ptr %t6716, ptr %t6704 store i32 %t6710, ptr %t6703 br label %put1351 put1351: %t6717 = load ptr, ptr %t6704 %t6718 = getelementptr inbounds ptr, ptr %t6717, i32 %t6705 store ptr @.str7996, ptr %t6718 %t6719 = add i32 %t6705, 1 store i32 %t6719, ptr %t6702 br label %ifend1349 ifend1349: %t6720 = load ptr, ptr %t1 %t6721 = call i32 @lp_str_eq(ptr %t6720, ptr @.str7997) %t6722 = icmp ne i32 %t6721, 0 br i1 %t6722, label %then1352, label %ifend1354 then1352: store ptr @.str7998, ptr %t403 %t6723 = load ptr, ptr %t410 %t6724 = getelementptr inbounds %LSlice, ptr %t6723, i32 0, i32 1 %t6725 = getelementptr inbounds %LSlice, ptr %t6723, i32 0, i32 2 %t6726 = getelementptr inbounds %LSlice, ptr %t6723, i32 0, i32 0 %t6727 = load i32, ptr %t6724 %t6728 = load i32, ptr %t6725 %t6729 = icmp sge i32 %t6727, %t6728 br i1 %t6729, label %grow1355, label %put1356 grow1355: %t6730 = mul i32 %t6728, 2 %t6731 = icmp eq i32 %t6728, 0 %t6732 = select i1 %t6731, i32 8, i32 %t6730 %t6733 = getelementptr ptr, ptr null, i32 1 %t6734 = ptrtoint ptr %t6733 to i64 %t6735 = zext i32 %t6732 to i64 %t6736 = mul i64 %t6735, %t6734 %t6737 = load ptr, ptr %t6726 %t6738 = call ptr @realloc(ptr %t6737, i64 %t6736) store ptr %t6738, ptr %t6726 store i32 %t6732, ptr %t6725 br label %put1356 put1356: %t6739 = load ptr, ptr %t6726 %t6740 = getelementptr inbounds ptr, ptr %t6739, i32 %t6727 store ptr @.str7999, ptr %t6740 %t6741 = add i32 %t6727, 1 store i32 %t6741, ptr %t6724 br label %ifend1354 ifend1354: %t6742 = load ptr, ptr %t1 %t6743 = call i32 @lp_str_eq(ptr %t6742, ptr @.str8000) %t6744 = icmp ne i32 %t6743, 0 br i1 %t6744, label %then1357, label %ifend1359 then1357: store ptr @.str8001, ptr %t403 %t6745 = load ptr, ptr %t410 %t6746 = getelementptr inbounds %LSlice, ptr %t6745, i32 0, i32 1 %t6747 = getelementptr inbounds %LSlice, ptr %t6745, i32 0, i32 2 %t6748 = getelementptr inbounds %LSlice, ptr %t6745, i32 0, i32 0 %t6749 = load i32, ptr %t6746 %t6750 = load i32, ptr %t6747 %t6751 = icmp sge i32 %t6749, %t6750 br i1 %t6751, label %grow1360, label %put1361 grow1360: %t6752 = mul i32 %t6750, 2 %t6753 = icmp eq i32 %t6750, 0 %t6754 = select i1 %t6753, i32 8, i32 %t6752 %t6755 = getelementptr ptr, ptr null, i32 1 %t6756 = ptrtoint ptr %t6755 to i64 %t6757 = zext i32 %t6754 to i64 %t6758 = mul i64 %t6757, %t6756 %t6759 = load ptr, ptr %t6748 %t6760 = call ptr @realloc(ptr %t6759, i64 %t6758) store ptr %t6760, ptr %t6748 store i32 %t6754, ptr %t6747 br label %put1361 put1361: %t6761 = load ptr, ptr %t6748 %t6762 = getelementptr inbounds ptr, ptr %t6761, i32 %t6749 store ptr @.str8002, ptr %t6762 %t6763 = add i32 %t6749, 1 store i32 %t6763, ptr %t6746 %t6764 = load ptr, ptr %t410 %t6765 = getelementptr inbounds %LSlice, ptr %t6764, i32 0, i32 1 %t6766 = getelementptr inbounds %LSlice, ptr %t6764, i32 0, i32 2 %t6767 = getelementptr inbounds %LSlice, ptr %t6764, i32 0, i32 0 %t6768 = load i32, ptr %t6765 %t6769 = load i32, ptr %t6766 %t6770 = icmp sge i32 %t6768, %t6769 br i1 %t6770, label %grow1362, label %put1363 grow1362: %t6771 = mul i32 %t6769, 2 %t6772 = icmp eq i32 %t6769, 0 %t6773 = select i1 %t6772, i32 8, i32 %t6771 %t6774 = getelementptr ptr, ptr null, i32 1 %t6775 = ptrtoint ptr %t6774 to i64 %t6776 = zext i32 %t6773 to i64 %t6777 = mul i64 %t6776, %t6775 %t6778 = load ptr, ptr %t6767 %t6779 = call ptr @realloc(ptr %t6778, i64 %t6777) store ptr %t6779, ptr %t6767 store i32 %t6773, ptr %t6766 br label %put1363 put1363: %t6780 = load ptr, ptr %t6767 %t6781 = getelementptr inbounds ptr, ptr %t6780, i32 %t6768 store ptr @.str8003, ptr %t6781 %t6782 = add i32 %t6768, 1 store i32 %t6782, ptr %t6765 %t6783 = load ptr, ptr %t410 %t6784 = getelementptr inbounds %LSlice, ptr %t6783, i32 0, i32 1 %t6785 = getelementptr inbounds %LSlice, ptr %t6783, i32 0, i32 2 %t6786 = getelementptr inbounds %LSlice, ptr %t6783, i32 0, i32 0 %t6787 = load i32, ptr %t6784 %t6788 = load i32, ptr %t6785 %t6789 = icmp sge i32 %t6787, %t6788 br i1 %t6789, label %grow1364, label %put1365 grow1364: %t6790 = mul i32 %t6788, 2 %t6791 = icmp eq i32 %t6788, 0 %t6792 = select i1 %t6791, i32 8, i32 %t6790 %t6793 = getelementptr ptr, ptr null, i32 1 %t6794 = ptrtoint ptr %t6793 to i64 %t6795 = zext i32 %t6792 to i64 %t6796 = mul i64 %t6795, %t6794 %t6797 = load ptr, ptr %t6786 %t6798 = call ptr @realloc(ptr %t6797, i64 %t6796) store ptr %t6798, ptr %t6786 store i32 %t6792, ptr %t6785 br label %put1365 put1365: %t6799 = load ptr, ptr %t6786 %t6800 = getelementptr inbounds ptr, ptr %t6799, i32 %t6787 store ptr @.str8004, ptr %t6800 %t6801 = add i32 %t6787, 1 store i32 %t6801, ptr %t6784 %t6802 = load ptr, ptr %t410 %t6803 = getelementptr inbounds %LSlice, ptr %t6802, i32 0, i32 1 %t6804 = getelementptr inbounds %LSlice, ptr %t6802, i32 0, i32 2 %t6805 = getelementptr inbounds %LSlice, ptr %t6802, i32 0, i32 0 %t6806 = load i32, ptr %t6803 %t6807 = load i32, ptr %t6804 %t6808 = icmp sge i32 %t6806, %t6807 br i1 %t6808, label %grow1366, label %put1367 grow1366: %t6809 = mul i32 %t6807, 2 %t6810 = icmp eq i32 %t6807, 0 %t6811 = select i1 %t6810, i32 8, i32 %t6809 %t6812 = getelementptr ptr, ptr null, i32 1 %t6813 = ptrtoint ptr %t6812 to i64 %t6814 = zext i32 %t6811 to i64 %t6815 = mul i64 %t6814, %t6813 %t6816 = load ptr, ptr %t6805 %t6817 = call ptr @realloc(ptr %t6816, i64 %t6815) store ptr %t6817, ptr %t6805 store i32 %t6811, ptr %t6804 br label %put1367 put1367: %t6818 = load ptr, ptr %t6805 %t6819 = getelementptr inbounds ptr, ptr %t6818, i32 %t6806 store ptr @.str8005, ptr %t6819 %t6820 = add i32 %t6806, 1 store i32 %t6820, ptr %t6803 %t6821 = load ptr, ptr %t410 %t6822 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 1 %t6823 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 2 %t6824 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 0 %t6825 = load i32, ptr %t6822 %t6826 = load i32, ptr %t6823 %t6827 = icmp sge i32 %t6825, %t6826 br i1 %t6827, label %grow1368, label %put1369 grow1368: %t6828 = mul i32 %t6826, 2 %t6829 = icmp eq i32 %t6826, 0 %t6830 = select i1 %t6829, i32 8, i32 %t6828 %t6831 = getelementptr ptr, ptr null, i32 1 %t6832 = ptrtoint ptr %t6831 to i64 %t6833 = zext i32 %t6830 to i64 %t6834 = mul i64 %t6833, %t6832 %t6835 = load ptr, ptr %t6824 %t6836 = call ptr @realloc(ptr %t6835, i64 %t6834) store ptr %t6836, ptr %t6824 store i32 %t6830, ptr %t6823 br label %put1369 put1369: %t6837 = load ptr, ptr %t6824 %t6838 = getelementptr inbounds ptr, ptr %t6837, i32 %t6825 store ptr @.str8006, ptr %t6838 %t6839 = add i32 %t6825, 1 store i32 %t6839, ptr %t6822 br label %ifend1359 ifend1359: %t6840 = load ptr, ptr %t1 %t6841 = call i32 @lp_str_eq(ptr %t6840, ptr @.str8007) %t6842 = icmp ne i32 %t6841, 0 br i1 %t6842, label %then1370, label %ifend1372 then1370: store ptr @.str8008, ptr %t403 %t6843 = load ptr, ptr %t410 %t6844 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 1 %t6845 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 2 %t6846 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 0 %t6847 = load i32, ptr %t6844 %t6848 = load i32, ptr %t6845 %t6849 = icmp sge i32 %t6847, %t6848 br i1 %t6849, label %grow1373, label %put1374 grow1373: %t6850 = mul i32 %t6848, 2 %t6851 = icmp eq i32 %t6848, 0 %t6852 = select i1 %t6851, i32 8, i32 %t6850 %t6853 = getelementptr ptr, ptr null, i32 1 %t6854 = ptrtoint ptr %t6853 to i64 %t6855 = zext i32 %t6852 to i64 %t6856 = mul i64 %t6855, %t6854 %t6857 = load ptr, ptr %t6846 %t6858 = call ptr @realloc(ptr %t6857, i64 %t6856) store ptr %t6858, ptr %t6846 store i32 %t6852, ptr %t6845 br label %put1374 put1374: %t6859 = load ptr, ptr %t6846 %t6860 = getelementptr inbounds ptr, ptr %t6859, i32 %t6847 store ptr @.str8009, ptr %t6860 %t6861 = add i32 %t6847, 1 store i32 %t6861, ptr %t6844 %t6862 = load ptr, ptr %t410 %t6863 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 1 %t6864 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 2 %t6865 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 0 %t6866 = load i32, ptr %t6863 %t6867 = load i32, ptr %t6864 %t6868 = icmp sge i32 %t6866, %t6867 br i1 %t6868, label %grow1375, label %put1376 grow1375: %t6869 = mul i32 %t6867, 2 %t6870 = icmp eq i32 %t6867, 0 %t6871 = select i1 %t6870, i32 8, i32 %t6869 %t6872 = getelementptr ptr, ptr null, i32 1 %t6873 = ptrtoint ptr %t6872 to i64 %t6874 = zext i32 %t6871 to i64 %t6875 = mul i64 %t6874, %t6873 %t6876 = load ptr, ptr %t6865 %t6877 = call ptr @realloc(ptr %t6876, i64 %t6875) store ptr %t6877, ptr %t6865 store i32 %t6871, ptr %t6864 br label %put1376 put1376: %t6878 = load ptr, ptr %t6865 %t6879 = getelementptr inbounds ptr, ptr %t6878, i32 %t6866 store ptr @.str8010, ptr %t6879 %t6880 = add i32 %t6866, 1 store i32 %t6880, ptr %t6863 %t6881 = load ptr, ptr %t410 %t6882 = getelementptr inbounds %LSlice, ptr %t6881, i32 0, i32 1 %t6883 = getelementptr inbounds %LSlice, ptr %t6881, i32 0, i32 2 %t6884 = getelementptr inbounds %LSlice, ptr %t6881, i32 0, i32 0 %t6885 = load i32, ptr %t6882 %t6886 = load i32, ptr %t6883 %t6887 = icmp sge i32 %t6885, %t6886 br i1 %t6887, label %grow1377, label %put1378 grow1377: %t6888 = mul i32 %t6886, 2 %t6889 = icmp eq i32 %t6886, 0 %t6890 = select i1 %t6889, i32 8, i32 %t6888 %t6891 = getelementptr ptr, ptr null, i32 1 %t6892 = ptrtoint ptr %t6891 to i64 %t6893 = zext i32 %t6890 to i64 %t6894 = mul i64 %t6893, %t6892 %t6895 = load ptr, ptr %t6884 %t6896 = call ptr @realloc(ptr %t6895, i64 %t6894) store ptr %t6896, ptr %t6884 store i32 %t6890, ptr %t6883 br label %put1378 put1378: %t6897 = load ptr, ptr %t6884 %t6898 = getelementptr inbounds ptr, ptr %t6897, i32 %t6885 store ptr @.str8011, ptr %t6898 %t6899 = add i32 %t6885, 1 store i32 %t6899, ptr %t6882 br label %ifend1372 ifend1372: %t6900 = load ptr, ptr %t1 %t6901 = call i32 @lp_str_eq(ptr %t6900, ptr @.str8012) %t6902 = icmp ne i32 %t6901, 0 br i1 %t6902, label %then1379, label %ifend1381 then1379: store ptr @.str8013, ptr %t403 %t6903 = load ptr, ptr %t410 %t6904 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 1 %t6905 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 2 %t6906 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 0 %t6907 = load i32, ptr %t6904 %t6908 = load i32, ptr %t6905 %t6909 = icmp sge i32 %t6907, %t6908 br i1 %t6909, label %grow1382, label %put1383 grow1382: %t6910 = mul i32 %t6908, 2 %t6911 = icmp eq i32 %t6908, 0 %t6912 = select i1 %t6911, i32 8, i32 %t6910 %t6913 = getelementptr ptr, ptr null, i32 1 %t6914 = ptrtoint ptr %t6913 to i64 %t6915 = zext i32 %t6912 to i64 %t6916 = mul i64 %t6915, %t6914 %t6917 = load ptr, ptr %t6906 %t6918 = call ptr @realloc(ptr %t6917, i64 %t6916) store ptr %t6918, ptr %t6906 store i32 %t6912, ptr %t6905 br label %put1383 put1383: %t6919 = load ptr, ptr %t6906 %t6920 = getelementptr inbounds ptr, ptr %t6919, i32 %t6907 store ptr @.str8014, ptr %t6920 %t6921 = add i32 %t6907, 1 store i32 %t6921, ptr %t6904 br label %ifend1381 ifend1381: %t6922 = load ptr, ptr %t1 %t6923 = call i32 @lp_str_eq(ptr %t6922, ptr @.str8015) %t6924 = icmp ne i32 %t6923, 0 br i1 %t6924, label %then1384, label %ifend1386 then1384: store ptr @.str8016, ptr %t403 %t6925 = load ptr, ptr %t410 %t6926 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 1 %t6927 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 2 %t6928 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 0 %t6929 = load i32, ptr %t6926 %t6930 = load i32, ptr %t6927 %t6931 = icmp sge i32 %t6929, %t6930 br i1 %t6931, label %grow1387, label %put1388 grow1387: %t6932 = mul i32 %t6930, 2 %t6933 = icmp eq i32 %t6930, 0 %t6934 = select i1 %t6933, i32 8, i32 %t6932 %t6935 = getelementptr ptr, ptr null, i32 1 %t6936 = ptrtoint ptr %t6935 to i64 %t6937 = zext i32 %t6934 to i64 %t6938 = mul i64 %t6937, %t6936 %t6939 = load ptr, ptr %t6928 %t6940 = call ptr @realloc(ptr %t6939, i64 %t6938) store ptr %t6940, ptr %t6928 store i32 %t6934, ptr %t6927 br label %put1388 put1388: %t6941 = load ptr, ptr %t6928 %t6942 = getelementptr inbounds ptr, ptr %t6941, i32 %t6929 store ptr @.str8017, ptr %t6942 %t6943 = add i32 %t6929, 1 store i32 %t6943, ptr %t6926 br label %ifend1386 ifend1386: %t6944 = load ptr, ptr %t1 %t6945 = call i32 @lp_str_eq(ptr %t6944, ptr @.str8018) %t6946 = icmp ne i32 %t6945, 0 br i1 %t6946, label %then1389, label %ifend1391 then1389: store ptr @.str8019, ptr %t403 %t6947 = load ptr, ptr %t410 %t6948 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 1 %t6949 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 2 %t6950 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 0 %t6951 = load i32, ptr %t6948 %t6952 = load i32, ptr %t6949 %t6953 = icmp sge i32 %t6951, %t6952 br i1 %t6953, label %grow1392, label %put1393 grow1392: %t6954 = mul i32 %t6952, 2 %t6955 = icmp eq i32 %t6952, 0 %t6956 = select i1 %t6955, i32 8, i32 %t6954 %t6957 = getelementptr ptr, ptr null, i32 1 %t6958 = ptrtoint ptr %t6957 to i64 %t6959 = zext i32 %t6956 to i64 %t6960 = mul i64 %t6959, %t6958 %t6961 = load ptr, ptr %t6950 %t6962 = call ptr @realloc(ptr %t6961, i64 %t6960) store ptr %t6962, ptr %t6950 store i32 %t6956, ptr %t6949 br label %put1393 put1393: %t6963 = load ptr, ptr %t6950 %t6964 = getelementptr inbounds ptr, ptr %t6963, i32 %t6951 store ptr @.str8020, ptr %t6964 %t6965 = add i32 %t6951, 1 store i32 %t6965, ptr %t6948 br label %ifend1391 ifend1391: %t6966 = load ptr, ptr %t1 %t6967 = call i32 @lp_str_eq(ptr %t6966, ptr @.str8021) %t6968 = icmp ne i32 %t6967, 0 br i1 %t6968, label %then1394, label %ifend1396 then1394: store ptr @.str8022, ptr %t403 %t6969 = load ptr, ptr %t410 %t6970 = getelementptr inbounds %LSlice, ptr %t6969, i32 0, i32 1 %t6971 = getelementptr inbounds %LSlice, ptr %t6969, i32 0, i32 2 %t6972 = getelementptr inbounds %LSlice, ptr %t6969, i32 0, i32 0 %t6973 = load i32, ptr %t6970 %t6974 = load i32, ptr %t6971 %t6975 = icmp sge i32 %t6973, %t6974 br i1 %t6975, label %grow1397, label %put1398 grow1397: %t6976 = mul i32 %t6974, 2 %t6977 = icmp eq i32 %t6974, 0 %t6978 = select i1 %t6977, i32 8, i32 %t6976 %t6979 = getelementptr ptr, ptr null, i32 1 %t6980 = ptrtoint ptr %t6979 to i64 %t6981 = zext i32 %t6978 to i64 %t6982 = mul i64 %t6981, %t6980 %t6983 = load ptr, ptr %t6972 %t6984 = call ptr @realloc(ptr %t6983, i64 %t6982) store ptr %t6984, ptr %t6972 store i32 %t6978, ptr %t6971 br label %put1398 put1398: %t6985 = load ptr, ptr %t6972 %t6986 = getelementptr inbounds ptr, ptr %t6985, i32 %t6973 store ptr @.str8023, ptr %t6986 %t6987 = add i32 %t6973, 1 store i32 %t6987, ptr %t6970 br label %ifend1396 ifend1396: %t6988 = load ptr, ptr %t1 %t6989 = call i32 @lp_str_eq(ptr %t6988, ptr @.str8024) %t6990 = icmp ne i32 %t6989, 0 br i1 %t6990, label %then1399, label %ifend1401 then1399: store ptr @.str8025, ptr %t403 br label %ifend1401 ifend1401: %t6991 = load ptr, ptr %t1 %t6992 = call i32 @lp_str_eq(ptr %t6991, ptr @.str8026) %t6993 = icmp ne i32 %t6992, 0 br i1 %t6993, label %then1402, label %ifend1404 then1402: store ptr @.str8027, ptr %t403 %t6994 = load ptr, ptr %t410 %t6995 = getelementptr inbounds %LSlice, ptr %t6994, i32 0, i32 1 %t6996 = getelementptr inbounds %LSlice, ptr %t6994, i32 0, i32 2 %t6997 = getelementptr inbounds %LSlice, ptr %t6994, i32 0, i32 0 %t6998 = load i32, ptr %t6995 %t6999 = load i32, ptr %t6996 %t7000 = icmp sge i32 %t6998, %t6999 br i1 %t7000, label %grow1405, label %put1406 grow1405: %t7001 = mul i32 %t6999, 2 %t7002 = icmp eq i32 %t6999, 0 %t7003 = select i1 %t7002, i32 8, i32 %t7001 %t7004 = getelementptr ptr, ptr null, i32 1 %t7005 = ptrtoint ptr %t7004 to i64 %t7006 = zext i32 %t7003 to i64 %t7007 = mul i64 %t7006, %t7005 %t7008 = load ptr, ptr %t6997 %t7009 = call ptr @realloc(ptr %t7008, i64 %t7007) store ptr %t7009, ptr %t6997 store i32 %t7003, ptr %t6996 br label %put1406 put1406: %t7010 = load ptr, ptr %t6997 %t7011 = getelementptr inbounds ptr, ptr %t7010, i32 %t6998 store ptr @.str8028, ptr %t7011 %t7012 = add i32 %t6998, 1 store i32 %t7012, ptr %t6995 br label %ifend1404 ifend1404: %t7013 = load ptr, ptr %t1 %t7014 = call i32 @lp_str_eq(ptr %t7013, ptr @.str8029) %t7015 = icmp ne i32 %t7014, 0 br i1 %t7015, label %then1407, label %ifend1409 then1407: store ptr @.str8030, ptr %t403 %t7016 = load ptr, ptr %t410 %t7017 = getelementptr inbounds %LSlice, ptr %t7016, i32 0, i32 1 %t7018 = getelementptr inbounds %LSlice, ptr %t7016, i32 0, i32 2 %t7019 = getelementptr inbounds %LSlice, ptr %t7016, i32 0, i32 0 %t7020 = load i32, ptr %t7017 %t7021 = load i32, ptr %t7018 %t7022 = icmp sge i32 %t7020, %t7021 br i1 %t7022, label %grow1410, label %put1411 grow1410: %t7023 = mul i32 %t7021, 2 %t7024 = icmp eq i32 %t7021, 0 %t7025 = select i1 %t7024, i32 8, i32 %t7023 %t7026 = getelementptr ptr, ptr null, i32 1 %t7027 = ptrtoint ptr %t7026 to i64 %t7028 = zext i32 %t7025 to i64 %t7029 = mul i64 %t7028, %t7027 %t7030 = load ptr, ptr %t7019 %t7031 = call ptr @realloc(ptr %t7030, i64 %t7029) store ptr %t7031, ptr %t7019 store i32 %t7025, ptr %t7018 br label %put1411 put1411: %t7032 = load ptr, ptr %t7019 %t7033 = getelementptr inbounds ptr, ptr %t7032, i32 %t7020 store ptr @.str8031, ptr %t7033 %t7034 = add i32 %t7020, 1 store i32 %t7034, ptr %t7017 br label %ifend1409 ifend1409: br label %ifend1346 ifend1346: %t7035 = load ptr, ptr %t0 %t7036 = call i32 @lp_str_eq(ptr %t7035, ptr @.str8032) %t7037 = icmp ne i32 %t7036, 0 br i1 %t7037, label %then1412, label %ifend1414 then1412: %t7038 = load ptr, ptr %t1 %t7039 = call i32 @lp_str_eq(ptr %t7038, ptr @.str8033) %t7040 = icmp ne i32 %t7039, 0 br i1 %t7040, label %then1415, label %ifend1417 then1415: store ptr @.str8034, ptr %t403 br label %ifend1417 ifend1417: %t7041 = load ptr, ptr %t1 %t7042 = call i32 @lp_str_eq(ptr %t7041, ptr @.str8035) %t7043 = icmp ne i32 %t7042, 0 br i1 %t7043, label %then1418, label %ifend1420 then1418: store ptr @.str8036, ptr %t403 br label %ifend1420 ifend1420: %t7044 = load ptr, ptr %t1 %t7045 = call i32 @lp_str_eq(ptr %t7044, ptr @.str8037) %t7046 = icmp ne i32 %t7045, 0 br i1 %t7046, label %then1421, label %ifend1423 then1421: store ptr @.str8038, ptr %t403 br label %ifend1423 ifend1423: %t7047 = load ptr, ptr %t1 %t7048 = call i32 @lp_str_eq(ptr %t7047, ptr @.str8039) %t7049 = icmp ne i32 %t7048, 0 br i1 %t7049, label %then1424, label %ifend1426 then1424: store ptr @.str8040, ptr %t403 br label %ifend1426 ifend1426: %t7050 = load ptr, ptr %t1 %t7051 = call i32 @lp_str_eq(ptr %t7050, ptr @.str8041) %t7052 = icmp ne i32 %t7051, 0 br i1 %t7052, label %then1427, label %ifend1429 then1427: store ptr @.str8042, ptr %t403 br label %ifend1429 ifend1429: %t7053 = load ptr, ptr %t1 %t7054 = call i32 @lp_str_eq(ptr %t7053, ptr @.str8043) %t7055 = icmp ne i32 %t7054, 0 br i1 %t7055, label %then1430, label %ifend1432 then1430: store ptr @.str8044, ptr %t403 br label %ifend1432 ifend1432: %t7056 = load ptr, ptr %t1 %t7057 = call i32 @lp_str_eq(ptr %t7056, ptr @.str8045) %t7058 = icmp ne i32 %t7057, 0 br i1 %t7058, label %then1433, label %ifend1435 then1433: store ptr @.str8046, ptr %t403 br label %ifend1435 ifend1435: %t7059 = load ptr, ptr %t1 %t7060 = call i32 @lp_str_eq(ptr %t7059, ptr @.str8047) %t7061 = icmp ne i32 %t7060, 0 br i1 %t7061, label %then1436, label %ifend1438 then1436: store ptr @.str8048, ptr %t403 br label %ifend1438 ifend1438: %t7062 = load ptr, ptr %t1 %t7063 = call i32 @lp_str_eq(ptr %t7062, ptr @.str8049) %t7064 = icmp ne i32 %t7063, 0 br i1 %t7064, label %then1439, label %ifend1441 then1439: store ptr @.str8050, ptr %t403 br label %ifend1441 ifend1441: %t7065 = load ptr, ptr %t1 %t7066 = call i32 @lp_str_eq(ptr %t7065, ptr @.str8051) %t7067 = icmp ne i32 %t7066, 0 br i1 %t7067, label %then1442, label %ifend1444 then1442: store ptr @.str8052, ptr %t403 br label %ifend1444 ifend1444: %t7068 = load ptr, ptr %t1 %t7069 = call i32 @lp_str_eq(ptr %t7068, ptr @.str8053) %t7070 = icmp ne i32 %t7069, 0 br i1 %t7070, label %then1445, label %ifend1447 then1445: store ptr @.str8054, ptr %t403 br label %ifend1447 ifend1447: %t7071 = load ptr, ptr %t1 %t7072 = call i32 @lp_str_eq(ptr %t7071, ptr @.str8055) %t7073 = icmp ne i32 %t7072, 0 br i1 %t7073, label %then1448, label %ifend1450 then1448: store ptr @.str8056, ptr %t403 br label %ifend1450 ifend1450: %t7074 = load ptr, ptr %t1 %t7075 = call i32 @lp_str_eq(ptr %t7074, ptr @.str8057) %t7076 = icmp ne i32 %t7075, 0 br i1 %t7076, label %then1451, label %ifend1453 then1451: store ptr @.str8058, ptr %t403 br label %ifend1453 ifend1453: %t7077 = load ptr, ptr %t1 %t7078 = call i32 @lp_str_eq(ptr %t7077, ptr @.str8059) %t7079 = icmp ne i32 %t7078, 0 br i1 %t7079, label %then1454, label %ifend1456 then1454: store ptr @.str8060, ptr %t403 br label %ifend1456 ifend1456: %t7080 = load ptr, ptr %t1 %t7081 = call i32 @lp_str_eq(ptr %t7080, ptr @.str8061) %t7082 = icmp ne i32 %t7081, 0 br i1 %t7082, label %then1457, label %ifend1459 then1457: store ptr @.str8062, ptr %t403 br label %ifend1459 ifend1459: %t7083 = load ptr, ptr %t1 %t7084 = call i32 @lp_str_eq(ptr %t7083, ptr @.str8063) %t7085 = icmp ne i32 %t7084, 0 br i1 %t7085, label %then1460, label %ifend1462 then1460: store ptr @.str8064, ptr %t403 br label %ifend1462 ifend1462: %t7086 = load ptr, ptr %t1 %t7087 = call i32 @lp_str_eq(ptr %t7086, ptr @.str8065) %t7088 = icmp ne i32 %t7087, 0 br i1 %t7088, label %then1463, label %ifend1465 then1463: store ptr @.str8066, ptr %t403 br label %ifend1465 ifend1465: br label %ifend1414 ifend1414: %t7089 = load ptr, ptr %t0 %t7090 = call i32 @lp_str_eq(ptr %t7089, ptr @.str8067) %t7091 = icmp ne i32 %t7090, 0 br i1 %t7091, label %then1466, label %ifend1468 then1466: %t7092 = load ptr, ptr %t1 %t7093 = call i32 @lp_str_eq(ptr %t7092, ptr @.str8068) %t7094 = icmp ne i32 %t7093, 0 br i1 %t7094, label %then1469, label %ifend1471 then1469: store ptr @.str8069, ptr %t403 br label %ifend1471 ifend1471: %t7095 = load ptr, ptr %t1 %t7096 = call i32 @lp_str_eq(ptr %t7095, ptr @.str8070) %t7097 = icmp ne i32 %t7096, 0 br i1 %t7097, label %then1472, label %ifend1474 then1472: store ptr @.str8071, ptr %t403 br label %ifend1474 ifend1474: %t7098 = load ptr, ptr %t1 %t7099 = call i32 @lp_str_eq(ptr %t7098, ptr @.str8072) %t7100 = icmp ne i32 %t7099, 0 br i1 %t7100, label %then1475, label %ifend1477 then1475: store ptr @.str8073, ptr %t403 br label %ifend1477 ifend1477: %t7101 = load ptr, ptr %t1 %t7102 = call i32 @lp_str_eq(ptr %t7101, ptr @.str8074) %t7103 = icmp ne i32 %t7102, 0 br i1 %t7103, label %then1478, label %ifend1480 then1478: store ptr @.str8075, ptr %t403 br label %ifend1480 ifend1480: %t7104 = load ptr, ptr %t1 %t7105 = call i32 @lp_str_eq(ptr %t7104, ptr @.str8076) %t7106 = icmp ne i32 %t7105, 0 br i1 %t7106, label %then1481, label %ifend1483 then1481: store ptr @.str8077, ptr %t403 br label %ifend1483 ifend1483: %t7107 = load ptr, ptr %t1 %t7108 = call i32 @lp_str_eq(ptr %t7107, ptr @.str8078) %t7109 = icmp ne i32 %t7108, 0 br i1 %t7109, label %then1484, label %ifend1486 then1484: store ptr @.str8079, ptr %t403 br label %ifend1486 ifend1486: %t7110 = load ptr, ptr %t1 %t7111 = call i32 @lp_str_eq(ptr %t7110, ptr @.str8080) %t7112 = icmp ne i32 %t7111, 0 br i1 %t7112, label %then1487, label %ifend1489 then1487: store ptr @.str8081, ptr %t403 br label %ifend1489 ifend1489: %t7113 = load ptr, ptr %t1 %t7114 = call i32 @lp_str_eq(ptr %t7113, ptr @.str8082) %t7115 = icmp ne i32 %t7114, 0 br i1 %t7115, label %then1490, label %ifend1492 then1490: store ptr @.str8083, ptr %t403 br label %ifend1492 ifend1492: %t7116 = load ptr, ptr %t1 %t7117 = call i32 @lp_str_eq(ptr %t7116, ptr @.str8084) %t7118 = icmp ne i32 %t7117, 0 br i1 %t7118, label %then1493, label %ifend1495 then1493: store ptr @.str8085, ptr %t403 br label %ifend1495 ifend1495: br label %ifend1468 ifend1468: %t7119 = load ptr, ptr %t0 %t7120 = call i32 @lp_str_eq(ptr %t7119, ptr @.str8086) %t7121 = icmp ne i32 %t7120, 0 br i1 %t7121, label %then1496, label %ifend1498 then1496: %t7122 = load ptr, ptr %t1 %t7123 = call i32 @lp_str_eq(ptr %t7122, ptr @.str8087) %t7124 = icmp ne i32 %t7123, 0 br i1 %t7124, label %then1499, label %ifend1501 then1499: store ptr @.str8088, ptr %t403 br label %ifend1501 ifend1501: %t7125 = load ptr, ptr %t1 %t7126 = call i32 @lp_str_eq(ptr %t7125, ptr @.str8089) %t7127 = icmp ne i32 %t7126, 0 br i1 %t7127, label %then1502, label %ifend1504 then1502: store ptr @.str8090, ptr %t403 br label %ifend1504 ifend1504: %t7128 = load ptr, ptr %t1 %t7129 = call i32 @lp_str_eq(ptr %t7128, ptr @.str8091) %t7130 = icmp ne i32 %t7129, 0 br i1 %t7130, label %then1505, label %ifend1507 then1505: store ptr @.str8092, ptr %t403 br label %ifend1507 ifend1507: %t7131 = load ptr, ptr %t1 %t7132 = call i32 @lp_str_eq(ptr %t7131, ptr @.str8093) %t7133 = icmp ne i32 %t7132, 0 br i1 %t7133, label %then1508, label %ifend1510 then1508: store ptr @.str8094, ptr %t403 br label %ifend1510 ifend1510: %t7134 = load ptr, ptr %t1 %t7135 = call i32 @lp_str_eq(ptr %t7134, ptr @.str8095) %t7136 = icmp ne i32 %t7135, 0 br i1 %t7136, label %then1511, label %ifend1513 then1511: store ptr @.str8096, ptr %t403 br label %ifend1513 ifend1513: %t7137 = load ptr, ptr %t1 %t7138 = call i32 @lp_str_eq(ptr %t7137, ptr @.str8097) %t7139 = icmp ne i32 %t7138, 0 br i1 %t7139, label %then1514, label %ifend1516 then1514: store ptr @.str8098, ptr %t403 br label %ifend1516 ifend1516: %t7140 = load ptr, ptr %t1 %t7141 = call i32 @lp_str_eq(ptr %t7140, ptr @.str8099) %t7142 = icmp ne i32 %t7141, 0 br i1 %t7142, label %then1517, label %ifend1519 then1517: store ptr @.str8100, ptr %t403 br label %ifend1519 ifend1519: %t7143 = load ptr, ptr %t1 %t7144 = call i32 @lp_str_eq(ptr %t7143, ptr @.str8101) %t7145 = icmp ne i32 %t7144, 0 br i1 %t7145, label %then1520, label %ifend1522 then1520: store ptr @.str8102, ptr %t403 br label %ifend1522 ifend1522: br label %ifend1498 ifend1498: %t7146 = load ptr, ptr %t0 %t7147 = call i32 @lp_str_eq(ptr %t7146, ptr @.str8103) %t7148 = icmp ne i32 %t7147, 0 br i1 %t7148, label %then1523, label %ifend1525 then1523: %t7149 = load ptr, ptr %t1 %t7150 = call i32 @lp_str_eq(ptr %t7149, ptr @.str8104) %t7151 = icmp ne i32 %t7150, 0 br i1 %t7151, label %then1526, label %ifend1528 then1526: store ptr @.str8105, ptr %t403 br label %ifend1528 ifend1528: %t7152 = load ptr, ptr %t1 %t7153 = call i32 @lp_str_eq(ptr %t7152, ptr @.str8106) %t7154 = icmp ne i32 %t7153, 0 br i1 %t7154, label %then1529, label %ifend1531 then1529: store ptr @.str8107, ptr %t403 br label %ifend1531 ifend1531: br label %ifend1525 ifend1525: %t7155 = load ptr, ptr %t0 %t7156 = call i32 @lp_str_eq(ptr %t7155, ptr @.str8108) %t7157 = icmp ne i32 %t7156, 0 br i1 %t7157, label %then1532, label %ifend1534 then1532: %t7158 = load ptr, ptr %t1 %t7159 = call i32 @lp_str_eq(ptr %t7158, ptr @.str8109) %t7160 = icmp ne i32 %t7159, 0 br i1 %t7160, label %then1535, label %ifend1537 then1535: store ptr @.str8110, ptr %t403 %t7161 = load ptr, ptr %t410 %t7162 = getelementptr inbounds %LSlice, ptr %t7161, i32 0, i32 1 %t7163 = getelementptr inbounds %LSlice, ptr %t7161, i32 0, i32 2 %t7164 = getelementptr inbounds %LSlice, ptr %t7161, i32 0, i32 0 %t7165 = load i32, ptr %t7162 %t7166 = load i32, ptr %t7163 %t7167 = icmp sge i32 %t7165, %t7166 br i1 %t7167, label %grow1538, label %put1539 grow1538: %t7168 = mul i32 %t7166, 2 %t7169 = icmp eq i32 %t7166, 0 %t7170 = select i1 %t7169, i32 8, i32 %t7168 %t7171 = getelementptr ptr, ptr null, i32 1 %t7172 = ptrtoint ptr %t7171 to i64 %t7173 = zext i32 %t7170 to i64 %t7174 = mul i64 %t7173, %t7172 %t7175 = load ptr, ptr %t7164 %t7176 = call ptr @realloc(ptr %t7175, i64 %t7174) store ptr %t7176, ptr %t7164 store i32 %t7170, ptr %t7163 br label %put1539 put1539: %t7177 = load ptr, ptr %t7164 %t7178 = getelementptr inbounds ptr, ptr %t7177, i32 %t7165 store ptr @.str8111, ptr %t7178 %t7179 = add i32 %t7165, 1 store i32 %t7179, ptr %t7162 br label %ifend1537 ifend1537: %t7180 = load ptr, ptr %t1 %t7181 = call i32 @lp_str_eq(ptr %t7180, ptr @.str8112) %t7182 = icmp ne i32 %t7181, 0 br i1 %t7182, label %then1540, label %ifend1542 then1540: store ptr @.str8113, ptr %t403 %t7183 = load ptr, ptr %t410 %t7184 = getelementptr inbounds %LSlice, ptr %t7183, i32 0, i32 1 %t7185 = getelementptr inbounds %LSlice, ptr %t7183, i32 0, i32 2 %t7186 = getelementptr inbounds %LSlice, ptr %t7183, i32 0, i32 0 %t7187 = load i32, ptr %t7184 %t7188 = load i32, ptr %t7185 %t7189 = icmp sge i32 %t7187, %t7188 br i1 %t7189, label %grow1543, label %put1544 grow1543: %t7190 = mul i32 %t7188, 2 %t7191 = icmp eq i32 %t7188, 0 %t7192 = select i1 %t7191, i32 8, i32 %t7190 %t7193 = getelementptr ptr, ptr null, i32 1 %t7194 = ptrtoint ptr %t7193 to i64 %t7195 = zext i32 %t7192 to i64 %t7196 = mul i64 %t7195, %t7194 %t7197 = load ptr, ptr %t7186 %t7198 = call ptr @realloc(ptr %t7197, i64 %t7196) store ptr %t7198, ptr %t7186 store i32 %t7192, ptr %t7185 br label %put1544 put1544: %t7199 = load ptr, ptr %t7186 %t7200 = getelementptr inbounds ptr, ptr %t7199, i32 %t7187 store ptr @.str8114, ptr %t7200 %t7201 = add i32 %t7187, 1 store i32 %t7201, ptr %t7184 br label %ifend1542 ifend1542: %t7202 = load ptr, ptr %t1 %t7203 = call i32 @lp_str_eq(ptr %t7202, ptr @.str8115) %t7204 = icmp ne i32 %t7203, 0 br i1 %t7204, label %then1545, label %ifend1547 then1545: store ptr @.str8116, ptr %t403 %t7205 = load ptr, ptr %t410 %t7206 = getelementptr inbounds %LSlice, ptr %t7205, i32 0, i32 1 %t7207 = getelementptr inbounds %LSlice, ptr %t7205, i32 0, i32 2 %t7208 = getelementptr inbounds %LSlice, ptr %t7205, i32 0, i32 0 %t7209 = load i32, ptr %t7206 %t7210 = load i32, ptr %t7207 %t7211 = icmp sge i32 %t7209, %t7210 br i1 %t7211, label %grow1548, label %put1549 grow1548: %t7212 = mul i32 %t7210, 2 %t7213 = icmp eq i32 %t7210, 0 %t7214 = select i1 %t7213, i32 8, i32 %t7212 %t7215 = getelementptr ptr, ptr null, i32 1 %t7216 = ptrtoint ptr %t7215 to i64 %t7217 = zext i32 %t7214 to i64 %t7218 = mul i64 %t7217, %t7216 %t7219 = load ptr, ptr %t7208 %t7220 = call ptr @realloc(ptr %t7219, i64 %t7218) store ptr %t7220, ptr %t7208 store i32 %t7214, ptr %t7207 br label %put1549 put1549: %t7221 = load ptr, ptr %t7208 %t7222 = getelementptr inbounds ptr, ptr %t7221, i32 %t7209 store ptr @.str8117, ptr %t7222 %t7223 = add i32 %t7209, 1 store i32 %t7223, ptr %t7206 %t7224 = load ptr, ptr %t410 %t7225 = getelementptr inbounds %LSlice, ptr %t7224, i32 0, i32 1 %t7226 = getelementptr inbounds %LSlice, ptr %t7224, i32 0, i32 2 %t7227 = getelementptr inbounds %LSlice, ptr %t7224, i32 0, i32 0 %t7228 = load i32, ptr %t7225 %t7229 = load i32, ptr %t7226 %t7230 = icmp sge i32 %t7228, %t7229 br i1 %t7230, label %grow1550, label %put1551 grow1550: %t7231 = mul i32 %t7229, 2 %t7232 = icmp eq i32 %t7229, 0 %t7233 = select i1 %t7232, i32 8, i32 %t7231 %t7234 = getelementptr ptr, ptr null, i32 1 %t7235 = ptrtoint ptr %t7234 to i64 %t7236 = zext i32 %t7233 to i64 %t7237 = mul i64 %t7236, %t7235 %t7238 = load ptr, ptr %t7227 %t7239 = call ptr @realloc(ptr %t7238, i64 %t7237) store ptr %t7239, ptr %t7227 store i32 %t7233, ptr %t7226 br label %put1551 put1551: %t7240 = load ptr, ptr %t7227 %t7241 = getelementptr inbounds ptr, ptr %t7240, i32 %t7228 store ptr @.str8118, ptr %t7241 %t7242 = add i32 %t7228, 1 store i32 %t7242, ptr %t7225 br label %ifend1547 ifend1547: %t7243 = load ptr, ptr %t1 %t7244 = call i32 @lp_str_eq(ptr %t7243, ptr @.str8119) %t7245 = icmp ne i32 %t7244, 0 br i1 %t7245, label %then1552, label %ifend1554 then1552: store ptr @.str8120, ptr %t403 %t7246 = load ptr, ptr %t410 %t7247 = getelementptr inbounds %LSlice, ptr %t7246, i32 0, i32 1 %t7248 = getelementptr inbounds %LSlice, ptr %t7246, i32 0, i32 2 %t7249 = getelementptr inbounds %LSlice, ptr %t7246, i32 0, i32 0 %t7250 = load i32, ptr %t7247 %t7251 = load i32, ptr %t7248 %t7252 = icmp sge i32 %t7250, %t7251 br i1 %t7252, label %grow1555, label %put1556 grow1555: %t7253 = mul i32 %t7251, 2 %t7254 = icmp eq i32 %t7251, 0 %t7255 = select i1 %t7254, i32 8, i32 %t7253 %t7256 = getelementptr ptr, ptr null, i32 1 %t7257 = ptrtoint ptr %t7256 to i64 %t7258 = zext i32 %t7255 to i64 %t7259 = mul i64 %t7258, %t7257 %t7260 = load ptr, ptr %t7249 %t7261 = call ptr @realloc(ptr %t7260, i64 %t7259) store ptr %t7261, ptr %t7249 store i32 %t7255, ptr %t7248 br label %put1556 put1556: %t7262 = load ptr, ptr %t7249 %t7263 = getelementptr inbounds ptr, ptr %t7262, i32 %t7250 store ptr @.str8121, ptr %t7263 %t7264 = add i32 %t7250, 1 store i32 %t7264, ptr %t7247 %t7265 = load ptr, ptr %t410 %t7266 = getelementptr inbounds %LSlice, ptr %t7265, i32 0, i32 1 %t7267 = getelementptr inbounds %LSlice, ptr %t7265, i32 0, i32 2 %t7268 = getelementptr inbounds %LSlice, ptr %t7265, i32 0, i32 0 %t7269 = load i32, ptr %t7266 %t7270 = load i32, ptr %t7267 %t7271 = icmp sge i32 %t7269, %t7270 br i1 %t7271, label %grow1557, label %put1558 grow1557: %t7272 = mul i32 %t7270, 2 %t7273 = icmp eq i32 %t7270, 0 %t7274 = select i1 %t7273, i32 8, i32 %t7272 %t7275 = getelementptr ptr, ptr null, i32 1 %t7276 = ptrtoint ptr %t7275 to i64 %t7277 = zext i32 %t7274 to i64 %t7278 = mul i64 %t7277, %t7276 %t7279 = load ptr, ptr %t7268 %t7280 = call ptr @realloc(ptr %t7279, i64 %t7278) store ptr %t7280, ptr %t7268 store i32 %t7274, ptr %t7267 br label %put1558 put1558: %t7281 = load ptr, ptr %t7268 %t7282 = getelementptr inbounds ptr, ptr %t7281, i32 %t7269 store ptr @.str8122, ptr %t7282 %t7283 = add i32 %t7269, 1 store i32 %t7283, ptr %t7266 br label %ifend1554 ifend1554: %t7284 = load ptr, ptr %t1 %t7285 = call i32 @lp_str_eq(ptr %t7284, ptr @.str8123) %t7286 = icmp ne i32 %t7285, 0 br i1 %t7286, label %then1559, label %ifend1561 then1559: store ptr @.str8124, ptr %t403 %t7287 = load ptr, ptr %t410 %t7288 = getelementptr inbounds %LSlice, ptr %t7287, i32 0, i32 1 %t7289 = getelementptr inbounds %LSlice, ptr %t7287, i32 0, i32 2 %t7290 = getelementptr inbounds %LSlice, ptr %t7287, i32 0, i32 0 %t7291 = load i32, ptr %t7288 %t7292 = load i32, ptr %t7289 %t7293 = icmp sge i32 %t7291, %t7292 br i1 %t7293, label %grow1562, label %put1563 grow1562: %t7294 = mul i32 %t7292, 2 %t7295 = icmp eq i32 %t7292, 0 %t7296 = select i1 %t7295, i32 8, i32 %t7294 %t7297 = getelementptr ptr, ptr null, i32 1 %t7298 = ptrtoint ptr %t7297 to i64 %t7299 = zext i32 %t7296 to i64 %t7300 = mul i64 %t7299, %t7298 %t7301 = load ptr, ptr %t7290 %t7302 = call ptr @realloc(ptr %t7301, i64 %t7300) store ptr %t7302, ptr %t7290 store i32 %t7296, ptr %t7289 br label %put1563 put1563: %t7303 = load ptr, ptr %t7290 %t7304 = getelementptr inbounds ptr, ptr %t7303, i32 %t7291 store ptr @.str8125, ptr %t7304 %t7305 = add i32 %t7291, 1 store i32 %t7305, ptr %t7288 %t7306 = load ptr, ptr %t410 %t7307 = getelementptr inbounds %LSlice, ptr %t7306, i32 0, i32 1 %t7308 = getelementptr inbounds %LSlice, ptr %t7306, i32 0, i32 2 %t7309 = getelementptr inbounds %LSlice, ptr %t7306, i32 0, i32 0 %t7310 = load i32, ptr %t7307 %t7311 = load i32, ptr %t7308 %t7312 = icmp sge i32 %t7310, %t7311 br i1 %t7312, label %grow1564, label %put1565 grow1564: %t7313 = mul i32 %t7311, 2 %t7314 = icmp eq i32 %t7311, 0 %t7315 = select i1 %t7314, i32 8, i32 %t7313 %t7316 = getelementptr ptr, ptr null, i32 1 %t7317 = ptrtoint ptr %t7316 to i64 %t7318 = zext i32 %t7315 to i64 %t7319 = mul i64 %t7318, %t7317 %t7320 = load ptr, ptr %t7309 %t7321 = call ptr @realloc(ptr %t7320, i64 %t7319) store ptr %t7321, ptr %t7309 store i32 %t7315, ptr %t7308 br label %put1565 put1565: %t7322 = load ptr, ptr %t7309 %t7323 = getelementptr inbounds ptr, ptr %t7322, i32 %t7310 store ptr @.str8126, ptr %t7323 %t7324 = add i32 %t7310, 1 store i32 %t7324, ptr %t7307 br label %ifend1561 ifend1561: %t7325 = load ptr, ptr %t1 %t7326 = call i32 @lp_str_eq(ptr %t7325, ptr @.str8127) %t7327 = icmp ne i32 %t7326, 0 br i1 %t7327, label %then1566, label %ifend1568 then1566: store ptr @.str8128, ptr %t403 %t7328 = load ptr, ptr %t410 %t7329 = getelementptr inbounds %LSlice, ptr %t7328, i32 0, i32 1 %t7330 = getelementptr inbounds %LSlice, ptr %t7328, i32 0, i32 2 %t7331 = getelementptr inbounds %LSlice, ptr %t7328, i32 0, i32 0 %t7332 = load i32, ptr %t7329 %t7333 = load i32, ptr %t7330 %t7334 = icmp sge i32 %t7332, %t7333 br i1 %t7334, label %grow1569, label %put1570 grow1569: %t7335 = mul i32 %t7333, 2 %t7336 = icmp eq i32 %t7333, 0 %t7337 = select i1 %t7336, i32 8, i32 %t7335 %t7338 = getelementptr ptr, ptr null, i32 1 %t7339 = ptrtoint ptr %t7338 to i64 %t7340 = zext i32 %t7337 to i64 %t7341 = mul i64 %t7340, %t7339 %t7342 = load ptr, ptr %t7331 %t7343 = call ptr @realloc(ptr %t7342, i64 %t7341) store ptr %t7343, ptr %t7331 store i32 %t7337, ptr %t7330 br label %put1570 put1570: %t7344 = load ptr, ptr %t7331 %t7345 = getelementptr inbounds ptr, ptr %t7344, i32 %t7332 store ptr @.str8129, ptr %t7345 %t7346 = add i32 %t7332, 1 store i32 %t7346, ptr %t7329 %t7347 = load ptr, ptr %t410 %t7348 = getelementptr inbounds %LSlice, ptr %t7347, i32 0, i32 1 %t7349 = getelementptr inbounds %LSlice, ptr %t7347, i32 0, i32 2 %t7350 = getelementptr inbounds %LSlice, ptr %t7347, i32 0, i32 0 %t7351 = load i32, ptr %t7348 %t7352 = load i32, ptr %t7349 %t7353 = icmp sge i32 %t7351, %t7352 br i1 %t7353, label %grow1571, label %put1572 grow1571: %t7354 = mul i32 %t7352, 2 %t7355 = icmp eq i32 %t7352, 0 %t7356 = select i1 %t7355, i32 8, i32 %t7354 %t7357 = getelementptr ptr, ptr null, i32 1 %t7358 = ptrtoint ptr %t7357 to i64 %t7359 = zext i32 %t7356 to i64 %t7360 = mul i64 %t7359, %t7358 %t7361 = load ptr, ptr %t7350 %t7362 = call ptr @realloc(ptr %t7361, i64 %t7360) store ptr %t7362, ptr %t7350 store i32 %t7356, ptr %t7349 br label %put1572 put1572: %t7363 = load ptr, ptr %t7350 %t7364 = getelementptr inbounds ptr, ptr %t7363, i32 %t7351 store ptr @.str8130, ptr %t7364 %t7365 = add i32 %t7351, 1 store i32 %t7365, ptr %t7348 br label %ifend1568 ifend1568: %t7366 = load ptr, ptr %t1 %t7367 = call i32 @lp_str_eq(ptr %t7366, ptr @.str8131) %t7368 = icmp ne i32 %t7367, 0 br i1 %t7368, label %then1573, label %ifend1575 then1573: store ptr @.str8132, ptr %t403 %t7369 = load ptr, ptr %t410 %t7370 = getelementptr inbounds %LSlice, ptr %t7369, i32 0, i32 1 %t7371 = getelementptr inbounds %LSlice, ptr %t7369, i32 0, i32 2 %t7372 = getelementptr inbounds %LSlice, ptr %t7369, i32 0, i32 0 %t7373 = load i32, ptr %t7370 %t7374 = load i32, ptr %t7371 %t7375 = icmp sge i32 %t7373, %t7374 br i1 %t7375, label %grow1576, label %put1577 grow1576: %t7376 = mul i32 %t7374, 2 %t7377 = icmp eq i32 %t7374, 0 %t7378 = select i1 %t7377, i32 8, i32 %t7376 %t7379 = getelementptr ptr, ptr null, i32 1 %t7380 = ptrtoint ptr %t7379 to i64 %t7381 = zext i32 %t7378 to i64 %t7382 = mul i64 %t7381, %t7380 %t7383 = load ptr, ptr %t7372 %t7384 = call ptr @realloc(ptr %t7383, i64 %t7382) store ptr %t7384, ptr %t7372 store i32 %t7378, ptr %t7371 br label %put1577 put1577: %t7385 = load ptr, ptr %t7372 %t7386 = getelementptr inbounds ptr, ptr %t7385, i32 %t7373 store ptr @.str8133, ptr %t7386 %t7387 = add i32 %t7373, 1 store i32 %t7387, ptr %t7370 %t7388 = load ptr, ptr %t410 %t7389 = getelementptr inbounds %LSlice, ptr %t7388, i32 0, i32 1 %t7390 = getelementptr inbounds %LSlice, ptr %t7388, i32 0, i32 2 %t7391 = getelementptr inbounds %LSlice, ptr %t7388, i32 0, i32 0 %t7392 = load i32, ptr %t7389 %t7393 = load i32, ptr %t7390 %t7394 = icmp sge i32 %t7392, %t7393 br i1 %t7394, label %grow1578, label %put1579 grow1578: %t7395 = mul i32 %t7393, 2 %t7396 = icmp eq i32 %t7393, 0 %t7397 = select i1 %t7396, i32 8, i32 %t7395 %t7398 = getelementptr ptr, ptr null, i32 1 %t7399 = ptrtoint ptr %t7398 to i64 %t7400 = zext i32 %t7397 to i64 %t7401 = mul i64 %t7400, %t7399 %t7402 = load ptr, ptr %t7391 %t7403 = call ptr @realloc(ptr %t7402, i64 %t7401) store ptr %t7403, ptr %t7391 store i32 %t7397, ptr %t7390 br label %put1579 put1579: %t7404 = load ptr, ptr %t7391 %t7405 = getelementptr inbounds ptr, ptr %t7404, i32 %t7392 store ptr @.str8134, ptr %t7405 %t7406 = add i32 %t7392, 1 store i32 %t7406, ptr %t7389 %t7407 = load ptr, ptr %t410 %t7408 = getelementptr inbounds %LSlice, ptr %t7407, i32 0, i32 1 %t7409 = getelementptr inbounds %LSlice, ptr %t7407, i32 0, i32 2 %t7410 = getelementptr inbounds %LSlice, ptr %t7407, i32 0, i32 0 %t7411 = load i32, ptr %t7408 %t7412 = load i32, ptr %t7409 %t7413 = icmp sge i32 %t7411, %t7412 br i1 %t7413, label %grow1580, label %put1581 grow1580: %t7414 = mul i32 %t7412, 2 %t7415 = icmp eq i32 %t7412, 0 %t7416 = select i1 %t7415, i32 8, i32 %t7414 %t7417 = getelementptr ptr, ptr null, i32 1 %t7418 = ptrtoint ptr %t7417 to i64 %t7419 = zext i32 %t7416 to i64 %t7420 = mul i64 %t7419, %t7418 %t7421 = load ptr, ptr %t7410 %t7422 = call ptr @realloc(ptr %t7421, i64 %t7420) store ptr %t7422, ptr %t7410 store i32 %t7416, ptr %t7409 br label %put1581 put1581: %t7423 = load ptr, ptr %t7410 %t7424 = getelementptr inbounds ptr, ptr %t7423, i32 %t7411 store ptr @.str8135, ptr %t7424 %t7425 = add i32 %t7411, 1 store i32 %t7425, ptr %t7408 br label %ifend1575 ifend1575: %t7426 = load ptr, ptr %t1 %t7427 = call i32 @lp_str_eq(ptr %t7426, ptr @.str8136) %t7428 = icmp ne i32 %t7427, 0 br i1 %t7428, label %then1582, label %ifend1584 then1582: store ptr @.str8137, ptr %t403 %t7429 = load ptr, ptr %t410 %t7430 = getelementptr inbounds %LSlice, ptr %t7429, i32 0, i32 1 %t7431 = getelementptr inbounds %LSlice, ptr %t7429, i32 0, i32 2 %t7432 = getelementptr inbounds %LSlice, ptr %t7429, i32 0, i32 0 %t7433 = load i32, ptr %t7430 %t7434 = load i32, ptr %t7431 %t7435 = icmp sge i32 %t7433, %t7434 br i1 %t7435, label %grow1585, label %put1586 grow1585: %t7436 = mul i32 %t7434, 2 %t7437 = icmp eq i32 %t7434, 0 %t7438 = select i1 %t7437, i32 8, i32 %t7436 %t7439 = getelementptr ptr, ptr null, i32 1 %t7440 = ptrtoint ptr %t7439 to i64 %t7441 = zext i32 %t7438 to i64 %t7442 = mul i64 %t7441, %t7440 %t7443 = load ptr, ptr %t7432 %t7444 = call ptr @realloc(ptr %t7443, i64 %t7442) store ptr %t7444, ptr %t7432 store i32 %t7438, ptr %t7431 br label %put1586 put1586: %t7445 = load ptr, ptr %t7432 %t7446 = getelementptr inbounds ptr, ptr %t7445, i32 %t7433 store ptr @.str8138, ptr %t7446 %t7447 = add i32 %t7433, 1 store i32 %t7447, ptr %t7430 %t7448 = load ptr, ptr %t410 %t7449 = getelementptr inbounds %LSlice, ptr %t7448, i32 0, i32 1 %t7450 = getelementptr inbounds %LSlice, ptr %t7448, i32 0, i32 2 %t7451 = getelementptr inbounds %LSlice, ptr %t7448, i32 0, i32 0 %t7452 = load i32, ptr %t7449 %t7453 = load i32, ptr %t7450 %t7454 = icmp sge i32 %t7452, %t7453 br i1 %t7454, label %grow1587, label %put1588 grow1587: %t7455 = mul i32 %t7453, 2 %t7456 = icmp eq i32 %t7453, 0 %t7457 = select i1 %t7456, i32 8, i32 %t7455 %t7458 = getelementptr ptr, ptr null, i32 1 %t7459 = ptrtoint ptr %t7458 to i64 %t7460 = zext i32 %t7457 to i64 %t7461 = mul i64 %t7460, %t7459 %t7462 = load ptr, ptr %t7451 %t7463 = call ptr @realloc(ptr %t7462, i64 %t7461) store ptr %t7463, ptr %t7451 store i32 %t7457, ptr %t7450 br label %put1588 put1588: %t7464 = load ptr, ptr %t7451 %t7465 = getelementptr inbounds ptr, ptr %t7464, i32 %t7452 store ptr @.str8139, ptr %t7465 %t7466 = add i32 %t7452, 1 store i32 %t7466, ptr %t7449 %t7467 = load ptr, ptr %t410 %t7468 = getelementptr inbounds %LSlice, ptr %t7467, i32 0, i32 1 %t7469 = getelementptr inbounds %LSlice, ptr %t7467, i32 0, i32 2 %t7470 = getelementptr inbounds %LSlice, ptr %t7467, i32 0, i32 0 %t7471 = load i32, ptr %t7468 %t7472 = load i32, ptr %t7469 %t7473 = icmp sge i32 %t7471, %t7472 br i1 %t7473, label %grow1589, label %put1590 grow1589: %t7474 = mul i32 %t7472, 2 %t7475 = icmp eq i32 %t7472, 0 %t7476 = select i1 %t7475, i32 8, i32 %t7474 %t7477 = getelementptr ptr, ptr null, i32 1 %t7478 = ptrtoint ptr %t7477 to i64 %t7479 = zext i32 %t7476 to i64 %t7480 = mul i64 %t7479, %t7478 %t7481 = load ptr, ptr %t7470 %t7482 = call ptr @realloc(ptr %t7481, i64 %t7480) store ptr %t7482, ptr %t7470 store i32 %t7476, ptr %t7469 br label %put1590 put1590: %t7483 = load ptr, ptr %t7470 %t7484 = getelementptr inbounds ptr, ptr %t7483, i32 %t7471 store ptr @.str8140, ptr %t7484 %t7485 = add i32 %t7471, 1 store i32 %t7485, ptr %t7468 br label %ifend1584 ifend1584: %t7486 = load ptr, ptr %t1 %t7487 = call i32 @lp_str_eq(ptr %t7486, ptr @.str8141) %t7488 = icmp ne i32 %t7487, 0 br i1 %t7488, label %then1591, label %ifend1593 then1591: store ptr @.str8142, ptr %t403 %t7489 = load ptr, ptr %t410 %t7490 = getelementptr inbounds %LSlice, ptr %t7489, i32 0, i32 1 %t7491 = getelementptr inbounds %LSlice, ptr %t7489, i32 0, i32 2 %t7492 = getelementptr inbounds %LSlice, ptr %t7489, i32 0, i32 0 %t7493 = load i32, ptr %t7490 %t7494 = load i32, ptr %t7491 %t7495 = icmp sge i32 %t7493, %t7494 br i1 %t7495, label %grow1594, label %put1595 grow1594: %t7496 = mul i32 %t7494, 2 %t7497 = icmp eq i32 %t7494, 0 %t7498 = select i1 %t7497, i32 8, i32 %t7496 %t7499 = getelementptr ptr, ptr null, i32 1 %t7500 = ptrtoint ptr %t7499 to i64 %t7501 = zext i32 %t7498 to i64 %t7502 = mul i64 %t7501, %t7500 %t7503 = load ptr, ptr %t7492 %t7504 = call ptr @realloc(ptr %t7503, i64 %t7502) store ptr %t7504, ptr %t7492 store i32 %t7498, ptr %t7491 br label %put1595 put1595: %t7505 = load ptr, ptr %t7492 %t7506 = getelementptr inbounds ptr, ptr %t7505, i32 %t7493 store ptr @.str8143, ptr %t7506 %t7507 = add i32 %t7493, 1 store i32 %t7507, ptr %t7490 %t7508 = load ptr, ptr %t410 %t7509 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 1 %t7510 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 2 %t7511 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 0 %t7512 = load i32, ptr %t7509 %t7513 = load i32, ptr %t7510 %t7514 = icmp sge i32 %t7512, %t7513 br i1 %t7514, label %grow1596, label %put1597 grow1596: %t7515 = mul i32 %t7513, 2 %t7516 = icmp eq i32 %t7513, 0 %t7517 = select i1 %t7516, i32 8, i32 %t7515 %t7518 = getelementptr ptr, ptr null, i32 1 %t7519 = ptrtoint ptr %t7518 to i64 %t7520 = zext i32 %t7517 to i64 %t7521 = mul i64 %t7520, %t7519 %t7522 = load ptr, ptr %t7511 %t7523 = call ptr @realloc(ptr %t7522, i64 %t7521) store ptr %t7523, ptr %t7511 store i32 %t7517, ptr %t7510 br label %put1597 put1597: %t7524 = load ptr, ptr %t7511 %t7525 = getelementptr inbounds ptr, ptr %t7524, i32 %t7512 store ptr @.str8144, ptr %t7525 %t7526 = add i32 %t7512, 1 store i32 %t7526, ptr %t7509 br label %ifend1593 ifend1593: %t7527 = load ptr, ptr %t1 %t7528 = call i32 @lp_str_eq(ptr %t7527, ptr @.str8145) %t7529 = icmp ne i32 %t7528, 0 br i1 %t7529, label %then1598, label %ifend1600 then1598: store ptr @.str8146, ptr %t403 %t7530 = load ptr, ptr %t410 %t7531 = getelementptr inbounds %LSlice, ptr %t7530, i32 0, i32 1 %t7532 = getelementptr inbounds %LSlice, ptr %t7530, i32 0, i32 2 %t7533 = getelementptr inbounds %LSlice, ptr %t7530, i32 0, i32 0 %t7534 = load i32, ptr %t7531 %t7535 = load i32, ptr %t7532 %t7536 = icmp sge i32 %t7534, %t7535 br i1 %t7536, label %grow1601, label %put1602 grow1601: %t7537 = mul i32 %t7535, 2 %t7538 = icmp eq i32 %t7535, 0 %t7539 = select i1 %t7538, i32 8, i32 %t7537 %t7540 = getelementptr ptr, ptr null, i32 1 %t7541 = ptrtoint ptr %t7540 to i64 %t7542 = zext i32 %t7539 to i64 %t7543 = mul i64 %t7542, %t7541 %t7544 = load ptr, ptr %t7533 %t7545 = call ptr @realloc(ptr %t7544, i64 %t7543) store ptr %t7545, ptr %t7533 store i32 %t7539, ptr %t7532 br label %put1602 put1602: %t7546 = load ptr, ptr %t7533 %t7547 = getelementptr inbounds ptr, ptr %t7546, i32 %t7534 store ptr @.str8147, ptr %t7547 %t7548 = add i32 %t7534, 1 store i32 %t7548, ptr %t7531 br label %ifend1600 ifend1600: %t7549 = load ptr, ptr %t1 %t7550 = call i32 @lp_str_eq(ptr %t7549, ptr @.str8148) %t7551 = icmp ne i32 %t7550, 0 br i1 %t7551, label %then1603, label %ifend1605 then1603: store ptr @.str8149, ptr %t403 %t7552 = load ptr, ptr %t410 %t7553 = getelementptr inbounds %LSlice, ptr %t7552, i32 0, i32 1 %t7554 = getelementptr inbounds %LSlice, ptr %t7552, i32 0, i32 2 %t7555 = getelementptr inbounds %LSlice, ptr %t7552, i32 0, i32 0 %t7556 = load i32, ptr %t7553 %t7557 = load i32, ptr %t7554 %t7558 = icmp sge i32 %t7556, %t7557 br i1 %t7558, label %grow1606, label %put1607 grow1606: %t7559 = mul i32 %t7557, 2 %t7560 = icmp eq i32 %t7557, 0 %t7561 = select i1 %t7560, i32 8, i32 %t7559 %t7562 = getelementptr ptr, ptr null, i32 1 %t7563 = ptrtoint ptr %t7562 to i64 %t7564 = zext i32 %t7561 to i64 %t7565 = mul i64 %t7564, %t7563 %t7566 = load ptr, ptr %t7555 %t7567 = call ptr @realloc(ptr %t7566, i64 %t7565) store ptr %t7567, ptr %t7555 store i32 %t7561, ptr %t7554 br label %put1607 put1607: %t7568 = load ptr, ptr %t7555 %t7569 = getelementptr inbounds ptr, ptr %t7568, i32 %t7556 store ptr @.str8150, ptr %t7569 %t7570 = add i32 %t7556, 1 store i32 %t7570, ptr %t7553 %t7571 = load ptr, ptr %t410 %t7572 = getelementptr inbounds %LSlice, ptr %t7571, i32 0, i32 1 %t7573 = getelementptr inbounds %LSlice, ptr %t7571, i32 0, i32 2 %t7574 = getelementptr inbounds %LSlice, ptr %t7571, i32 0, i32 0 %t7575 = load i32, ptr %t7572 %t7576 = load i32, ptr %t7573 %t7577 = icmp sge i32 %t7575, %t7576 br i1 %t7577, label %grow1608, label %put1609 grow1608: %t7578 = mul i32 %t7576, 2 %t7579 = icmp eq i32 %t7576, 0 %t7580 = select i1 %t7579, i32 8, i32 %t7578 %t7581 = getelementptr ptr, ptr null, i32 1 %t7582 = ptrtoint ptr %t7581 to i64 %t7583 = zext i32 %t7580 to i64 %t7584 = mul i64 %t7583, %t7582 %t7585 = load ptr, ptr %t7574 %t7586 = call ptr @realloc(ptr %t7585, i64 %t7584) store ptr %t7586, ptr %t7574 store i32 %t7580, ptr %t7573 br label %put1609 put1609: %t7587 = load ptr, ptr %t7574 %t7588 = getelementptr inbounds ptr, ptr %t7587, i32 %t7575 store ptr @.str8151, ptr %t7588 %t7589 = add i32 %t7575, 1 store i32 %t7589, ptr %t7572 br label %ifend1605 ifend1605: %t7590 = load ptr, ptr %t1 %t7591 = call i32 @lp_str_eq(ptr %t7590, ptr @.str8152) %t7592 = icmp ne i32 %t7591, 0 br i1 %t7592, label %then1610, label %ifend1612 then1610: store ptr @.str8153, ptr %t403 %t7593 = load ptr, ptr %t410 %t7594 = getelementptr inbounds %LSlice, ptr %t7593, i32 0, i32 1 %t7595 = getelementptr inbounds %LSlice, ptr %t7593, i32 0, i32 2 %t7596 = getelementptr inbounds %LSlice, ptr %t7593, i32 0, i32 0 %t7597 = load i32, ptr %t7594 %t7598 = load i32, ptr %t7595 %t7599 = icmp sge i32 %t7597, %t7598 br i1 %t7599, label %grow1613, label %put1614 grow1613: %t7600 = mul i32 %t7598, 2 %t7601 = icmp eq i32 %t7598, 0 %t7602 = select i1 %t7601, i32 8, i32 %t7600 %t7603 = getelementptr ptr, ptr null, i32 1 %t7604 = ptrtoint ptr %t7603 to i64 %t7605 = zext i32 %t7602 to i64 %t7606 = mul i64 %t7605, %t7604 %t7607 = load ptr, ptr %t7596 %t7608 = call ptr @realloc(ptr %t7607, i64 %t7606) store ptr %t7608, ptr %t7596 store i32 %t7602, ptr %t7595 br label %put1614 put1614: %t7609 = load ptr, ptr %t7596 %t7610 = getelementptr inbounds ptr, ptr %t7609, i32 %t7597 store ptr @.str8154, ptr %t7610 %t7611 = add i32 %t7597, 1 store i32 %t7611, ptr %t7594 %t7612 = load ptr, ptr %t410 %t7613 = getelementptr inbounds %LSlice, ptr %t7612, i32 0, i32 1 %t7614 = getelementptr inbounds %LSlice, ptr %t7612, i32 0, i32 2 %t7615 = getelementptr inbounds %LSlice, ptr %t7612, i32 0, i32 0 %t7616 = load i32, ptr %t7613 %t7617 = load i32, ptr %t7614 %t7618 = icmp sge i32 %t7616, %t7617 br i1 %t7618, label %grow1615, label %put1616 grow1615: %t7619 = mul i32 %t7617, 2 %t7620 = icmp eq i32 %t7617, 0 %t7621 = select i1 %t7620, i32 8, i32 %t7619 %t7622 = getelementptr ptr, ptr null, i32 1 %t7623 = ptrtoint ptr %t7622 to i64 %t7624 = zext i32 %t7621 to i64 %t7625 = mul i64 %t7624, %t7623 %t7626 = load ptr, ptr %t7615 %t7627 = call ptr @realloc(ptr %t7626, i64 %t7625) store ptr %t7627, ptr %t7615 store i32 %t7621, ptr %t7614 br label %put1616 put1616: %t7628 = load ptr, ptr %t7615 %t7629 = getelementptr inbounds ptr, ptr %t7628, i32 %t7616 store ptr @.str8155, ptr %t7629 %t7630 = add i32 %t7616, 1 store i32 %t7630, ptr %t7613 br label %ifend1612 ifend1612: %t7631 = load ptr, ptr %t1 %t7632 = call i32 @lp_str_eq(ptr %t7631, ptr @.str8156) %t7633 = icmp ne i32 %t7632, 0 br i1 %t7633, label %then1617, label %ifend1619 then1617: store ptr @.str8157, ptr %t403 %t7634 = load ptr, ptr %t410 %t7635 = getelementptr inbounds %LSlice, ptr %t7634, i32 0, i32 1 %t7636 = getelementptr inbounds %LSlice, ptr %t7634, i32 0, i32 2 %t7637 = getelementptr inbounds %LSlice, ptr %t7634, i32 0, i32 0 %t7638 = load i32, ptr %t7635 %t7639 = load i32, ptr %t7636 %t7640 = icmp sge i32 %t7638, %t7639 br i1 %t7640, label %grow1620, label %put1621 grow1620: %t7641 = mul i32 %t7639, 2 %t7642 = icmp eq i32 %t7639, 0 %t7643 = select i1 %t7642, i32 8, i32 %t7641 %t7644 = getelementptr ptr, ptr null, i32 1 %t7645 = ptrtoint ptr %t7644 to i64 %t7646 = zext i32 %t7643 to i64 %t7647 = mul i64 %t7646, %t7645 %t7648 = load ptr, ptr %t7637 %t7649 = call ptr @realloc(ptr %t7648, i64 %t7647) store ptr %t7649, ptr %t7637 store i32 %t7643, ptr %t7636 br label %put1621 put1621: %t7650 = load ptr, ptr %t7637 %t7651 = getelementptr inbounds ptr, ptr %t7650, i32 %t7638 store ptr @.str8158, ptr %t7651 %t7652 = add i32 %t7638, 1 store i32 %t7652, ptr %t7635 br label %ifend1619 ifend1619: br label %ifend1534 ifend1534: %t7653 = load ptr, ptr %t0 %t7654 = call i32 @lp_str_eq(ptr %t7653, ptr @.str8159) %t7655 = icmp ne i32 %t7654, 0 br i1 %t7655, label %then1622, label %ifend1624 then1622: %t7656 = load ptr, ptr %t1 %t7657 = call i32 @lp_str_eq(ptr %t7656, ptr @.str8160) %t7658 = icmp ne i32 %t7657, 0 br i1 %t7658, label %then1625, label %ifend1627 then1625: store ptr @.str8161, ptr %t403 %t7659 = load ptr, ptr %t410 %t7660 = getelementptr inbounds %LSlice, ptr %t7659, i32 0, i32 1 %t7661 = getelementptr inbounds %LSlice, ptr %t7659, i32 0, i32 2 %t7662 = getelementptr inbounds %LSlice, ptr %t7659, i32 0, i32 0 %t7663 = load i32, ptr %t7660 %t7664 = load i32, ptr %t7661 %t7665 = icmp sge i32 %t7663, %t7664 br i1 %t7665, label %grow1628, label %put1629 grow1628: %t7666 = mul i32 %t7664, 2 %t7667 = icmp eq i32 %t7664, 0 %t7668 = select i1 %t7667, i32 8, i32 %t7666 %t7669 = getelementptr ptr, ptr null, i32 1 %t7670 = ptrtoint ptr %t7669 to i64 %t7671 = zext i32 %t7668 to i64 %t7672 = mul i64 %t7671, %t7670 %t7673 = load ptr, ptr %t7662 %t7674 = call ptr @realloc(ptr %t7673, i64 %t7672) store ptr %t7674, ptr %t7662 store i32 %t7668, ptr %t7661 br label %put1629 put1629: %t7675 = load ptr, ptr %t7662 %t7676 = getelementptr inbounds ptr, ptr %t7675, i32 %t7663 store ptr @.str8162, ptr %t7676 %t7677 = add i32 %t7663, 1 store i32 %t7677, ptr %t7660 br label %ifend1627 ifend1627: %t7678 = load ptr, ptr %t1 %t7679 = call i32 @lp_str_eq(ptr %t7678, ptr @.str8163) %t7680 = icmp ne i32 %t7679, 0 br i1 %t7680, label %then1630, label %ifend1632 then1630: store ptr @.str8164, ptr %t403 %t7681 = load ptr, ptr %t410 %t7682 = getelementptr inbounds %LSlice, ptr %t7681, i32 0, i32 1 %t7683 = getelementptr inbounds %LSlice, ptr %t7681, i32 0, i32 2 %t7684 = getelementptr inbounds %LSlice, ptr %t7681, i32 0, i32 0 %t7685 = load i32, ptr %t7682 %t7686 = load i32, ptr %t7683 %t7687 = icmp sge i32 %t7685, %t7686 br i1 %t7687, label %grow1633, label %put1634 grow1633: %t7688 = mul i32 %t7686, 2 %t7689 = icmp eq i32 %t7686, 0 %t7690 = select i1 %t7689, i32 8, i32 %t7688 %t7691 = getelementptr ptr, ptr null, i32 1 %t7692 = ptrtoint ptr %t7691 to i64 %t7693 = zext i32 %t7690 to i64 %t7694 = mul i64 %t7693, %t7692 %t7695 = load ptr, ptr %t7684 %t7696 = call ptr @realloc(ptr %t7695, i64 %t7694) store ptr %t7696, ptr %t7684 store i32 %t7690, ptr %t7683 br label %put1634 put1634: %t7697 = load ptr, ptr %t7684 %t7698 = getelementptr inbounds ptr, ptr %t7697, i32 %t7685 store ptr @.str8165, ptr %t7698 %t7699 = add i32 %t7685, 1 store i32 %t7699, ptr %t7682 br label %ifend1632 ifend1632: %t7700 = load ptr, ptr %t1 %t7701 = call i32 @lp_str_eq(ptr %t7700, ptr @.str8166) %t7702 = icmp ne i32 %t7701, 0 br i1 %t7702, label %then1635, label %ifend1637 then1635: store ptr @.str8167, ptr %t403 %t7703 = load ptr, ptr %t410 %t7704 = getelementptr inbounds %LSlice, ptr %t7703, i32 0, i32 1 %t7705 = getelementptr inbounds %LSlice, ptr %t7703, i32 0, i32 2 %t7706 = getelementptr inbounds %LSlice, ptr %t7703, i32 0, i32 0 %t7707 = load i32, ptr %t7704 %t7708 = load i32, ptr %t7705 %t7709 = icmp sge i32 %t7707, %t7708 br i1 %t7709, label %grow1638, label %put1639 grow1638: %t7710 = mul i32 %t7708, 2 %t7711 = icmp eq i32 %t7708, 0 %t7712 = select i1 %t7711, i32 8, i32 %t7710 %t7713 = getelementptr ptr, ptr null, i32 1 %t7714 = ptrtoint ptr %t7713 to i64 %t7715 = zext i32 %t7712 to i64 %t7716 = mul i64 %t7715, %t7714 %t7717 = load ptr, ptr %t7706 %t7718 = call ptr @realloc(ptr %t7717, i64 %t7716) store ptr %t7718, ptr %t7706 store i32 %t7712, ptr %t7705 br label %put1639 put1639: %t7719 = load ptr, ptr %t7706 %t7720 = getelementptr inbounds ptr, ptr %t7719, i32 %t7707 store ptr @.str8168, ptr %t7720 %t7721 = add i32 %t7707, 1 store i32 %t7721, ptr %t7704 %t7722 = load ptr, ptr %t410 %t7723 = getelementptr inbounds %LSlice, ptr %t7722, i32 0, i32 1 %t7724 = getelementptr inbounds %LSlice, ptr %t7722, i32 0, i32 2 %t7725 = getelementptr inbounds %LSlice, ptr %t7722, i32 0, i32 0 %t7726 = load i32, ptr %t7723 %t7727 = load i32, ptr %t7724 %t7728 = icmp sge i32 %t7726, %t7727 br i1 %t7728, label %grow1640, label %put1641 grow1640: %t7729 = mul i32 %t7727, 2 %t7730 = icmp eq i32 %t7727, 0 %t7731 = select i1 %t7730, i32 8, i32 %t7729 %t7732 = getelementptr ptr, ptr null, i32 1 %t7733 = ptrtoint ptr %t7732 to i64 %t7734 = zext i32 %t7731 to i64 %t7735 = mul i64 %t7734, %t7733 %t7736 = load ptr, ptr %t7725 %t7737 = call ptr @realloc(ptr %t7736, i64 %t7735) store ptr %t7737, ptr %t7725 store i32 %t7731, ptr %t7724 br label %put1641 put1641: %t7738 = load ptr, ptr %t7725 %t7739 = getelementptr inbounds ptr, ptr %t7738, i32 %t7726 store ptr @.str8169, ptr %t7739 %t7740 = add i32 %t7726, 1 store i32 %t7740, ptr %t7723 br label %ifend1637 ifend1637: %t7741 = load ptr, ptr %t1 %t7742 = call i32 @lp_str_eq(ptr %t7741, ptr @.str8170) %t7743 = icmp ne i32 %t7742, 0 br i1 %t7743, label %then1642, label %ifend1644 then1642: store ptr @.str8171, ptr %t403 %t7744 = load ptr, ptr %t410 %t7745 = getelementptr inbounds %LSlice, ptr %t7744, i32 0, i32 1 %t7746 = getelementptr inbounds %LSlice, ptr %t7744, i32 0, i32 2 %t7747 = getelementptr inbounds %LSlice, ptr %t7744, i32 0, i32 0 %t7748 = load i32, ptr %t7745 %t7749 = load i32, ptr %t7746 %t7750 = icmp sge i32 %t7748, %t7749 br i1 %t7750, label %grow1645, label %put1646 grow1645: %t7751 = mul i32 %t7749, 2 %t7752 = icmp eq i32 %t7749, 0 %t7753 = select i1 %t7752, i32 8, i32 %t7751 %t7754 = getelementptr ptr, ptr null, i32 1 %t7755 = ptrtoint ptr %t7754 to i64 %t7756 = zext i32 %t7753 to i64 %t7757 = mul i64 %t7756, %t7755 %t7758 = load ptr, ptr %t7747 %t7759 = call ptr @realloc(ptr %t7758, i64 %t7757) store ptr %t7759, ptr %t7747 store i32 %t7753, ptr %t7746 br label %put1646 put1646: %t7760 = load ptr, ptr %t7747 %t7761 = getelementptr inbounds ptr, ptr %t7760, i32 %t7748 store ptr @.str8172, ptr %t7761 %t7762 = add i32 %t7748, 1 store i32 %t7762, ptr %t7745 %t7763 = load ptr, ptr %t410 %t7764 = getelementptr inbounds %LSlice, ptr %t7763, i32 0, i32 1 %t7765 = getelementptr inbounds %LSlice, ptr %t7763, i32 0, i32 2 %t7766 = getelementptr inbounds %LSlice, ptr %t7763, i32 0, i32 0 %t7767 = load i32, ptr %t7764 %t7768 = load i32, ptr %t7765 %t7769 = icmp sge i32 %t7767, %t7768 br i1 %t7769, label %grow1647, label %put1648 grow1647: %t7770 = mul i32 %t7768, 2 %t7771 = icmp eq i32 %t7768, 0 %t7772 = select i1 %t7771, i32 8, i32 %t7770 %t7773 = getelementptr ptr, ptr null, i32 1 %t7774 = ptrtoint ptr %t7773 to i64 %t7775 = zext i32 %t7772 to i64 %t7776 = mul i64 %t7775, %t7774 %t7777 = load ptr, ptr %t7766 %t7778 = call ptr @realloc(ptr %t7777, i64 %t7776) store ptr %t7778, ptr %t7766 store i32 %t7772, ptr %t7765 br label %put1648 put1648: %t7779 = load ptr, ptr %t7766 %t7780 = getelementptr inbounds ptr, ptr %t7779, i32 %t7767 store ptr @.str8173, ptr %t7780 %t7781 = add i32 %t7767, 1 store i32 %t7781, ptr %t7764 br label %ifend1644 ifend1644: %t7782 = load ptr, ptr %t1 %t7783 = call i32 @lp_str_eq(ptr %t7782, ptr @.str8174) %t7784 = icmp ne i32 %t7783, 0 br i1 %t7784, label %then1649, label %ifend1651 then1649: store ptr @.str8175, ptr %t403 %t7785 = load ptr, ptr %t410 %t7786 = getelementptr inbounds %LSlice, ptr %t7785, i32 0, i32 1 %t7787 = getelementptr inbounds %LSlice, ptr %t7785, i32 0, i32 2 %t7788 = getelementptr inbounds %LSlice, ptr %t7785, i32 0, i32 0 %t7789 = load i32, ptr %t7786 %t7790 = load i32, ptr %t7787 %t7791 = icmp sge i32 %t7789, %t7790 br i1 %t7791, label %grow1652, label %put1653 grow1652: %t7792 = mul i32 %t7790, 2 %t7793 = icmp eq i32 %t7790, 0 %t7794 = select i1 %t7793, i32 8, i32 %t7792 %t7795 = getelementptr ptr, ptr null, i32 1 %t7796 = ptrtoint ptr %t7795 to i64 %t7797 = zext i32 %t7794 to i64 %t7798 = mul i64 %t7797, %t7796 %t7799 = load ptr, ptr %t7788 %t7800 = call ptr @realloc(ptr %t7799, i64 %t7798) store ptr %t7800, ptr %t7788 store i32 %t7794, ptr %t7787 br label %put1653 put1653: %t7801 = load ptr, ptr %t7788 %t7802 = getelementptr inbounds ptr, ptr %t7801, i32 %t7789 store ptr @.str8176, ptr %t7802 %t7803 = add i32 %t7789, 1 store i32 %t7803, ptr %t7786 %t7804 = load ptr, ptr %t410 %t7805 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 1 %t7806 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 2 %t7807 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 0 %t7808 = load i32, ptr %t7805 %t7809 = load i32, ptr %t7806 %t7810 = icmp sge i32 %t7808, %t7809 br i1 %t7810, label %grow1654, label %put1655 grow1654: %t7811 = mul i32 %t7809, 2 %t7812 = icmp eq i32 %t7809, 0 %t7813 = select i1 %t7812, i32 8, i32 %t7811 %t7814 = getelementptr ptr, ptr null, i32 1 %t7815 = ptrtoint ptr %t7814 to i64 %t7816 = zext i32 %t7813 to i64 %t7817 = mul i64 %t7816, %t7815 %t7818 = load ptr, ptr %t7807 %t7819 = call ptr @realloc(ptr %t7818, i64 %t7817) store ptr %t7819, ptr %t7807 store i32 %t7813, ptr %t7806 br label %put1655 put1655: %t7820 = load ptr, ptr %t7807 %t7821 = getelementptr inbounds ptr, ptr %t7820, i32 %t7808 store ptr @.str8177, ptr %t7821 %t7822 = add i32 %t7808, 1 store i32 %t7822, ptr %t7805 br label %ifend1651 ifend1651: %t7823 = load ptr, ptr %t1 %t7824 = call i32 @lp_str_eq(ptr %t7823, ptr @.str8178) %t7825 = icmp ne i32 %t7824, 0 br i1 %t7825, label %then1656, label %ifend1658 then1656: store ptr @.str8179, ptr %t403 %t7826 = load ptr, ptr %t410 %t7827 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 1 %t7828 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 2 %t7829 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 0 %t7830 = load i32, ptr %t7827 %t7831 = load i32, ptr %t7828 %t7832 = icmp sge i32 %t7830, %t7831 br i1 %t7832, label %grow1659, label %put1660 grow1659: %t7833 = mul i32 %t7831, 2 %t7834 = icmp eq i32 %t7831, 0 %t7835 = select i1 %t7834, i32 8, i32 %t7833 %t7836 = getelementptr ptr, ptr null, i32 1 %t7837 = ptrtoint ptr %t7836 to i64 %t7838 = zext i32 %t7835 to i64 %t7839 = mul i64 %t7838, %t7837 %t7840 = load ptr, ptr %t7829 %t7841 = call ptr @realloc(ptr %t7840, i64 %t7839) store ptr %t7841, ptr %t7829 store i32 %t7835, ptr %t7828 br label %put1660 put1660: %t7842 = load ptr, ptr %t7829 %t7843 = getelementptr inbounds ptr, ptr %t7842, i32 %t7830 store ptr @.str8180, ptr %t7843 %t7844 = add i32 %t7830, 1 store i32 %t7844, ptr %t7827 br label %ifend1658 ifend1658: %t7845 = load ptr, ptr %t1 %t7846 = call i32 @lp_str_eq(ptr %t7845, ptr @.str8181) %t7847 = icmp ne i32 %t7846, 0 br i1 %t7847, label %then1661, label %ifend1663 then1661: store ptr @.str8182, ptr %t403 %t7848 = load ptr, ptr %t410 %t7849 = getelementptr inbounds %LSlice, ptr %t7848, i32 0, i32 1 %t7850 = getelementptr inbounds %LSlice, ptr %t7848, i32 0, i32 2 %t7851 = getelementptr inbounds %LSlice, ptr %t7848, i32 0, i32 0 %t7852 = load i32, ptr %t7849 %t7853 = load i32, ptr %t7850 %t7854 = icmp sge i32 %t7852, %t7853 br i1 %t7854, label %grow1664, label %put1665 grow1664: %t7855 = mul i32 %t7853, 2 %t7856 = icmp eq i32 %t7853, 0 %t7857 = select i1 %t7856, i32 8, i32 %t7855 %t7858 = getelementptr ptr, ptr null, i32 1 %t7859 = ptrtoint ptr %t7858 to i64 %t7860 = zext i32 %t7857 to i64 %t7861 = mul i64 %t7860, %t7859 %t7862 = load ptr, ptr %t7851 %t7863 = call ptr @realloc(ptr %t7862, i64 %t7861) store ptr %t7863, ptr %t7851 store i32 %t7857, ptr %t7850 br label %put1665 put1665: %t7864 = load ptr, ptr %t7851 %t7865 = getelementptr inbounds ptr, ptr %t7864, i32 %t7852 store ptr @.str8183, ptr %t7865 %t7866 = add i32 %t7852, 1 store i32 %t7866, ptr %t7849 %t7867 = load ptr, ptr %t410 %t7868 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 1 %t7869 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 2 %t7870 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 0 %t7871 = load i32, ptr %t7868 %t7872 = load i32, ptr %t7869 %t7873 = icmp sge i32 %t7871, %t7872 br i1 %t7873, label %grow1666, label %put1667 grow1666: %t7874 = mul i32 %t7872, 2 %t7875 = icmp eq i32 %t7872, 0 %t7876 = select i1 %t7875, i32 8, i32 %t7874 %t7877 = getelementptr ptr, ptr null, i32 1 %t7878 = ptrtoint ptr %t7877 to i64 %t7879 = zext i32 %t7876 to i64 %t7880 = mul i64 %t7879, %t7878 %t7881 = load ptr, ptr %t7870 %t7882 = call ptr @realloc(ptr %t7881, i64 %t7880) store ptr %t7882, ptr %t7870 store i32 %t7876, ptr %t7869 br label %put1667 put1667: %t7883 = load ptr, ptr %t7870 %t7884 = getelementptr inbounds ptr, ptr %t7883, i32 %t7871 store ptr @.str8184, ptr %t7884 %t7885 = add i32 %t7871, 1 store i32 %t7885, ptr %t7868 br label %ifend1663 ifend1663: %t7886 = load ptr, ptr %t1 %t7887 = call i32 @lp_str_eq(ptr %t7886, ptr @.str8185) %t7888 = icmp ne i32 %t7887, 0 br i1 %t7888, label %then1668, label %ifend1670 then1668: store ptr @.str8186, ptr %t403 %t7889 = load ptr, ptr %t410 %t7890 = getelementptr inbounds %LSlice, ptr %t7889, i32 0, i32 1 %t7891 = getelementptr inbounds %LSlice, ptr %t7889, i32 0, i32 2 %t7892 = getelementptr inbounds %LSlice, ptr %t7889, i32 0, i32 0 %t7893 = load i32, ptr %t7890 %t7894 = load i32, ptr %t7891 %t7895 = icmp sge i32 %t7893, %t7894 br i1 %t7895, label %grow1671, label %put1672 grow1671: %t7896 = mul i32 %t7894, 2 %t7897 = icmp eq i32 %t7894, 0 %t7898 = select i1 %t7897, i32 8, i32 %t7896 %t7899 = getelementptr ptr, ptr null, i32 1 %t7900 = ptrtoint ptr %t7899 to i64 %t7901 = zext i32 %t7898 to i64 %t7902 = mul i64 %t7901, %t7900 %t7903 = load ptr, ptr %t7892 %t7904 = call ptr @realloc(ptr %t7903, i64 %t7902) store ptr %t7904, ptr %t7892 store i32 %t7898, ptr %t7891 br label %put1672 put1672: %t7905 = load ptr, ptr %t7892 %t7906 = getelementptr inbounds ptr, ptr %t7905, i32 %t7893 store ptr @.str8187, ptr %t7906 %t7907 = add i32 %t7893, 1 store i32 %t7907, ptr %t7890 %t7908 = load ptr, ptr %t410 %t7909 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 1 %t7910 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 2 %t7911 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 0 %t7912 = load i32, ptr %t7909 %t7913 = load i32, ptr %t7910 %t7914 = icmp sge i32 %t7912, %t7913 br i1 %t7914, label %grow1673, label %put1674 grow1673: %t7915 = mul i32 %t7913, 2 %t7916 = icmp eq i32 %t7913, 0 %t7917 = select i1 %t7916, i32 8, i32 %t7915 %t7918 = getelementptr ptr, ptr null, i32 1 %t7919 = ptrtoint ptr %t7918 to i64 %t7920 = zext i32 %t7917 to i64 %t7921 = mul i64 %t7920, %t7919 %t7922 = load ptr, ptr %t7911 %t7923 = call ptr @realloc(ptr %t7922, i64 %t7921) store ptr %t7923, ptr %t7911 store i32 %t7917, ptr %t7910 br label %put1674 put1674: %t7924 = load ptr, ptr %t7911 %t7925 = getelementptr inbounds ptr, ptr %t7924, i32 %t7912 store ptr @.str8188, ptr %t7925 %t7926 = add i32 %t7912, 1 store i32 %t7926, ptr %t7909 br label %ifend1670 ifend1670: %t7927 = load ptr, ptr %t1 %t7928 = call i32 @lp_str_eq(ptr %t7927, ptr @.str8189) %t7929 = icmp ne i32 %t7928, 0 br i1 %t7929, label %then1675, label %ifend1677 then1675: store ptr @.str8190, ptr %t403 %t7930 = load ptr, ptr %t410 %t7931 = getelementptr inbounds %LSlice, ptr %t7930, i32 0, i32 1 %t7932 = getelementptr inbounds %LSlice, ptr %t7930, i32 0, i32 2 %t7933 = getelementptr inbounds %LSlice, ptr %t7930, i32 0, i32 0 %t7934 = load i32, ptr %t7931 %t7935 = load i32, ptr %t7932 %t7936 = icmp sge i32 %t7934, %t7935 br i1 %t7936, label %grow1678, label %put1679 grow1678: %t7937 = mul i32 %t7935, 2 %t7938 = icmp eq i32 %t7935, 0 %t7939 = select i1 %t7938, i32 8, i32 %t7937 %t7940 = getelementptr ptr, ptr null, i32 1 %t7941 = ptrtoint ptr %t7940 to i64 %t7942 = zext i32 %t7939 to i64 %t7943 = mul i64 %t7942, %t7941 %t7944 = load ptr, ptr %t7933 %t7945 = call ptr @realloc(ptr %t7944, i64 %t7943) store ptr %t7945, ptr %t7933 store i32 %t7939, ptr %t7932 br label %put1679 put1679: %t7946 = load ptr, ptr %t7933 %t7947 = getelementptr inbounds ptr, ptr %t7946, i32 %t7934 store ptr @.str8191, ptr %t7947 %t7948 = add i32 %t7934, 1 store i32 %t7948, ptr %t7931 %t7949 = load ptr, ptr %t410 %t7950 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 1 %t7951 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 2 %t7952 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 0 %t7953 = load i32, ptr %t7950 %t7954 = load i32, ptr %t7951 %t7955 = icmp sge i32 %t7953, %t7954 br i1 %t7955, label %grow1680, label %put1681 grow1680: %t7956 = mul i32 %t7954, 2 %t7957 = icmp eq i32 %t7954, 0 %t7958 = select i1 %t7957, i32 8, i32 %t7956 %t7959 = getelementptr ptr, ptr null, i32 1 %t7960 = ptrtoint ptr %t7959 to i64 %t7961 = zext i32 %t7958 to i64 %t7962 = mul i64 %t7961, %t7960 %t7963 = load ptr, ptr %t7952 %t7964 = call ptr @realloc(ptr %t7963, i64 %t7962) store ptr %t7964, ptr %t7952 store i32 %t7958, ptr %t7951 br label %put1681 put1681: %t7965 = load ptr, ptr %t7952 %t7966 = getelementptr inbounds ptr, ptr %t7965, i32 %t7953 store ptr @.str8192, ptr %t7966 %t7967 = add i32 %t7953, 1 store i32 %t7967, ptr %t7950 br label %ifend1677 ifend1677: %t7968 = load ptr, ptr %t1 %t7969 = call i32 @lp_str_eq(ptr %t7968, ptr @.str8193) %t7970 = icmp ne i32 %t7969, 0 br i1 %t7970, label %then1682, label %ifend1684 then1682: store ptr @.str8194, ptr %t403 %t7971 = load ptr, ptr %t410 %t7972 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 1 %t7973 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 2 %t7974 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 0 %t7975 = load i32, ptr %t7972 %t7976 = load i32, ptr %t7973 %t7977 = icmp sge i32 %t7975, %t7976 br i1 %t7977, label %grow1685, label %put1686 grow1685: %t7978 = mul i32 %t7976, 2 %t7979 = icmp eq i32 %t7976, 0 %t7980 = select i1 %t7979, i32 8, i32 %t7978 %t7981 = getelementptr ptr, ptr null, i32 1 %t7982 = ptrtoint ptr %t7981 to i64 %t7983 = zext i32 %t7980 to i64 %t7984 = mul i64 %t7983, %t7982 %t7985 = load ptr, ptr %t7974 %t7986 = call ptr @realloc(ptr %t7985, i64 %t7984) store ptr %t7986, ptr %t7974 store i32 %t7980, ptr %t7973 br label %put1686 put1686: %t7987 = load ptr, ptr %t7974 %t7988 = getelementptr inbounds ptr, ptr %t7987, i32 %t7975 store ptr @.str8195, ptr %t7988 %t7989 = add i32 %t7975, 1 store i32 %t7989, ptr %t7972 %t7990 = load ptr, ptr %t410 %t7991 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 1 %t7992 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 2 %t7993 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 0 %t7994 = load i32, ptr %t7991 %t7995 = load i32, ptr %t7992 %t7996 = icmp sge i32 %t7994, %t7995 br i1 %t7996, label %grow1687, label %put1688 grow1687: %t7997 = mul i32 %t7995, 2 %t7998 = icmp eq i32 %t7995, 0 %t7999 = select i1 %t7998, i32 8, i32 %t7997 %t8000 = getelementptr ptr, ptr null, i32 1 %t8001 = ptrtoint ptr %t8000 to i64 %t8002 = zext i32 %t7999 to i64 %t8003 = mul i64 %t8002, %t8001 %t8004 = load ptr, ptr %t7993 %t8005 = call ptr @realloc(ptr %t8004, i64 %t8003) store ptr %t8005, ptr %t7993 store i32 %t7999, ptr %t7992 br label %put1688 put1688: %t8006 = load ptr, ptr %t7993 %t8007 = getelementptr inbounds ptr, ptr %t8006, i32 %t7994 store ptr @.str8196, ptr %t8007 %t8008 = add i32 %t7994, 1 store i32 %t8008, ptr %t7991 br label %ifend1684 ifend1684: %t8009 = load ptr, ptr %t1 %t8010 = call i32 @lp_str_eq(ptr %t8009, ptr @.str8197) %t8011 = icmp ne i32 %t8010, 0 br i1 %t8011, label %then1689, label %ifend1691 then1689: store ptr @.str8198, ptr %t403 %t8012 = load ptr, ptr %t410 %t8013 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 1 %t8014 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 2 %t8015 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 0 %t8016 = load i32, ptr %t8013 %t8017 = load i32, ptr %t8014 %t8018 = icmp sge i32 %t8016, %t8017 br i1 %t8018, label %grow1692, label %put1693 grow1692: %t8019 = mul i32 %t8017, 2 %t8020 = icmp eq i32 %t8017, 0 %t8021 = select i1 %t8020, i32 8, i32 %t8019 %t8022 = getelementptr ptr, ptr null, i32 1 %t8023 = ptrtoint ptr %t8022 to i64 %t8024 = zext i32 %t8021 to i64 %t8025 = mul i64 %t8024, %t8023 %t8026 = load ptr, ptr %t8015 %t8027 = call ptr @realloc(ptr %t8026, i64 %t8025) store ptr %t8027, ptr %t8015 store i32 %t8021, ptr %t8014 br label %put1693 put1693: %t8028 = load ptr, ptr %t8015 %t8029 = getelementptr inbounds ptr, ptr %t8028, i32 %t8016 store ptr @.str8199, ptr %t8029 %t8030 = add i32 %t8016, 1 store i32 %t8030, ptr %t8013 %t8031 = load ptr, ptr %t410 %t8032 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 1 %t8033 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 2 %t8034 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 0 %t8035 = load i32, ptr %t8032 %t8036 = load i32, ptr %t8033 %t8037 = icmp sge i32 %t8035, %t8036 br i1 %t8037, label %grow1694, label %put1695 grow1694: %t8038 = mul i32 %t8036, 2 %t8039 = icmp eq i32 %t8036, 0 %t8040 = select i1 %t8039, i32 8, i32 %t8038 %t8041 = getelementptr ptr, ptr null, i32 1 %t8042 = ptrtoint ptr %t8041 to i64 %t8043 = zext i32 %t8040 to i64 %t8044 = mul i64 %t8043, %t8042 %t8045 = load ptr, ptr %t8034 %t8046 = call ptr @realloc(ptr %t8045, i64 %t8044) store ptr %t8046, ptr %t8034 store i32 %t8040, ptr %t8033 br label %put1695 put1695: %t8047 = load ptr, ptr %t8034 %t8048 = getelementptr inbounds ptr, ptr %t8047, i32 %t8035 store ptr @.str8200, ptr %t8048 %t8049 = add i32 %t8035, 1 store i32 %t8049, ptr %t8032 br label %ifend1691 ifend1691: %t8050 = load ptr, ptr %t1 %t8051 = call i32 @lp_str_eq(ptr %t8050, ptr @.str8201) %t8052 = icmp ne i32 %t8051, 0 br i1 %t8052, label %then1696, label %ifend1698 then1696: store ptr @.str8202, ptr %t403 %t8053 = load ptr, ptr %t410 %t8054 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 1 %t8055 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 2 %t8056 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 0 %t8057 = load i32, ptr %t8054 %t8058 = load i32, ptr %t8055 %t8059 = icmp sge i32 %t8057, %t8058 br i1 %t8059, label %grow1699, label %put1700 grow1699: %t8060 = mul i32 %t8058, 2 %t8061 = icmp eq i32 %t8058, 0 %t8062 = select i1 %t8061, i32 8, i32 %t8060 %t8063 = getelementptr ptr, ptr null, i32 1 %t8064 = ptrtoint ptr %t8063 to i64 %t8065 = zext i32 %t8062 to i64 %t8066 = mul i64 %t8065, %t8064 %t8067 = load ptr, ptr %t8056 %t8068 = call ptr @realloc(ptr %t8067, i64 %t8066) store ptr %t8068, ptr %t8056 store i32 %t8062, ptr %t8055 br label %put1700 put1700: %t8069 = load ptr, ptr %t8056 %t8070 = getelementptr inbounds ptr, ptr %t8069, i32 %t8057 store ptr @.str8203, ptr %t8070 %t8071 = add i32 %t8057, 1 store i32 %t8071, ptr %t8054 br label %ifend1698 ifend1698: %t8072 = load ptr, ptr %t1 %t8073 = call i32 @lp_str_eq(ptr %t8072, ptr @.str8204) %t8074 = icmp ne i32 %t8073, 0 br i1 %t8074, label %then1701, label %ifend1703 then1701: store ptr @.str8205, ptr %t403 %t8075 = load ptr, ptr %t410 %t8076 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 1 %t8077 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 2 %t8078 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 0 %t8079 = load i32, ptr %t8076 %t8080 = load i32, ptr %t8077 %t8081 = icmp sge i32 %t8079, %t8080 br i1 %t8081, label %grow1704, label %put1705 grow1704: %t8082 = mul i32 %t8080, 2 %t8083 = icmp eq i32 %t8080, 0 %t8084 = select i1 %t8083, i32 8, i32 %t8082 %t8085 = getelementptr ptr, ptr null, i32 1 %t8086 = ptrtoint ptr %t8085 to i64 %t8087 = zext i32 %t8084 to i64 %t8088 = mul i64 %t8087, %t8086 %t8089 = load ptr, ptr %t8078 %t8090 = call ptr @realloc(ptr %t8089, i64 %t8088) store ptr %t8090, ptr %t8078 store i32 %t8084, ptr %t8077 br label %put1705 put1705: %t8091 = load ptr, ptr %t8078 %t8092 = getelementptr inbounds ptr, ptr %t8091, i32 %t8079 store ptr @.str8206, ptr %t8092 %t8093 = add i32 %t8079, 1 store i32 %t8093, ptr %t8076 br label %ifend1703 ifend1703: %t8094 = load ptr, ptr %t1 %t8095 = call i32 @lp_str_eq(ptr %t8094, ptr @.str8207) %t8096 = icmp ne i32 %t8095, 0 br i1 %t8096, label %then1706, label %ifend1708 then1706: store ptr @.str8208, ptr %t403 %t8097 = load ptr, ptr %t410 %t8098 = getelementptr inbounds %LSlice, ptr %t8097, i32 0, i32 1 %t8099 = getelementptr inbounds %LSlice, ptr %t8097, i32 0, i32 2 %t8100 = getelementptr inbounds %LSlice, ptr %t8097, i32 0, i32 0 %t8101 = load i32, ptr %t8098 %t8102 = load i32, ptr %t8099 %t8103 = icmp sge i32 %t8101, %t8102 br i1 %t8103, label %grow1709, label %put1710 grow1709: %t8104 = mul i32 %t8102, 2 %t8105 = icmp eq i32 %t8102, 0 %t8106 = select i1 %t8105, i32 8, i32 %t8104 %t8107 = getelementptr ptr, ptr null, i32 1 %t8108 = ptrtoint ptr %t8107 to i64 %t8109 = zext i32 %t8106 to i64 %t8110 = mul i64 %t8109, %t8108 %t8111 = load ptr, ptr %t8100 %t8112 = call ptr @realloc(ptr %t8111, i64 %t8110) store ptr %t8112, ptr %t8100 store i32 %t8106, ptr %t8099 br label %put1710 put1710: %t8113 = load ptr, ptr %t8100 %t8114 = getelementptr inbounds ptr, ptr %t8113, i32 %t8101 store ptr @.str8209, ptr %t8114 %t8115 = add i32 %t8101, 1 store i32 %t8115, ptr %t8098 br label %ifend1708 ifend1708: br label %ifend1624 ifend1624: %t8116 = load ptr, ptr %t0 %t8117 = call i32 @lp_str_eq(ptr %t8116, ptr @.str8210) %t8118 = icmp ne i32 %t8117, 0 br i1 %t8118, label %then1711, label %ifend1713 then1711: %t8119 = load ptr, ptr %t1 %t8120 = call i32 @lp_str_eq(ptr %t8119, ptr @.str8211) %t8121 = icmp ne i32 %t8120, 0 br i1 %t8121, label %then1714, label %ifend1716 then1714: store ptr @.str8212, ptr %t403 %t8122 = load ptr, ptr %t410 %t8123 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 1 %t8124 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 2 %t8125 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 0 %t8126 = load i32, ptr %t8123 %t8127 = load i32, ptr %t8124 %t8128 = icmp sge i32 %t8126, %t8127 br i1 %t8128, label %grow1717, label %put1718 grow1717: %t8129 = mul i32 %t8127, 2 %t8130 = icmp eq i32 %t8127, 0 %t8131 = select i1 %t8130, i32 8, i32 %t8129 %t8132 = getelementptr ptr, ptr null, i32 1 %t8133 = ptrtoint ptr %t8132 to i64 %t8134 = zext i32 %t8131 to i64 %t8135 = mul i64 %t8134, %t8133 %t8136 = load ptr, ptr %t8125 %t8137 = call ptr @realloc(ptr %t8136, i64 %t8135) store ptr %t8137, ptr %t8125 store i32 %t8131, ptr %t8124 br label %put1718 put1718: %t8138 = load ptr, ptr %t8125 %t8139 = getelementptr inbounds ptr, ptr %t8138, i32 %t8126 store ptr @.str8213, ptr %t8139 %t8140 = add i32 %t8126, 1 store i32 %t8140, ptr %t8123 br label %ifend1716 ifend1716: %t8141 = load ptr, ptr %t1 %t8142 = call i32 @lp_str_eq(ptr %t8141, ptr @.str8214) %t8143 = icmp ne i32 %t8142, 0 br i1 %t8143, label %then1719, label %ifend1721 then1719: store ptr @.str8215, ptr %t403 %t8144 = load ptr, ptr %t410 %t8145 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 1 %t8146 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 2 %t8147 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 0 %t8148 = load i32, ptr %t8145 %t8149 = load i32, ptr %t8146 %t8150 = icmp sge i32 %t8148, %t8149 br i1 %t8150, label %grow1722, label %put1723 grow1722: %t8151 = mul i32 %t8149, 2 %t8152 = icmp eq i32 %t8149, 0 %t8153 = select i1 %t8152, i32 8, i32 %t8151 %t8154 = getelementptr ptr, ptr null, i32 1 %t8155 = ptrtoint ptr %t8154 to i64 %t8156 = zext i32 %t8153 to i64 %t8157 = mul i64 %t8156, %t8155 %t8158 = load ptr, ptr %t8147 %t8159 = call ptr @realloc(ptr %t8158, i64 %t8157) store ptr %t8159, ptr %t8147 store i32 %t8153, ptr %t8146 br label %put1723 put1723: %t8160 = load ptr, ptr %t8147 %t8161 = getelementptr inbounds ptr, ptr %t8160, i32 %t8148 store ptr @.str8216, ptr %t8161 %t8162 = add i32 %t8148, 1 store i32 %t8162, ptr %t8145 br label %ifend1721 ifend1721: %t8163 = load ptr, ptr %t1 %t8164 = call i32 @lp_str_eq(ptr %t8163, ptr @.str8217) %t8165 = icmp ne i32 %t8164, 0 br i1 %t8165, label %then1724, label %ifend1726 then1724: store ptr @.str8218, ptr %t403 %t8166 = load ptr, ptr %t410 %t8167 = getelementptr inbounds %LSlice, ptr %t8166, i32 0, i32 1 %t8168 = getelementptr inbounds %LSlice, ptr %t8166, i32 0, i32 2 %t8169 = getelementptr inbounds %LSlice, ptr %t8166, i32 0, i32 0 %t8170 = load i32, ptr %t8167 %t8171 = load i32, ptr %t8168 %t8172 = icmp sge i32 %t8170, %t8171 br i1 %t8172, label %grow1727, label %put1728 grow1727: %t8173 = mul i32 %t8171, 2 %t8174 = icmp eq i32 %t8171, 0 %t8175 = select i1 %t8174, i32 8, i32 %t8173 %t8176 = getelementptr ptr, ptr null, i32 1 %t8177 = ptrtoint ptr %t8176 to i64 %t8178 = zext i32 %t8175 to i64 %t8179 = mul i64 %t8178, %t8177 %t8180 = load ptr, ptr %t8169 %t8181 = call ptr @realloc(ptr %t8180, i64 %t8179) store ptr %t8181, ptr %t8169 store i32 %t8175, ptr %t8168 br label %put1728 put1728: %t8182 = load ptr, ptr %t8169 %t8183 = getelementptr inbounds ptr, ptr %t8182, i32 %t8170 store ptr @.str8219, ptr %t8183 %t8184 = add i32 %t8170, 1 store i32 %t8184, ptr %t8167 %t8185 = load ptr, ptr %t410 %t8186 = getelementptr inbounds %LSlice, ptr %t8185, i32 0, i32 1 %t8187 = getelementptr inbounds %LSlice, ptr %t8185, i32 0, i32 2 %t8188 = getelementptr inbounds %LSlice, ptr %t8185, i32 0, i32 0 %t8189 = load i32, ptr %t8186 %t8190 = load i32, ptr %t8187 %t8191 = icmp sge i32 %t8189, %t8190 br i1 %t8191, label %grow1729, label %put1730 grow1729: %t8192 = mul i32 %t8190, 2 %t8193 = icmp eq i32 %t8190, 0 %t8194 = select i1 %t8193, i32 8, i32 %t8192 %t8195 = getelementptr ptr, ptr null, i32 1 %t8196 = ptrtoint ptr %t8195 to i64 %t8197 = zext i32 %t8194 to i64 %t8198 = mul i64 %t8197, %t8196 %t8199 = load ptr, ptr %t8188 %t8200 = call ptr @realloc(ptr %t8199, i64 %t8198) store ptr %t8200, ptr %t8188 store i32 %t8194, ptr %t8187 br label %put1730 put1730: %t8201 = load ptr, ptr %t8188 %t8202 = getelementptr inbounds ptr, ptr %t8201, i32 %t8189 store ptr @.str8220, ptr %t8202 %t8203 = add i32 %t8189, 1 store i32 %t8203, ptr %t8186 br label %ifend1726 ifend1726: %t8204 = load ptr, ptr %t1 %t8205 = call i32 @lp_str_eq(ptr %t8204, ptr @.str8221) %t8206 = icmp ne i32 %t8205, 0 br i1 %t8206, label %then1731, label %ifend1733 then1731: store ptr @.str8222, ptr %t403 %t8207 = load ptr, ptr %t410 %t8208 = getelementptr inbounds %LSlice, ptr %t8207, i32 0, i32 1 %t8209 = getelementptr inbounds %LSlice, ptr %t8207, i32 0, i32 2 %t8210 = getelementptr inbounds %LSlice, ptr %t8207, i32 0, i32 0 %t8211 = load i32, ptr %t8208 %t8212 = load i32, ptr %t8209 %t8213 = icmp sge i32 %t8211, %t8212 br i1 %t8213, label %grow1734, label %put1735 grow1734: %t8214 = mul i32 %t8212, 2 %t8215 = icmp eq i32 %t8212, 0 %t8216 = select i1 %t8215, i32 8, i32 %t8214 %t8217 = getelementptr ptr, ptr null, i32 1 %t8218 = ptrtoint ptr %t8217 to i64 %t8219 = zext i32 %t8216 to i64 %t8220 = mul i64 %t8219, %t8218 %t8221 = load ptr, ptr %t8210 %t8222 = call ptr @realloc(ptr %t8221, i64 %t8220) store ptr %t8222, ptr %t8210 store i32 %t8216, ptr %t8209 br label %put1735 put1735: %t8223 = load ptr, ptr %t8210 %t8224 = getelementptr inbounds ptr, ptr %t8223, i32 %t8211 store ptr @.str8223, ptr %t8224 %t8225 = add i32 %t8211, 1 store i32 %t8225, ptr %t8208 %t8226 = load ptr, ptr %t410 %t8227 = getelementptr inbounds %LSlice, ptr %t8226, i32 0, i32 1 %t8228 = getelementptr inbounds %LSlice, ptr %t8226, i32 0, i32 2 %t8229 = getelementptr inbounds %LSlice, ptr %t8226, i32 0, i32 0 %t8230 = load i32, ptr %t8227 %t8231 = load i32, ptr %t8228 %t8232 = icmp sge i32 %t8230, %t8231 br i1 %t8232, label %grow1736, label %put1737 grow1736: %t8233 = mul i32 %t8231, 2 %t8234 = icmp eq i32 %t8231, 0 %t8235 = select i1 %t8234, i32 8, i32 %t8233 %t8236 = getelementptr ptr, ptr null, i32 1 %t8237 = ptrtoint ptr %t8236 to i64 %t8238 = zext i32 %t8235 to i64 %t8239 = mul i64 %t8238, %t8237 %t8240 = load ptr, ptr %t8229 %t8241 = call ptr @realloc(ptr %t8240, i64 %t8239) store ptr %t8241, ptr %t8229 store i32 %t8235, ptr %t8228 br label %put1737 put1737: %t8242 = load ptr, ptr %t8229 %t8243 = getelementptr inbounds ptr, ptr %t8242, i32 %t8230 store ptr @.str8224, ptr %t8243 %t8244 = add i32 %t8230, 1 store i32 %t8244, ptr %t8227 br label %ifend1733 ifend1733: %t8245 = load ptr, ptr %t1 %t8246 = call i32 @lp_str_eq(ptr %t8245, ptr @.str8225) %t8247 = icmp ne i32 %t8246, 0 br i1 %t8247, label %then1738, label %ifend1740 then1738: store ptr @.str8226, ptr %t403 %t8248 = load ptr, ptr %t410 %t8249 = getelementptr inbounds %LSlice, ptr %t8248, i32 0, i32 1 %t8250 = getelementptr inbounds %LSlice, ptr %t8248, i32 0, i32 2 %t8251 = getelementptr inbounds %LSlice, ptr %t8248, i32 0, i32 0 %t8252 = load i32, ptr %t8249 %t8253 = load i32, ptr %t8250 %t8254 = icmp sge i32 %t8252, %t8253 br i1 %t8254, label %grow1741, label %put1742 grow1741: %t8255 = mul i32 %t8253, 2 %t8256 = icmp eq i32 %t8253, 0 %t8257 = select i1 %t8256, i32 8, i32 %t8255 %t8258 = getelementptr ptr, ptr null, i32 1 %t8259 = ptrtoint ptr %t8258 to i64 %t8260 = zext i32 %t8257 to i64 %t8261 = mul i64 %t8260, %t8259 %t8262 = load ptr, ptr %t8251 %t8263 = call ptr @realloc(ptr %t8262, i64 %t8261) store ptr %t8263, ptr %t8251 store i32 %t8257, ptr %t8250 br label %put1742 put1742: %t8264 = load ptr, ptr %t8251 %t8265 = getelementptr inbounds ptr, ptr %t8264, i32 %t8252 store ptr @.str8227, ptr %t8265 %t8266 = add i32 %t8252, 1 store i32 %t8266, ptr %t8249 %t8267 = load ptr, ptr %t410 %t8268 = getelementptr inbounds %LSlice, ptr %t8267, i32 0, i32 1 %t8269 = getelementptr inbounds %LSlice, ptr %t8267, i32 0, i32 2 %t8270 = getelementptr inbounds %LSlice, ptr %t8267, i32 0, i32 0 %t8271 = load i32, ptr %t8268 %t8272 = load i32, ptr %t8269 %t8273 = icmp sge i32 %t8271, %t8272 br i1 %t8273, label %grow1743, label %put1744 grow1743: %t8274 = mul i32 %t8272, 2 %t8275 = icmp eq i32 %t8272, 0 %t8276 = select i1 %t8275, i32 8, i32 %t8274 %t8277 = getelementptr ptr, ptr null, i32 1 %t8278 = ptrtoint ptr %t8277 to i64 %t8279 = zext i32 %t8276 to i64 %t8280 = mul i64 %t8279, %t8278 %t8281 = load ptr, ptr %t8270 %t8282 = call ptr @realloc(ptr %t8281, i64 %t8280) store ptr %t8282, ptr %t8270 store i32 %t8276, ptr %t8269 br label %put1744 put1744: %t8283 = load ptr, ptr %t8270 %t8284 = getelementptr inbounds ptr, ptr %t8283, i32 %t8271 store ptr @.str8228, ptr %t8284 %t8285 = add i32 %t8271, 1 store i32 %t8285, ptr %t8268 br label %ifend1740 ifend1740: %t8286 = load ptr, ptr %t1 %t8287 = call i32 @lp_str_eq(ptr %t8286, ptr @.str8229) %t8288 = icmp ne i32 %t8287, 0 br i1 %t8288, label %then1745, label %ifend1747 then1745: store ptr @.str8230, ptr %t403 %t8289 = load ptr, ptr %t410 %t8290 = getelementptr inbounds %LSlice, ptr %t8289, i32 0, i32 1 %t8291 = getelementptr inbounds %LSlice, ptr %t8289, i32 0, i32 2 %t8292 = getelementptr inbounds %LSlice, ptr %t8289, i32 0, i32 0 %t8293 = load i32, ptr %t8290 %t8294 = load i32, ptr %t8291 %t8295 = icmp sge i32 %t8293, %t8294 br i1 %t8295, label %grow1748, label %put1749 grow1748: %t8296 = mul i32 %t8294, 2 %t8297 = icmp eq i32 %t8294, 0 %t8298 = select i1 %t8297, i32 8, i32 %t8296 %t8299 = getelementptr ptr, ptr null, i32 1 %t8300 = ptrtoint ptr %t8299 to i64 %t8301 = zext i32 %t8298 to i64 %t8302 = mul i64 %t8301, %t8300 %t8303 = load ptr, ptr %t8292 %t8304 = call ptr @realloc(ptr %t8303, i64 %t8302) store ptr %t8304, ptr %t8292 store i32 %t8298, ptr %t8291 br label %put1749 put1749: %t8305 = load ptr, ptr %t8292 %t8306 = getelementptr inbounds ptr, ptr %t8305, i32 %t8293 store ptr @.str8231, ptr %t8306 %t8307 = add i32 %t8293, 1 store i32 %t8307, ptr %t8290 br label %ifend1747 ifend1747: %t8308 = load ptr, ptr %t1 %t8309 = call i32 @lp_str_eq(ptr %t8308, ptr @.str8232) %t8310 = icmp ne i32 %t8309, 0 br i1 %t8310, label %then1750, label %ifend1752 then1750: store ptr @.str8233, ptr %t403 %t8311 = load ptr, ptr %t410 %t8312 = getelementptr inbounds %LSlice, ptr %t8311, i32 0, i32 1 %t8313 = getelementptr inbounds %LSlice, ptr %t8311, i32 0, i32 2 %t8314 = getelementptr inbounds %LSlice, ptr %t8311, i32 0, i32 0 %t8315 = load i32, ptr %t8312 %t8316 = load i32, ptr %t8313 %t8317 = icmp sge i32 %t8315, %t8316 br i1 %t8317, label %grow1753, label %put1754 grow1753: %t8318 = mul i32 %t8316, 2 %t8319 = icmp eq i32 %t8316, 0 %t8320 = select i1 %t8319, i32 8, i32 %t8318 %t8321 = getelementptr ptr, ptr null, i32 1 %t8322 = ptrtoint ptr %t8321 to i64 %t8323 = zext i32 %t8320 to i64 %t8324 = mul i64 %t8323, %t8322 %t8325 = load ptr, ptr %t8314 %t8326 = call ptr @realloc(ptr %t8325, i64 %t8324) store ptr %t8326, ptr %t8314 store i32 %t8320, ptr %t8313 br label %put1754 put1754: %t8327 = load ptr, ptr %t8314 %t8328 = getelementptr inbounds ptr, ptr %t8327, i32 %t8315 store ptr @.str8234, ptr %t8328 %t8329 = add i32 %t8315, 1 store i32 %t8329, ptr %t8312 %t8330 = load ptr, ptr %t410 %t8331 = getelementptr inbounds %LSlice, ptr %t8330, i32 0, i32 1 %t8332 = getelementptr inbounds %LSlice, ptr %t8330, i32 0, i32 2 %t8333 = getelementptr inbounds %LSlice, ptr %t8330, i32 0, i32 0 %t8334 = load i32, ptr %t8331 %t8335 = load i32, ptr %t8332 %t8336 = icmp sge i32 %t8334, %t8335 br i1 %t8336, label %grow1755, label %put1756 grow1755: %t8337 = mul i32 %t8335, 2 %t8338 = icmp eq i32 %t8335, 0 %t8339 = select i1 %t8338, i32 8, i32 %t8337 %t8340 = getelementptr ptr, ptr null, i32 1 %t8341 = ptrtoint ptr %t8340 to i64 %t8342 = zext i32 %t8339 to i64 %t8343 = mul i64 %t8342, %t8341 %t8344 = load ptr, ptr %t8333 %t8345 = call ptr @realloc(ptr %t8344, i64 %t8343) store ptr %t8345, ptr %t8333 store i32 %t8339, ptr %t8332 br label %put1756 put1756: %t8346 = load ptr, ptr %t8333 %t8347 = getelementptr inbounds ptr, ptr %t8346, i32 %t8334 store ptr @.str8235, ptr %t8347 %t8348 = add i32 %t8334, 1 store i32 %t8348, ptr %t8331 br label %ifend1752 ifend1752: %t8349 = load ptr, ptr %t1 %t8350 = call i32 @lp_str_eq(ptr %t8349, ptr @.str8236) %t8351 = icmp ne i32 %t8350, 0 br i1 %t8351, label %then1757, label %ifend1759 then1757: store ptr @.str8237, ptr %t403 %t8352 = load ptr, ptr %t410 %t8353 = getelementptr inbounds %LSlice, ptr %t8352, i32 0, i32 1 %t8354 = getelementptr inbounds %LSlice, ptr %t8352, i32 0, i32 2 %t8355 = getelementptr inbounds %LSlice, ptr %t8352, i32 0, i32 0 %t8356 = load i32, ptr %t8353 %t8357 = load i32, ptr %t8354 %t8358 = icmp sge i32 %t8356, %t8357 br i1 %t8358, label %grow1760, label %put1761 grow1760: %t8359 = mul i32 %t8357, 2 %t8360 = icmp eq i32 %t8357, 0 %t8361 = select i1 %t8360, i32 8, i32 %t8359 %t8362 = getelementptr ptr, ptr null, i32 1 %t8363 = ptrtoint ptr %t8362 to i64 %t8364 = zext i32 %t8361 to i64 %t8365 = mul i64 %t8364, %t8363 %t8366 = load ptr, ptr %t8355 %t8367 = call ptr @realloc(ptr %t8366, i64 %t8365) store ptr %t8367, ptr %t8355 store i32 %t8361, ptr %t8354 br label %put1761 put1761: %t8368 = load ptr, ptr %t8355 %t8369 = getelementptr inbounds ptr, ptr %t8368, i32 %t8356 store ptr @.str8238, ptr %t8369 %t8370 = add i32 %t8356, 1 store i32 %t8370, ptr %t8353 %t8371 = load ptr, ptr %t410 %t8372 = getelementptr inbounds %LSlice, ptr %t8371, i32 0, i32 1 %t8373 = getelementptr inbounds %LSlice, ptr %t8371, i32 0, i32 2 %t8374 = getelementptr inbounds %LSlice, ptr %t8371, i32 0, i32 0 %t8375 = load i32, ptr %t8372 %t8376 = load i32, ptr %t8373 %t8377 = icmp sge i32 %t8375, %t8376 br i1 %t8377, label %grow1762, label %put1763 grow1762: %t8378 = mul i32 %t8376, 2 %t8379 = icmp eq i32 %t8376, 0 %t8380 = select i1 %t8379, i32 8, i32 %t8378 %t8381 = getelementptr ptr, ptr null, i32 1 %t8382 = ptrtoint ptr %t8381 to i64 %t8383 = zext i32 %t8380 to i64 %t8384 = mul i64 %t8383, %t8382 %t8385 = load ptr, ptr %t8374 %t8386 = call ptr @realloc(ptr %t8385, i64 %t8384) store ptr %t8386, ptr %t8374 store i32 %t8380, ptr %t8373 br label %put1763 put1763: %t8387 = load ptr, ptr %t8374 %t8388 = getelementptr inbounds ptr, ptr %t8387, i32 %t8375 store ptr @.str8239, ptr %t8388 %t8389 = add i32 %t8375, 1 store i32 %t8389, ptr %t8372 br label %ifend1759 ifend1759: %t8390 = load ptr, ptr %t1 %t8391 = call i32 @lp_str_eq(ptr %t8390, ptr @.str8240) %t8392 = icmp ne i32 %t8391, 0 br i1 %t8392, label %then1764, label %ifend1766 then1764: store ptr @.str8241, ptr %t403 %t8393 = load ptr, ptr %t410 %t8394 = getelementptr inbounds %LSlice, ptr %t8393, i32 0, i32 1 %t8395 = getelementptr inbounds %LSlice, ptr %t8393, i32 0, i32 2 %t8396 = getelementptr inbounds %LSlice, ptr %t8393, i32 0, i32 0 %t8397 = load i32, ptr %t8394 %t8398 = load i32, ptr %t8395 %t8399 = icmp sge i32 %t8397, %t8398 br i1 %t8399, label %grow1767, label %put1768 grow1767: %t8400 = mul i32 %t8398, 2 %t8401 = icmp eq i32 %t8398, 0 %t8402 = select i1 %t8401, i32 8, i32 %t8400 %t8403 = getelementptr ptr, ptr null, i32 1 %t8404 = ptrtoint ptr %t8403 to i64 %t8405 = zext i32 %t8402 to i64 %t8406 = mul i64 %t8405, %t8404 %t8407 = load ptr, ptr %t8396 %t8408 = call ptr @realloc(ptr %t8407, i64 %t8406) store ptr %t8408, ptr %t8396 store i32 %t8402, ptr %t8395 br label %put1768 put1768: %t8409 = load ptr, ptr %t8396 %t8410 = getelementptr inbounds ptr, ptr %t8409, i32 %t8397 store ptr @.str8242, ptr %t8410 %t8411 = add i32 %t8397, 1 store i32 %t8411, ptr %t8394 br label %ifend1766 ifend1766: %t8412 = load ptr, ptr %t1 %t8413 = call i32 @lp_str_eq(ptr %t8412, ptr @.str8243) %t8414 = icmp ne i32 %t8413, 0 br i1 %t8414, label %then1769, label %ifend1771 then1769: store ptr @.str8244, ptr %t403 %t8415 = load ptr, ptr %t410 %t8416 = getelementptr inbounds %LSlice, ptr %t8415, i32 0, i32 1 %t8417 = getelementptr inbounds %LSlice, ptr %t8415, i32 0, i32 2 %t8418 = getelementptr inbounds %LSlice, ptr %t8415, i32 0, i32 0 %t8419 = load i32, ptr %t8416 %t8420 = load i32, ptr %t8417 %t8421 = icmp sge i32 %t8419, %t8420 br i1 %t8421, label %grow1772, label %put1773 grow1772: %t8422 = mul i32 %t8420, 2 %t8423 = icmp eq i32 %t8420, 0 %t8424 = select i1 %t8423, i32 8, i32 %t8422 %t8425 = getelementptr ptr, ptr null, i32 1 %t8426 = ptrtoint ptr %t8425 to i64 %t8427 = zext i32 %t8424 to i64 %t8428 = mul i64 %t8427, %t8426 %t8429 = load ptr, ptr %t8418 %t8430 = call ptr @realloc(ptr %t8429, i64 %t8428) store ptr %t8430, ptr %t8418 store i32 %t8424, ptr %t8417 br label %put1773 put1773: %t8431 = load ptr, ptr %t8418 %t8432 = getelementptr inbounds ptr, ptr %t8431, i32 %t8419 store ptr @.str8245, ptr %t8432 %t8433 = add i32 %t8419, 1 store i32 %t8433, ptr %t8416 %t8434 = load ptr, ptr %t410 %t8435 = getelementptr inbounds %LSlice, ptr %t8434, i32 0, i32 1 %t8436 = getelementptr inbounds %LSlice, ptr %t8434, i32 0, i32 2 %t8437 = getelementptr inbounds %LSlice, ptr %t8434, i32 0, i32 0 %t8438 = load i32, ptr %t8435 %t8439 = load i32, ptr %t8436 %t8440 = icmp sge i32 %t8438, %t8439 br i1 %t8440, label %grow1774, label %put1775 grow1774: %t8441 = mul i32 %t8439, 2 %t8442 = icmp eq i32 %t8439, 0 %t8443 = select i1 %t8442, i32 8, i32 %t8441 %t8444 = getelementptr ptr, ptr null, i32 1 %t8445 = ptrtoint ptr %t8444 to i64 %t8446 = zext i32 %t8443 to i64 %t8447 = mul i64 %t8446, %t8445 %t8448 = load ptr, ptr %t8437 %t8449 = call ptr @realloc(ptr %t8448, i64 %t8447) store ptr %t8449, ptr %t8437 store i32 %t8443, ptr %t8436 br label %put1775 put1775: %t8450 = load ptr, ptr %t8437 %t8451 = getelementptr inbounds ptr, ptr %t8450, i32 %t8438 store ptr @.str8246, ptr %t8451 %t8452 = add i32 %t8438, 1 store i32 %t8452, ptr %t8435 br label %ifend1771 ifend1771: %t8453 = load ptr, ptr %t1 %t8454 = call i32 @lp_str_eq(ptr %t8453, ptr @.str8247) %t8455 = icmp ne i32 %t8454, 0 br i1 %t8455, label %then1776, label %ifend1778 then1776: store ptr @.str8248, ptr %t403 %t8456 = load ptr, ptr %t410 %t8457 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 1 %t8458 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 2 %t8459 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 0 %t8460 = load i32, ptr %t8457 %t8461 = load i32, ptr %t8458 %t8462 = icmp sge i32 %t8460, %t8461 br i1 %t8462, label %grow1779, label %put1780 grow1779: %t8463 = mul i32 %t8461, 2 %t8464 = icmp eq i32 %t8461, 0 %t8465 = select i1 %t8464, i32 8, i32 %t8463 %t8466 = getelementptr ptr, ptr null, i32 1 %t8467 = ptrtoint ptr %t8466 to i64 %t8468 = zext i32 %t8465 to i64 %t8469 = mul i64 %t8468, %t8467 %t8470 = load ptr, ptr %t8459 %t8471 = call ptr @realloc(ptr %t8470, i64 %t8469) store ptr %t8471, ptr %t8459 store i32 %t8465, ptr %t8458 br label %put1780 put1780: %t8472 = load ptr, ptr %t8459 %t8473 = getelementptr inbounds ptr, ptr %t8472, i32 %t8460 store ptr @.str8249, ptr %t8473 %t8474 = add i32 %t8460, 1 store i32 %t8474, ptr %t8457 br label %ifend1778 ifend1778: br label %ifend1713 ifend1713: %t8475 = load ptr, ptr %t0 %t8476 = call i32 @lp_str_eq(ptr %t8475, ptr @.str8250) %t8477 = icmp ne i32 %t8476, 0 br i1 %t8477, label %then1781, label %ifend1783 then1781: %t8478 = load ptr, ptr %t1 %t8479 = call i32 @lp_str_eq(ptr %t8478, ptr @.str8251) %t8480 = icmp ne i32 %t8479, 0 br i1 %t8480, label %then1784, label %ifend1786 then1784: store ptr @.str8252, ptr %t403 br label %ifend1786 ifend1786: %t8481 = load ptr, ptr %t1 %t8482 = call i32 @lp_str_eq(ptr %t8481, ptr @.str8253) %t8483 = icmp ne i32 %t8482, 0 br i1 %t8483, label %then1787, label %ifend1789 then1787: store ptr @.str8254, ptr %t403 %t8484 = load ptr, ptr %t410 %t8485 = getelementptr inbounds %LSlice, ptr %t8484, i32 0, i32 1 %t8486 = getelementptr inbounds %LSlice, ptr %t8484, i32 0, i32 2 %t8487 = getelementptr inbounds %LSlice, ptr %t8484, i32 0, i32 0 %t8488 = load i32, ptr %t8485 %t8489 = load i32, ptr %t8486 %t8490 = icmp sge i32 %t8488, %t8489 br i1 %t8490, label %grow1790, label %put1791 grow1790: %t8491 = mul i32 %t8489, 2 %t8492 = icmp eq i32 %t8489, 0 %t8493 = select i1 %t8492, i32 8, i32 %t8491 %t8494 = getelementptr ptr, ptr null, i32 1 %t8495 = ptrtoint ptr %t8494 to i64 %t8496 = zext i32 %t8493 to i64 %t8497 = mul i64 %t8496, %t8495 %t8498 = load ptr, ptr %t8487 %t8499 = call ptr @realloc(ptr %t8498, i64 %t8497) store ptr %t8499, ptr %t8487 store i32 %t8493, ptr %t8486 br label %put1791 put1791: %t8500 = load ptr, ptr %t8487 %t8501 = getelementptr inbounds ptr, ptr %t8500, i32 %t8488 store ptr @.str8255, ptr %t8501 %t8502 = add i32 %t8488, 1 store i32 %t8502, ptr %t8485 %t8503 = load ptr, ptr %t410 %t8504 = getelementptr inbounds %LSlice, ptr %t8503, i32 0, i32 1 %t8505 = getelementptr inbounds %LSlice, ptr %t8503, i32 0, i32 2 %t8506 = getelementptr inbounds %LSlice, ptr %t8503, i32 0, i32 0 %t8507 = load i32, ptr %t8504 %t8508 = load i32, ptr %t8505 %t8509 = icmp sge i32 %t8507, %t8508 br i1 %t8509, label %grow1792, label %put1793 grow1792: %t8510 = mul i32 %t8508, 2 %t8511 = icmp eq i32 %t8508, 0 %t8512 = select i1 %t8511, i32 8, i32 %t8510 %t8513 = getelementptr ptr, ptr null, i32 1 %t8514 = ptrtoint ptr %t8513 to i64 %t8515 = zext i32 %t8512 to i64 %t8516 = mul i64 %t8515, %t8514 %t8517 = load ptr, ptr %t8506 %t8518 = call ptr @realloc(ptr %t8517, i64 %t8516) store ptr %t8518, ptr %t8506 store i32 %t8512, ptr %t8505 br label %put1793 put1793: %t8519 = load ptr, ptr %t8506 %t8520 = getelementptr inbounds ptr, ptr %t8519, i32 %t8507 store ptr @.str8256, ptr %t8520 %t8521 = add i32 %t8507, 1 store i32 %t8521, ptr %t8504 %t8522 = load ptr, ptr %t410 %t8523 = getelementptr inbounds %LSlice, ptr %t8522, i32 0, i32 1 %t8524 = getelementptr inbounds %LSlice, ptr %t8522, i32 0, i32 2 %t8525 = getelementptr inbounds %LSlice, ptr %t8522, i32 0, i32 0 %t8526 = load i32, ptr %t8523 %t8527 = load i32, ptr %t8524 %t8528 = icmp sge i32 %t8526, %t8527 br i1 %t8528, label %grow1794, label %put1795 grow1794: %t8529 = mul i32 %t8527, 2 %t8530 = icmp eq i32 %t8527, 0 %t8531 = select i1 %t8530, i32 8, i32 %t8529 %t8532 = getelementptr ptr, ptr null, i32 1 %t8533 = ptrtoint ptr %t8532 to i64 %t8534 = zext i32 %t8531 to i64 %t8535 = mul i64 %t8534, %t8533 %t8536 = load ptr, ptr %t8525 %t8537 = call ptr @realloc(ptr %t8536, i64 %t8535) store ptr %t8537, ptr %t8525 store i32 %t8531, ptr %t8524 br label %put1795 put1795: %t8538 = load ptr, ptr %t8525 %t8539 = getelementptr inbounds ptr, ptr %t8538, i32 %t8526 store ptr @.str8257, ptr %t8539 %t8540 = add i32 %t8526, 1 store i32 %t8540, ptr %t8523 br label %ifend1789 ifend1789: %t8541 = load ptr, ptr %t1 %t8542 = call i32 @lp_str_eq(ptr %t8541, ptr @.str8258) %t8543 = icmp ne i32 %t8542, 0 br i1 %t8543, label %then1796, label %ifend1798 then1796: store ptr @.str8259, ptr %t403 %t8544 = load ptr, ptr %t410 %t8545 = getelementptr inbounds %LSlice, ptr %t8544, i32 0, i32 1 %t8546 = getelementptr inbounds %LSlice, ptr %t8544, i32 0, i32 2 %t8547 = getelementptr inbounds %LSlice, ptr %t8544, i32 0, i32 0 %t8548 = load i32, ptr %t8545 %t8549 = load i32, ptr %t8546 %t8550 = icmp sge i32 %t8548, %t8549 br i1 %t8550, label %grow1799, label %put1800 grow1799: %t8551 = mul i32 %t8549, 2 %t8552 = icmp eq i32 %t8549, 0 %t8553 = select i1 %t8552, i32 8, i32 %t8551 %t8554 = getelementptr ptr, ptr null, i32 1 %t8555 = ptrtoint ptr %t8554 to i64 %t8556 = zext i32 %t8553 to i64 %t8557 = mul i64 %t8556, %t8555 %t8558 = load ptr, ptr %t8547 %t8559 = call ptr @realloc(ptr %t8558, i64 %t8557) store ptr %t8559, ptr %t8547 store i32 %t8553, ptr %t8546 br label %put1800 put1800: %t8560 = load ptr, ptr %t8547 %t8561 = getelementptr inbounds ptr, ptr %t8560, i32 %t8548 store ptr @.str8260, ptr %t8561 %t8562 = add i32 %t8548, 1 store i32 %t8562, ptr %t8545 %t8563 = load ptr, ptr %t410 %t8564 = getelementptr inbounds %LSlice, ptr %t8563, i32 0, i32 1 %t8565 = getelementptr inbounds %LSlice, ptr %t8563, i32 0, i32 2 %t8566 = getelementptr inbounds %LSlice, ptr %t8563, i32 0, i32 0 %t8567 = load i32, ptr %t8564 %t8568 = load i32, ptr %t8565 %t8569 = icmp sge i32 %t8567, %t8568 br i1 %t8569, label %grow1801, label %put1802 grow1801: %t8570 = mul i32 %t8568, 2 %t8571 = icmp eq i32 %t8568, 0 %t8572 = select i1 %t8571, i32 8, i32 %t8570 %t8573 = getelementptr ptr, ptr null, i32 1 %t8574 = ptrtoint ptr %t8573 to i64 %t8575 = zext i32 %t8572 to i64 %t8576 = mul i64 %t8575, %t8574 %t8577 = load ptr, ptr %t8566 %t8578 = call ptr @realloc(ptr %t8577, i64 %t8576) store ptr %t8578, ptr %t8566 store i32 %t8572, ptr %t8565 br label %put1802 put1802: %t8579 = load ptr, ptr %t8566 %t8580 = getelementptr inbounds ptr, ptr %t8579, i32 %t8567 store ptr @.str8261, ptr %t8580 %t8581 = add i32 %t8567, 1 store i32 %t8581, ptr %t8564 br label %ifend1798 ifend1798: %t8582 = load ptr, ptr %t1 %t8583 = call i32 @lp_str_eq(ptr %t8582, ptr @.str8262) %t8584 = icmp ne i32 %t8583, 0 br i1 %t8584, label %then1803, label %ifend1805 then1803: store ptr @.str8263, ptr %t403 %t8585 = load ptr, ptr %t410 %t8586 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 1 %t8587 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 2 %t8588 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 0 %t8589 = load i32, ptr %t8586 %t8590 = load i32, ptr %t8587 %t8591 = icmp sge i32 %t8589, %t8590 br i1 %t8591, label %grow1806, label %put1807 grow1806: %t8592 = mul i32 %t8590, 2 %t8593 = icmp eq i32 %t8590, 0 %t8594 = select i1 %t8593, i32 8, i32 %t8592 %t8595 = getelementptr ptr, ptr null, i32 1 %t8596 = ptrtoint ptr %t8595 to i64 %t8597 = zext i32 %t8594 to i64 %t8598 = mul i64 %t8597, %t8596 %t8599 = load ptr, ptr %t8588 %t8600 = call ptr @realloc(ptr %t8599, i64 %t8598) store ptr %t8600, ptr %t8588 store i32 %t8594, ptr %t8587 br label %put1807 put1807: %t8601 = load ptr, ptr %t8588 %t8602 = getelementptr inbounds ptr, ptr %t8601, i32 %t8589 store ptr @.str8264, ptr %t8602 %t8603 = add i32 %t8589, 1 store i32 %t8603, ptr %t8586 %t8604 = load ptr, ptr %t410 %t8605 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 1 %t8606 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 2 %t8607 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 0 %t8608 = load i32, ptr %t8605 %t8609 = load i32, ptr %t8606 %t8610 = icmp sge i32 %t8608, %t8609 br i1 %t8610, label %grow1808, label %put1809 grow1808: %t8611 = mul i32 %t8609, 2 %t8612 = icmp eq i32 %t8609, 0 %t8613 = select i1 %t8612, i32 8, i32 %t8611 %t8614 = getelementptr ptr, ptr null, i32 1 %t8615 = ptrtoint ptr %t8614 to i64 %t8616 = zext i32 %t8613 to i64 %t8617 = mul i64 %t8616, %t8615 %t8618 = load ptr, ptr %t8607 %t8619 = call ptr @realloc(ptr %t8618, i64 %t8617) store ptr %t8619, ptr %t8607 store i32 %t8613, ptr %t8606 br label %put1809 put1809: %t8620 = load ptr, ptr %t8607 %t8621 = getelementptr inbounds ptr, ptr %t8620, i32 %t8608 store ptr @.str8265, ptr %t8621 %t8622 = add i32 %t8608, 1 store i32 %t8622, ptr %t8605 %t8623 = load ptr, ptr %t410 %t8624 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 1 %t8625 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 2 %t8626 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 0 %t8627 = load i32, ptr %t8624 %t8628 = load i32, ptr %t8625 %t8629 = icmp sge i32 %t8627, %t8628 br i1 %t8629, label %grow1810, label %put1811 grow1810: %t8630 = mul i32 %t8628, 2 %t8631 = icmp eq i32 %t8628, 0 %t8632 = select i1 %t8631, i32 8, i32 %t8630 %t8633 = getelementptr ptr, ptr null, i32 1 %t8634 = ptrtoint ptr %t8633 to i64 %t8635 = zext i32 %t8632 to i64 %t8636 = mul i64 %t8635, %t8634 %t8637 = load ptr, ptr %t8626 %t8638 = call ptr @realloc(ptr %t8637, i64 %t8636) store ptr %t8638, ptr %t8626 store i32 %t8632, ptr %t8625 br label %put1811 put1811: %t8639 = load ptr, ptr %t8626 %t8640 = getelementptr inbounds ptr, ptr %t8639, i32 %t8627 store ptr @.str8266, ptr %t8640 %t8641 = add i32 %t8627, 1 store i32 %t8641, ptr %t8624 br label %ifend1805 ifend1805: %t8642 = load ptr, ptr %t1 %t8643 = call i32 @lp_str_eq(ptr %t8642, ptr @.str8267) %t8644 = icmp ne i32 %t8643, 0 br i1 %t8644, label %then1812, label %ifend1814 then1812: store ptr @.str8268, ptr %t403 %t8645 = load ptr, ptr %t410 %t8646 = getelementptr inbounds %LSlice, ptr %t8645, i32 0, i32 1 %t8647 = getelementptr inbounds %LSlice, ptr %t8645, i32 0, i32 2 %t8648 = getelementptr inbounds %LSlice, ptr %t8645, i32 0, i32 0 %t8649 = load i32, ptr %t8646 %t8650 = load i32, ptr %t8647 %t8651 = icmp sge i32 %t8649, %t8650 br i1 %t8651, label %grow1815, label %put1816 grow1815: %t8652 = mul i32 %t8650, 2 %t8653 = icmp eq i32 %t8650, 0 %t8654 = select i1 %t8653, i32 8, i32 %t8652 %t8655 = getelementptr ptr, ptr null, i32 1 %t8656 = ptrtoint ptr %t8655 to i64 %t8657 = zext i32 %t8654 to i64 %t8658 = mul i64 %t8657, %t8656 %t8659 = load ptr, ptr %t8648 %t8660 = call ptr @realloc(ptr %t8659, i64 %t8658) store ptr %t8660, ptr %t8648 store i32 %t8654, ptr %t8647 br label %put1816 put1816: %t8661 = load ptr, ptr %t8648 %t8662 = getelementptr inbounds ptr, ptr %t8661, i32 %t8649 store ptr @.str8269, ptr %t8662 %t8663 = add i32 %t8649, 1 store i32 %t8663, ptr %t8646 %t8664 = load ptr, ptr %t410 %t8665 = getelementptr inbounds %LSlice, ptr %t8664, i32 0, i32 1 %t8666 = getelementptr inbounds %LSlice, ptr %t8664, i32 0, i32 2 %t8667 = getelementptr inbounds %LSlice, ptr %t8664, i32 0, i32 0 %t8668 = load i32, ptr %t8665 %t8669 = load i32, ptr %t8666 %t8670 = icmp sge i32 %t8668, %t8669 br i1 %t8670, label %grow1817, label %put1818 grow1817: %t8671 = mul i32 %t8669, 2 %t8672 = icmp eq i32 %t8669, 0 %t8673 = select i1 %t8672, i32 8, i32 %t8671 %t8674 = getelementptr ptr, ptr null, i32 1 %t8675 = ptrtoint ptr %t8674 to i64 %t8676 = zext i32 %t8673 to i64 %t8677 = mul i64 %t8676, %t8675 %t8678 = load ptr, ptr %t8667 %t8679 = call ptr @realloc(ptr %t8678, i64 %t8677) store ptr %t8679, ptr %t8667 store i32 %t8673, ptr %t8666 br label %put1818 put1818: %t8680 = load ptr, ptr %t8667 %t8681 = getelementptr inbounds ptr, ptr %t8680, i32 %t8668 store ptr @.str8270, ptr %t8681 %t8682 = add i32 %t8668, 1 store i32 %t8682, ptr %t8665 br label %ifend1814 ifend1814: %t8683 = load ptr, ptr %t1 %t8684 = call i32 @lp_str_eq(ptr %t8683, ptr @.str8271) %t8685 = icmp ne i32 %t8684, 0 br i1 %t8685, label %then1819, label %ifend1821 then1819: store ptr @.str8272, ptr %t403 %t8686 = load ptr, ptr %t410 %t8687 = getelementptr inbounds %LSlice, ptr %t8686, i32 0, i32 1 %t8688 = getelementptr inbounds %LSlice, ptr %t8686, i32 0, i32 2 %t8689 = getelementptr inbounds %LSlice, ptr %t8686, i32 0, i32 0 %t8690 = load i32, ptr %t8687 %t8691 = load i32, ptr %t8688 %t8692 = icmp sge i32 %t8690, %t8691 br i1 %t8692, label %grow1822, label %put1823 grow1822: %t8693 = mul i32 %t8691, 2 %t8694 = icmp eq i32 %t8691, 0 %t8695 = select i1 %t8694, i32 8, i32 %t8693 %t8696 = getelementptr ptr, ptr null, i32 1 %t8697 = ptrtoint ptr %t8696 to i64 %t8698 = zext i32 %t8695 to i64 %t8699 = mul i64 %t8698, %t8697 %t8700 = load ptr, ptr %t8689 %t8701 = call ptr @realloc(ptr %t8700, i64 %t8699) store ptr %t8701, ptr %t8689 store i32 %t8695, ptr %t8688 br label %put1823 put1823: %t8702 = load ptr, ptr %t8689 %t8703 = getelementptr inbounds ptr, ptr %t8702, i32 %t8690 store ptr @.str8273, ptr %t8703 %t8704 = add i32 %t8690, 1 store i32 %t8704, ptr %t8687 %t8705 = load ptr, ptr %t410 %t8706 = getelementptr inbounds %LSlice, ptr %t8705, i32 0, i32 1 %t8707 = getelementptr inbounds %LSlice, ptr %t8705, i32 0, i32 2 %t8708 = getelementptr inbounds %LSlice, ptr %t8705, i32 0, i32 0 %t8709 = load i32, ptr %t8706 %t8710 = load i32, ptr %t8707 %t8711 = icmp sge i32 %t8709, %t8710 br i1 %t8711, label %grow1824, label %put1825 grow1824: %t8712 = mul i32 %t8710, 2 %t8713 = icmp eq i32 %t8710, 0 %t8714 = select i1 %t8713, i32 8, i32 %t8712 %t8715 = getelementptr ptr, ptr null, i32 1 %t8716 = ptrtoint ptr %t8715 to i64 %t8717 = zext i32 %t8714 to i64 %t8718 = mul i64 %t8717, %t8716 %t8719 = load ptr, ptr %t8708 %t8720 = call ptr @realloc(ptr %t8719, i64 %t8718) store ptr %t8720, ptr %t8708 store i32 %t8714, ptr %t8707 br label %put1825 put1825: %t8721 = load ptr, ptr %t8708 %t8722 = getelementptr inbounds ptr, ptr %t8721, i32 %t8709 store ptr @.str8274, ptr %t8722 %t8723 = add i32 %t8709, 1 store i32 %t8723, ptr %t8706 br label %ifend1821 ifend1821: %t8724 = load ptr, ptr %t1 %t8725 = call i32 @lp_str_eq(ptr %t8724, ptr @.str8275) %t8726 = icmp ne i32 %t8725, 0 br i1 %t8726, label %then1826, label %ifend1828 then1826: store ptr @.str8276, ptr %t403 %t8727 = load ptr, ptr %t410 %t8728 = getelementptr inbounds %LSlice, ptr %t8727, i32 0, i32 1 %t8729 = getelementptr inbounds %LSlice, ptr %t8727, i32 0, i32 2 %t8730 = getelementptr inbounds %LSlice, ptr %t8727, i32 0, i32 0 %t8731 = load i32, ptr %t8728 %t8732 = load i32, ptr %t8729 %t8733 = icmp sge i32 %t8731, %t8732 br i1 %t8733, label %grow1829, label %put1830 grow1829: %t8734 = mul i32 %t8732, 2 %t8735 = icmp eq i32 %t8732, 0 %t8736 = select i1 %t8735, i32 8, i32 %t8734 %t8737 = getelementptr ptr, ptr null, i32 1 %t8738 = ptrtoint ptr %t8737 to i64 %t8739 = zext i32 %t8736 to i64 %t8740 = mul i64 %t8739, %t8738 %t8741 = load ptr, ptr %t8730 %t8742 = call ptr @realloc(ptr %t8741, i64 %t8740) store ptr %t8742, ptr %t8730 store i32 %t8736, ptr %t8729 br label %put1830 put1830: %t8743 = load ptr, ptr %t8730 %t8744 = getelementptr inbounds ptr, ptr %t8743, i32 %t8731 store ptr @.str8277, ptr %t8744 %t8745 = add i32 %t8731, 1 store i32 %t8745, ptr %t8728 br label %ifend1828 ifend1828: %t8746 = load ptr, ptr %t1 %t8747 = call i32 @lp_str_eq(ptr %t8746, ptr @.str8278) %t8748 = icmp ne i32 %t8747, 0 br i1 %t8748, label %then1831, label %ifend1833 then1831: store ptr @.str8279, ptr %t403 %t8749 = load ptr, ptr %t410 %t8750 = getelementptr inbounds %LSlice, ptr %t8749, i32 0, i32 1 %t8751 = getelementptr inbounds %LSlice, ptr %t8749, i32 0, i32 2 %t8752 = getelementptr inbounds %LSlice, ptr %t8749, i32 0, i32 0 %t8753 = load i32, ptr %t8750 %t8754 = load i32, ptr %t8751 %t8755 = icmp sge i32 %t8753, %t8754 br i1 %t8755, label %grow1834, label %put1835 grow1834: %t8756 = mul i32 %t8754, 2 %t8757 = icmp eq i32 %t8754, 0 %t8758 = select i1 %t8757, i32 8, i32 %t8756 %t8759 = getelementptr ptr, ptr null, i32 1 %t8760 = ptrtoint ptr %t8759 to i64 %t8761 = zext i32 %t8758 to i64 %t8762 = mul i64 %t8761, %t8760 %t8763 = load ptr, ptr %t8752 %t8764 = call ptr @realloc(ptr %t8763, i64 %t8762) store ptr %t8764, ptr %t8752 store i32 %t8758, ptr %t8751 br label %put1835 put1835: %t8765 = load ptr, ptr %t8752 %t8766 = getelementptr inbounds ptr, ptr %t8765, i32 %t8753 store ptr @.str8280, ptr %t8766 %t8767 = add i32 %t8753, 1 store i32 %t8767, ptr %t8750 br label %ifend1833 ifend1833: %t8768 = load ptr, ptr %t1 %t8769 = call i32 @lp_str_eq(ptr %t8768, ptr @.str8281) %t8770 = icmp ne i32 %t8769, 0 br i1 %t8770, label %then1836, label %ifend1838 then1836: store ptr @.str8282, ptr %t403 %t8771 = load ptr, ptr %t410 %t8772 = getelementptr inbounds %LSlice, ptr %t8771, i32 0, i32 1 %t8773 = getelementptr inbounds %LSlice, ptr %t8771, i32 0, i32 2 %t8774 = getelementptr inbounds %LSlice, ptr %t8771, i32 0, i32 0 %t8775 = load i32, ptr %t8772 %t8776 = load i32, ptr %t8773 %t8777 = icmp sge i32 %t8775, %t8776 br i1 %t8777, label %grow1839, label %put1840 grow1839: %t8778 = mul i32 %t8776, 2 %t8779 = icmp eq i32 %t8776, 0 %t8780 = select i1 %t8779, i32 8, i32 %t8778 %t8781 = getelementptr ptr, ptr null, i32 1 %t8782 = ptrtoint ptr %t8781 to i64 %t8783 = zext i32 %t8780 to i64 %t8784 = mul i64 %t8783, %t8782 %t8785 = load ptr, ptr %t8774 %t8786 = call ptr @realloc(ptr %t8785, i64 %t8784) store ptr %t8786, ptr %t8774 store i32 %t8780, ptr %t8773 br label %put1840 put1840: %t8787 = load ptr, ptr %t8774 %t8788 = getelementptr inbounds ptr, ptr %t8787, i32 %t8775 store ptr @.str8283, ptr %t8788 %t8789 = add i32 %t8775, 1 store i32 %t8789, ptr %t8772 br label %ifend1838 ifend1838: br label %ifend1783 ifend1783: %t8790 = load ptr, ptr %t0 %t8791 = call i32 @lp_str_eq(ptr %t8790, ptr @.str8284) %t8792 = icmp ne i32 %t8791, 0 br i1 %t8792, label %then1841, label %ifend1843 then1841: %t8793 = load ptr, ptr %t1 %t8794 = call i32 @lp_str_eq(ptr %t8793, ptr @.str8285) %t8795 = icmp ne i32 %t8794, 0 br i1 %t8795, label %then1844, label %ifend1846 then1844: store ptr @.str8286, ptr %t403 br label %ifend1846 ifend1846: %t8796 = load ptr, ptr %t1 %t8797 = call i32 @lp_str_eq(ptr %t8796, ptr @.str8287) %t8798 = icmp ne i32 %t8797, 0 br i1 %t8798, label %then1847, label %ifend1849 then1847: store ptr @.str8288, ptr %t403 %t8799 = load ptr, ptr %t410 %t8800 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 1 %t8801 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 2 %t8802 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 0 %t8803 = load i32, ptr %t8800 %t8804 = load i32, ptr %t8801 %t8805 = icmp sge i32 %t8803, %t8804 br i1 %t8805, label %grow1850, label %put1851 grow1850: %t8806 = mul i32 %t8804, 2 %t8807 = icmp eq i32 %t8804, 0 %t8808 = select i1 %t8807, i32 8, i32 %t8806 %t8809 = getelementptr ptr, ptr null, i32 1 %t8810 = ptrtoint ptr %t8809 to i64 %t8811 = zext i32 %t8808 to i64 %t8812 = mul i64 %t8811, %t8810 %t8813 = load ptr, ptr %t8802 %t8814 = call ptr @realloc(ptr %t8813, i64 %t8812) store ptr %t8814, ptr %t8802 store i32 %t8808, ptr %t8801 br label %put1851 put1851: %t8815 = load ptr, ptr %t8802 %t8816 = getelementptr inbounds ptr, ptr %t8815, i32 %t8803 store ptr @.str8289, ptr %t8816 %t8817 = add i32 %t8803, 1 store i32 %t8817, ptr %t8800 %t8818 = load ptr, ptr %t410 %t8819 = getelementptr inbounds %LSlice, ptr %t8818, i32 0, i32 1 %t8820 = getelementptr inbounds %LSlice, ptr %t8818, i32 0, i32 2 %t8821 = getelementptr inbounds %LSlice, ptr %t8818, i32 0, i32 0 %t8822 = load i32, ptr %t8819 %t8823 = load i32, ptr %t8820 %t8824 = icmp sge i32 %t8822, %t8823 br i1 %t8824, label %grow1852, label %put1853 grow1852: %t8825 = mul i32 %t8823, 2 %t8826 = icmp eq i32 %t8823, 0 %t8827 = select i1 %t8826, i32 8, i32 %t8825 %t8828 = getelementptr ptr, ptr null, i32 1 %t8829 = ptrtoint ptr %t8828 to i64 %t8830 = zext i32 %t8827 to i64 %t8831 = mul i64 %t8830, %t8829 %t8832 = load ptr, ptr %t8821 %t8833 = call ptr @realloc(ptr %t8832, i64 %t8831) store ptr %t8833, ptr %t8821 store i32 %t8827, ptr %t8820 br label %put1853 put1853: %t8834 = load ptr, ptr %t8821 %t8835 = getelementptr inbounds ptr, ptr %t8834, i32 %t8822 store ptr @.str8290, ptr %t8835 %t8836 = add i32 %t8822, 1 store i32 %t8836, ptr %t8819 br label %ifend1849 ifend1849: %t8837 = load ptr, ptr %t1 %t8838 = call i32 @lp_str_eq(ptr %t8837, ptr @.str8291) %t8839 = icmp ne i32 %t8838, 0 br i1 %t8839, label %then1854, label %ifend1856 then1854: store ptr @.str8292, ptr %t403 %t8840 = load ptr, ptr %t410 %t8841 = getelementptr inbounds %LSlice, ptr %t8840, i32 0, i32 1 %t8842 = getelementptr inbounds %LSlice, ptr %t8840, i32 0, i32 2 %t8843 = getelementptr inbounds %LSlice, ptr %t8840, i32 0, i32 0 %t8844 = load i32, ptr %t8841 %t8845 = load i32, ptr %t8842 %t8846 = icmp sge i32 %t8844, %t8845 br i1 %t8846, label %grow1857, label %put1858 grow1857: %t8847 = mul i32 %t8845, 2 %t8848 = icmp eq i32 %t8845, 0 %t8849 = select i1 %t8848, i32 8, i32 %t8847 %t8850 = getelementptr ptr, ptr null, i32 1 %t8851 = ptrtoint ptr %t8850 to i64 %t8852 = zext i32 %t8849 to i64 %t8853 = mul i64 %t8852, %t8851 %t8854 = load ptr, ptr %t8843 %t8855 = call ptr @realloc(ptr %t8854, i64 %t8853) store ptr %t8855, ptr %t8843 store i32 %t8849, ptr %t8842 br label %put1858 put1858: %t8856 = load ptr, ptr %t8843 %t8857 = getelementptr inbounds ptr, ptr %t8856, i32 %t8844 store ptr @.str8293, ptr %t8857 %t8858 = add i32 %t8844, 1 store i32 %t8858, ptr %t8841 %t8859 = load ptr, ptr %t410 %t8860 = getelementptr inbounds %LSlice, ptr %t8859, i32 0, i32 1 %t8861 = getelementptr inbounds %LSlice, ptr %t8859, i32 0, i32 2 %t8862 = getelementptr inbounds %LSlice, ptr %t8859, i32 0, i32 0 %t8863 = load i32, ptr %t8860 %t8864 = load i32, ptr %t8861 %t8865 = icmp sge i32 %t8863, %t8864 br i1 %t8865, label %grow1859, label %put1860 grow1859: %t8866 = mul i32 %t8864, 2 %t8867 = icmp eq i32 %t8864, 0 %t8868 = select i1 %t8867, i32 8, i32 %t8866 %t8869 = getelementptr ptr, ptr null, i32 1 %t8870 = ptrtoint ptr %t8869 to i64 %t8871 = zext i32 %t8868 to i64 %t8872 = mul i64 %t8871, %t8870 %t8873 = load ptr, ptr %t8862 %t8874 = call ptr @realloc(ptr %t8873, i64 %t8872) store ptr %t8874, ptr %t8862 store i32 %t8868, ptr %t8861 br label %put1860 put1860: %t8875 = load ptr, ptr %t8862 %t8876 = getelementptr inbounds ptr, ptr %t8875, i32 %t8863 store ptr @.str8294, ptr %t8876 %t8877 = add i32 %t8863, 1 store i32 %t8877, ptr %t8860 br label %ifend1856 ifend1856: %t8878 = load ptr, ptr %t1 %t8879 = call i32 @lp_str_eq(ptr %t8878, ptr @.str8295) %t8880 = icmp ne i32 %t8879, 0 br i1 %t8880, label %then1861, label %ifend1863 then1861: store ptr @.str8296, ptr %t403 %t8881 = load ptr, ptr %t410 %t8882 = getelementptr inbounds %LSlice, ptr %t8881, i32 0, i32 1 %t8883 = getelementptr inbounds %LSlice, ptr %t8881, i32 0, i32 2 %t8884 = getelementptr inbounds %LSlice, ptr %t8881, i32 0, i32 0 %t8885 = load i32, ptr %t8882 %t8886 = load i32, ptr %t8883 %t8887 = icmp sge i32 %t8885, %t8886 br i1 %t8887, label %grow1864, label %put1865 grow1864: %t8888 = mul i32 %t8886, 2 %t8889 = icmp eq i32 %t8886, 0 %t8890 = select i1 %t8889, i32 8, i32 %t8888 %t8891 = getelementptr ptr, ptr null, i32 1 %t8892 = ptrtoint ptr %t8891 to i64 %t8893 = zext i32 %t8890 to i64 %t8894 = mul i64 %t8893, %t8892 %t8895 = load ptr, ptr %t8884 %t8896 = call ptr @realloc(ptr %t8895, i64 %t8894) store ptr %t8896, ptr %t8884 store i32 %t8890, ptr %t8883 br label %put1865 put1865: %t8897 = load ptr, ptr %t8884 %t8898 = getelementptr inbounds ptr, ptr %t8897, i32 %t8885 store ptr @.str8297, ptr %t8898 %t8899 = add i32 %t8885, 1 store i32 %t8899, ptr %t8882 %t8900 = load ptr, ptr %t410 %t8901 = getelementptr inbounds %LSlice, ptr %t8900, i32 0, i32 1 %t8902 = getelementptr inbounds %LSlice, ptr %t8900, i32 0, i32 2 %t8903 = getelementptr inbounds %LSlice, ptr %t8900, i32 0, i32 0 %t8904 = load i32, ptr %t8901 %t8905 = load i32, ptr %t8902 %t8906 = icmp sge i32 %t8904, %t8905 br i1 %t8906, label %grow1866, label %put1867 grow1866: %t8907 = mul i32 %t8905, 2 %t8908 = icmp eq i32 %t8905, 0 %t8909 = select i1 %t8908, i32 8, i32 %t8907 %t8910 = getelementptr ptr, ptr null, i32 1 %t8911 = ptrtoint ptr %t8910 to i64 %t8912 = zext i32 %t8909 to i64 %t8913 = mul i64 %t8912, %t8911 %t8914 = load ptr, ptr %t8903 %t8915 = call ptr @realloc(ptr %t8914, i64 %t8913) store ptr %t8915, ptr %t8903 store i32 %t8909, ptr %t8902 br label %put1867 put1867: %t8916 = load ptr, ptr %t8903 %t8917 = getelementptr inbounds ptr, ptr %t8916, i32 %t8904 store ptr @.str8298, ptr %t8917 %t8918 = add i32 %t8904, 1 store i32 %t8918, ptr %t8901 br label %ifend1863 ifend1863: %t8919 = load ptr, ptr %t1 %t8920 = call i32 @lp_str_eq(ptr %t8919, ptr @.str8299) %t8921 = icmp ne i32 %t8920, 0 br i1 %t8921, label %then1868, label %ifend1870 then1868: store ptr @.str8300, ptr %t403 %t8922 = load ptr, ptr %t410 %t8923 = getelementptr inbounds %LSlice, ptr %t8922, i32 0, i32 1 %t8924 = getelementptr inbounds %LSlice, ptr %t8922, i32 0, i32 2 %t8925 = getelementptr inbounds %LSlice, ptr %t8922, i32 0, i32 0 %t8926 = load i32, ptr %t8923 %t8927 = load i32, ptr %t8924 %t8928 = icmp sge i32 %t8926, %t8927 br i1 %t8928, label %grow1871, label %put1872 grow1871: %t8929 = mul i32 %t8927, 2 %t8930 = icmp eq i32 %t8927, 0 %t8931 = select i1 %t8930, i32 8, i32 %t8929 %t8932 = getelementptr ptr, ptr null, i32 1 %t8933 = ptrtoint ptr %t8932 to i64 %t8934 = zext i32 %t8931 to i64 %t8935 = mul i64 %t8934, %t8933 %t8936 = load ptr, ptr %t8925 %t8937 = call ptr @realloc(ptr %t8936, i64 %t8935) store ptr %t8937, ptr %t8925 store i32 %t8931, ptr %t8924 br label %put1872 put1872: %t8938 = load ptr, ptr %t8925 %t8939 = getelementptr inbounds ptr, ptr %t8938, i32 %t8926 store ptr @.str8301, ptr %t8939 %t8940 = add i32 %t8926, 1 store i32 %t8940, ptr %t8923 br label %ifend1870 ifend1870: %t8941 = load ptr, ptr %t1 %t8942 = call i32 @lp_str_eq(ptr %t8941, ptr @.str8302) %t8943 = icmp ne i32 %t8942, 0 br i1 %t8943, label %then1873, label %ifend1875 then1873: store ptr @.str8303, ptr %t403 %t8944 = load ptr, ptr %t410 %t8945 = getelementptr inbounds %LSlice, ptr %t8944, i32 0, i32 1 %t8946 = getelementptr inbounds %LSlice, ptr %t8944, i32 0, i32 2 %t8947 = getelementptr inbounds %LSlice, ptr %t8944, i32 0, i32 0 %t8948 = load i32, ptr %t8945 %t8949 = load i32, ptr %t8946 %t8950 = icmp sge i32 %t8948, %t8949 br i1 %t8950, label %grow1876, label %put1877 grow1876: %t8951 = mul i32 %t8949, 2 %t8952 = icmp eq i32 %t8949, 0 %t8953 = select i1 %t8952, i32 8, i32 %t8951 %t8954 = getelementptr ptr, ptr null, i32 1 %t8955 = ptrtoint ptr %t8954 to i64 %t8956 = zext i32 %t8953 to i64 %t8957 = mul i64 %t8956, %t8955 %t8958 = load ptr, ptr %t8947 %t8959 = call ptr @realloc(ptr %t8958, i64 %t8957) store ptr %t8959, ptr %t8947 store i32 %t8953, ptr %t8946 br label %put1877 put1877: %t8960 = load ptr, ptr %t8947 %t8961 = getelementptr inbounds ptr, ptr %t8960, i32 %t8948 store ptr @.str8304, ptr %t8961 %t8962 = add i32 %t8948, 1 store i32 %t8962, ptr %t8945 br label %ifend1875 ifend1875: %t8963 = load ptr, ptr %t1 %t8964 = call i32 @lp_str_eq(ptr %t8963, ptr @.str8305) %t8965 = icmp ne i32 %t8964, 0 br i1 %t8965, label %then1878, label %ifend1880 then1878: store ptr @.str8306, ptr %t403 %t8966 = load ptr, ptr %t410 %t8967 = getelementptr inbounds %LSlice, ptr %t8966, i32 0, i32 1 %t8968 = getelementptr inbounds %LSlice, ptr %t8966, i32 0, i32 2 %t8969 = getelementptr inbounds %LSlice, ptr %t8966, i32 0, i32 0 %t8970 = load i32, ptr %t8967 %t8971 = load i32, ptr %t8968 %t8972 = icmp sge i32 %t8970, %t8971 br i1 %t8972, label %grow1881, label %put1882 grow1881: %t8973 = mul i32 %t8971, 2 %t8974 = icmp eq i32 %t8971, 0 %t8975 = select i1 %t8974, i32 8, i32 %t8973 %t8976 = getelementptr ptr, ptr null, i32 1 %t8977 = ptrtoint ptr %t8976 to i64 %t8978 = zext i32 %t8975 to i64 %t8979 = mul i64 %t8978, %t8977 %t8980 = load ptr, ptr %t8969 %t8981 = call ptr @realloc(ptr %t8980, i64 %t8979) store ptr %t8981, ptr %t8969 store i32 %t8975, ptr %t8968 br label %put1882 put1882: %t8982 = load ptr, ptr %t8969 %t8983 = getelementptr inbounds ptr, ptr %t8982, i32 %t8970 store ptr @.str8307, ptr %t8983 %t8984 = add i32 %t8970, 1 store i32 %t8984, ptr %t8967 br label %ifend1880 ifend1880: br label %ifend1843 ifend1843: %t8985 = load ptr, ptr %t0 %t8986 = call i32 @lp_str_eq(ptr %t8985, ptr @.str8308) %t8987 = icmp ne i32 %t8986, 0 br i1 %t8987, label %then1883, label %ifend1885 then1883: %t8988 = load ptr, ptr %t1 %t8989 = call i32 @lp_str_eq(ptr %t8988, ptr @.str8309) %t8990 = icmp ne i32 %t8989, 0 br i1 %t8990, label %then1886, label %ifend1888 then1886: store ptr @.str8310, ptr %t403 br label %ifend1888 ifend1888: %t8991 = load ptr, ptr %t1 %t8992 = call i32 @lp_str_eq(ptr %t8991, ptr @.str8311) %t8993 = icmp ne i32 %t8992, 0 br i1 %t8993, label %then1889, label %ifend1891 then1889: store ptr @.str8312, ptr %t403 %t8994 = load ptr, ptr %t410 %t8995 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 1 %t8996 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 2 %t8997 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 0 %t8998 = load i32, ptr %t8995 %t8999 = load i32, ptr %t8996 %t9000 = icmp sge i32 %t8998, %t8999 br i1 %t9000, label %grow1892, label %put1893 grow1892: %t9001 = mul i32 %t8999, 2 %t9002 = icmp eq i32 %t8999, 0 %t9003 = select i1 %t9002, i32 8, i32 %t9001 %t9004 = getelementptr ptr, ptr null, i32 1 %t9005 = ptrtoint ptr %t9004 to i64 %t9006 = zext i32 %t9003 to i64 %t9007 = mul i64 %t9006, %t9005 %t9008 = load ptr, ptr %t8997 %t9009 = call ptr @realloc(ptr %t9008, i64 %t9007) store ptr %t9009, ptr %t8997 store i32 %t9003, ptr %t8996 br label %put1893 put1893: %t9010 = load ptr, ptr %t8997 %t9011 = getelementptr inbounds ptr, ptr %t9010, i32 %t8998 store ptr @.str8313, ptr %t9011 %t9012 = add i32 %t8998, 1 store i32 %t9012, ptr %t8995 %t9013 = load ptr, ptr %t410 %t9014 = getelementptr inbounds %LSlice, ptr %t9013, i32 0, i32 1 %t9015 = getelementptr inbounds %LSlice, ptr %t9013, i32 0, i32 2 %t9016 = getelementptr inbounds %LSlice, ptr %t9013, i32 0, i32 0 %t9017 = load i32, ptr %t9014 %t9018 = load i32, ptr %t9015 %t9019 = icmp sge i32 %t9017, %t9018 br i1 %t9019, label %grow1894, label %put1895 grow1894: %t9020 = mul i32 %t9018, 2 %t9021 = icmp eq i32 %t9018, 0 %t9022 = select i1 %t9021, i32 8, i32 %t9020 %t9023 = getelementptr ptr, ptr null, i32 1 %t9024 = ptrtoint ptr %t9023 to i64 %t9025 = zext i32 %t9022 to i64 %t9026 = mul i64 %t9025, %t9024 %t9027 = load ptr, ptr %t9016 %t9028 = call ptr @realloc(ptr %t9027, i64 %t9026) store ptr %t9028, ptr %t9016 store i32 %t9022, ptr %t9015 br label %put1895 put1895: %t9029 = load ptr, ptr %t9016 %t9030 = getelementptr inbounds ptr, ptr %t9029, i32 %t9017 store ptr @.str8314, ptr %t9030 %t9031 = add i32 %t9017, 1 store i32 %t9031, ptr %t9014 br label %ifend1891 ifend1891: %t9032 = load ptr, ptr %t1 %t9033 = call i32 @lp_str_eq(ptr %t9032, ptr @.str8315) %t9034 = icmp ne i32 %t9033, 0 br i1 %t9034, label %then1896, label %ifend1898 then1896: store ptr @.str8316, ptr %t403 %t9035 = load ptr, ptr %t410 %t9036 = getelementptr inbounds %LSlice, ptr %t9035, i32 0, i32 1 %t9037 = getelementptr inbounds %LSlice, ptr %t9035, i32 0, i32 2 %t9038 = getelementptr inbounds %LSlice, ptr %t9035, i32 0, i32 0 %t9039 = load i32, ptr %t9036 %t9040 = load i32, ptr %t9037 %t9041 = icmp sge i32 %t9039, %t9040 br i1 %t9041, label %grow1899, label %put1900 grow1899: %t9042 = mul i32 %t9040, 2 %t9043 = icmp eq i32 %t9040, 0 %t9044 = select i1 %t9043, i32 8, i32 %t9042 %t9045 = getelementptr ptr, ptr null, i32 1 %t9046 = ptrtoint ptr %t9045 to i64 %t9047 = zext i32 %t9044 to i64 %t9048 = mul i64 %t9047, %t9046 %t9049 = load ptr, ptr %t9038 %t9050 = call ptr @realloc(ptr %t9049, i64 %t9048) store ptr %t9050, ptr %t9038 store i32 %t9044, ptr %t9037 br label %put1900 put1900: %t9051 = load ptr, ptr %t9038 %t9052 = getelementptr inbounds ptr, ptr %t9051, i32 %t9039 store ptr @.str8317, ptr %t9052 %t9053 = add i32 %t9039, 1 store i32 %t9053, ptr %t9036 %t9054 = load ptr, ptr %t410 %t9055 = getelementptr inbounds %LSlice, ptr %t9054, i32 0, i32 1 %t9056 = getelementptr inbounds %LSlice, ptr %t9054, i32 0, i32 2 %t9057 = getelementptr inbounds %LSlice, ptr %t9054, i32 0, i32 0 %t9058 = load i32, ptr %t9055 %t9059 = load i32, ptr %t9056 %t9060 = icmp sge i32 %t9058, %t9059 br i1 %t9060, label %grow1901, label %put1902 grow1901: %t9061 = mul i32 %t9059, 2 %t9062 = icmp eq i32 %t9059, 0 %t9063 = select i1 %t9062, i32 8, i32 %t9061 %t9064 = getelementptr ptr, ptr null, i32 1 %t9065 = ptrtoint ptr %t9064 to i64 %t9066 = zext i32 %t9063 to i64 %t9067 = mul i64 %t9066, %t9065 %t9068 = load ptr, ptr %t9057 %t9069 = call ptr @realloc(ptr %t9068, i64 %t9067) store ptr %t9069, ptr %t9057 store i32 %t9063, ptr %t9056 br label %put1902 put1902: %t9070 = load ptr, ptr %t9057 %t9071 = getelementptr inbounds ptr, ptr %t9070, i32 %t9058 store ptr @.str8318, ptr %t9071 %t9072 = add i32 %t9058, 1 store i32 %t9072, ptr %t9055 br label %ifend1898 ifend1898: %t9073 = load ptr, ptr %t1 %t9074 = call i32 @lp_str_eq(ptr %t9073, ptr @.str8319) %t9075 = icmp ne i32 %t9074, 0 br i1 %t9075, label %then1903, label %ifend1905 then1903: store ptr @.str8320, ptr %t403 %t9076 = load ptr, ptr %t410 %t9077 = getelementptr inbounds %LSlice, ptr %t9076, i32 0, i32 1 %t9078 = getelementptr inbounds %LSlice, ptr %t9076, i32 0, i32 2 %t9079 = getelementptr inbounds %LSlice, ptr %t9076, i32 0, i32 0 %t9080 = load i32, ptr %t9077 %t9081 = load i32, ptr %t9078 %t9082 = icmp sge i32 %t9080, %t9081 br i1 %t9082, label %grow1906, label %put1907 grow1906: %t9083 = mul i32 %t9081, 2 %t9084 = icmp eq i32 %t9081, 0 %t9085 = select i1 %t9084, i32 8, i32 %t9083 %t9086 = getelementptr ptr, ptr null, i32 1 %t9087 = ptrtoint ptr %t9086 to i64 %t9088 = zext i32 %t9085 to i64 %t9089 = mul i64 %t9088, %t9087 %t9090 = load ptr, ptr %t9079 %t9091 = call ptr @realloc(ptr %t9090, i64 %t9089) store ptr %t9091, ptr %t9079 store i32 %t9085, ptr %t9078 br label %put1907 put1907: %t9092 = load ptr, ptr %t9079 %t9093 = getelementptr inbounds ptr, ptr %t9092, i32 %t9080 store ptr @.str8321, ptr %t9093 %t9094 = add i32 %t9080, 1 store i32 %t9094, ptr %t9077 %t9095 = load ptr, ptr %t410 %t9096 = getelementptr inbounds %LSlice, ptr %t9095, i32 0, i32 1 %t9097 = getelementptr inbounds %LSlice, ptr %t9095, i32 0, i32 2 %t9098 = getelementptr inbounds %LSlice, ptr %t9095, i32 0, i32 0 %t9099 = load i32, ptr %t9096 %t9100 = load i32, ptr %t9097 %t9101 = icmp sge i32 %t9099, %t9100 br i1 %t9101, label %grow1908, label %put1909 grow1908: %t9102 = mul i32 %t9100, 2 %t9103 = icmp eq i32 %t9100, 0 %t9104 = select i1 %t9103, i32 8, i32 %t9102 %t9105 = getelementptr ptr, ptr null, i32 1 %t9106 = ptrtoint ptr %t9105 to i64 %t9107 = zext i32 %t9104 to i64 %t9108 = mul i64 %t9107, %t9106 %t9109 = load ptr, ptr %t9098 %t9110 = call ptr @realloc(ptr %t9109, i64 %t9108) store ptr %t9110, ptr %t9098 store i32 %t9104, ptr %t9097 br label %put1909 put1909: %t9111 = load ptr, ptr %t9098 %t9112 = getelementptr inbounds ptr, ptr %t9111, i32 %t9099 store ptr @.str8322, ptr %t9112 %t9113 = add i32 %t9099, 1 store i32 %t9113, ptr %t9096 br label %ifend1905 ifend1905: %t9114 = load ptr, ptr %t1 %t9115 = call i32 @lp_str_eq(ptr %t9114, ptr @.str8323) %t9116 = icmp ne i32 %t9115, 0 br i1 %t9116, label %then1910, label %ifend1912 then1910: store ptr @.str8324, ptr %t403 %t9117 = load ptr, ptr %t410 %t9118 = getelementptr inbounds %LSlice, ptr %t9117, i32 0, i32 1 %t9119 = getelementptr inbounds %LSlice, ptr %t9117, i32 0, i32 2 %t9120 = getelementptr inbounds %LSlice, ptr %t9117, i32 0, i32 0 %t9121 = load i32, ptr %t9118 %t9122 = load i32, ptr %t9119 %t9123 = icmp sge i32 %t9121, %t9122 br i1 %t9123, label %grow1913, label %put1914 grow1913: %t9124 = mul i32 %t9122, 2 %t9125 = icmp eq i32 %t9122, 0 %t9126 = select i1 %t9125, i32 8, i32 %t9124 %t9127 = getelementptr ptr, ptr null, i32 1 %t9128 = ptrtoint ptr %t9127 to i64 %t9129 = zext i32 %t9126 to i64 %t9130 = mul i64 %t9129, %t9128 %t9131 = load ptr, ptr %t9120 %t9132 = call ptr @realloc(ptr %t9131, i64 %t9130) store ptr %t9132, ptr %t9120 store i32 %t9126, ptr %t9119 br label %put1914 put1914: %t9133 = load ptr, ptr %t9120 %t9134 = getelementptr inbounds ptr, ptr %t9133, i32 %t9121 store ptr @.str8325, ptr %t9134 %t9135 = add i32 %t9121, 1 store i32 %t9135, ptr %t9118 br label %ifend1912 ifend1912: %t9136 = load ptr, ptr %t1 %t9137 = call i32 @lp_str_eq(ptr %t9136, ptr @.str8326) %t9138 = icmp ne i32 %t9137, 0 br i1 %t9138, label %then1915, label %ifend1917 then1915: store ptr @.str8327, ptr %t403 %t9139 = load ptr, ptr %t410 %t9140 = getelementptr inbounds %LSlice, ptr %t9139, i32 0, i32 1 %t9141 = getelementptr inbounds %LSlice, ptr %t9139, i32 0, i32 2 %t9142 = getelementptr inbounds %LSlice, ptr %t9139, i32 0, i32 0 %t9143 = load i32, ptr %t9140 %t9144 = load i32, ptr %t9141 %t9145 = icmp sge i32 %t9143, %t9144 br i1 %t9145, label %grow1918, label %put1919 grow1918: %t9146 = mul i32 %t9144, 2 %t9147 = icmp eq i32 %t9144, 0 %t9148 = select i1 %t9147, i32 8, i32 %t9146 %t9149 = getelementptr ptr, ptr null, i32 1 %t9150 = ptrtoint ptr %t9149 to i64 %t9151 = zext i32 %t9148 to i64 %t9152 = mul i64 %t9151, %t9150 %t9153 = load ptr, ptr %t9142 %t9154 = call ptr @realloc(ptr %t9153, i64 %t9152) store ptr %t9154, ptr %t9142 store i32 %t9148, ptr %t9141 br label %put1919 put1919: %t9155 = load ptr, ptr %t9142 %t9156 = getelementptr inbounds ptr, ptr %t9155, i32 %t9143 store ptr @.str8328, ptr %t9156 %t9157 = add i32 %t9143, 1 store i32 %t9157, ptr %t9140 br label %ifend1917 ifend1917: %t9158 = load ptr, ptr %t1 %t9159 = call i32 @lp_str_eq(ptr %t9158, ptr @.str8329) %t9160 = icmp ne i32 %t9159, 0 br i1 %t9160, label %then1920, label %ifend1922 then1920: store ptr @.str8330, ptr %t403 %t9161 = load ptr, ptr %t410 %t9162 = getelementptr inbounds %LSlice, ptr %t9161, i32 0, i32 1 %t9163 = getelementptr inbounds %LSlice, ptr %t9161, i32 0, i32 2 %t9164 = getelementptr inbounds %LSlice, ptr %t9161, i32 0, i32 0 %t9165 = load i32, ptr %t9162 %t9166 = load i32, ptr %t9163 %t9167 = icmp sge i32 %t9165, %t9166 br i1 %t9167, label %grow1923, label %put1924 grow1923: %t9168 = mul i32 %t9166, 2 %t9169 = icmp eq i32 %t9166, 0 %t9170 = select i1 %t9169, i32 8, i32 %t9168 %t9171 = getelementptr ptr, ptr null, i32 1 %t9172 = ptrtoint ptr %t9171 to i64 %t9173 = zext i32 %t9170 to i64 %t9174 = mul i64 %t9173, %t9172 %t9175 = load ptr, ptr %t9164 %t9176 = call ptr @realloc(ptr %t9175, i64 %t9174) store ptr %t9176, ptr %t9164 store i32 %t9170, ptr %t9163 br label %put1924 put1924: %t9177 = load ptr, ptr %t9164 %t9178 = getelementptr inbounds ptr, ptr %t9177, i32 %t9165 store ptr @.str8331, ptr %t9178 %t9179 = add i32 %t9165, 1 store i32 %t9179, ptr %t9162 br label %ifend1922 ifend1922: %t9180 = load ptr, ptr %t1 %t9181 = call i32 @lp_str_eq(ptr %t9180, ptr @.str8332) %t9182 = icmp ne i32 %t9181, 0 br i1 %t9182, label %then1925, label %ifend1927 then1925: store ptr @.str8333, ptr %t403 %t9183 = load ptr, ptr %t410 %t9184 = getelementptr inbounds %LSlice, ptr %t9183, i32 0, i32 1 %t9185 = getelementptr inbounds %LSlice, ptr %t9183, i32 0, i32 2 %t9186 = getelementptr inbounds %LSlice, ptr %t9183, i32 0, i32 0 %t9187 = load i32, ptr %t9184 %t9188 = load i32, ptr %t9185 %t9189 = icmp sge i32 %t9187, %t9188 br i1 %t9189, label %grow1928, label %put1929 grow1928: %t9190 = mul i32 %t9188, 2 %t9191 = icmp eq i32 %t9188, 0 %t9192 = select i1 %t9191, i32 8, i32 %t9190 %t9193 = getelementptr ptr, ptr null, i32 1 %t9194 = ptrtoint ptr %t9193 to i64 %t9195 = zext i32 %t9192 to i64 %t9196 = mul i64 %t9195, %t9194 %t9197 = load ptr, ptr %t9186 %t9198 = call ptr @realloc(ptr %t9197, i64 %t9196) store ptr %t9198, ptr %t9186 store i32 %t9192, ptr %t9185 br label %put1929 put1929: %t9199 = load ptr, ptr %t9186 %t9200 = getelementptr inbounds ptr, ptr %t9199, i32 %t9187 store ptr @.str8334, ptr %t9200 %t9201 = add i32 %t9187, 1 store i32 %t9201, ptr %t9184 br label %ifend1927 ifend1927: %t9202 = load ptr, ptr %t1 %t9203 = call i32 @lp_str_eq(ptr %t9202, ptr @.str8335) %t9204 = icmp ne i32 %t9203, 0 br i1 %t9204, label %then1930, label %ifend1932 then1930: store ptr @.str8336, ptr %t403 %t9205 = load ptr, ptr %t410 %t9206 = getelementptr inbounds %LSlice, ptr %t9205, i32 0, i32 1 %t9207 = getelementptr inbounds %LSlice, ptr %t9205, i32 0, i32 2 %t9208 = getelementptr inbounds %LSlice, ptr %t9205, i32 0, i32 0 %t9209 = load i32, ptr %t9206 %t9210 = load i32, ptr %t9207 %t9211 = icmp sge i32 %t9209, %t9210 br i1 %t9211, label %grow1933, label %put1934 grow1933: %t9212 = mul i32 %t9210, 2 %t9213 = icmp eq i32 %t9210, 0 %t9214 = select i1 %t9213, i32 8, i32 %t9212 %t9215 = getelementptr ptr, ptr null, i32 1 %t9216 = ptrtoint ptr %t9215 to i64 %t9217 = zext i32 %t9214 to i64 %t9218 = mul i64 %t9217, %t9216 %t9219 = load ptr, ptr %t9208 %t9220 = call ptr @realloc(ptr %t9219, i64 %t9218) store ptr %t9220, ptr %t9208 store i32 %t9214, ptr %t9207 br label %put1934 put1934: %t9221 = load ptr, ptr %t9208 %t9222 = getelementptr inbounds ptr, ptr %t9221, i32 %t9209 store ptr @.str8337, ptr %t9222 %t9223 = add i32 %t9209, 1 store i32 %t9223, ptr %t9206 br label %ifend1932 ifend1932: %t9224 = load ptr, ptr %t1 %t9225 = call i32 @lp_str_eq(ptr %t9224, ptr @.str8338) %t9226 = icmp ne i32 %t9225, 0 br i1 %t9226, label %then1935, label %ifend1937 then1935: store ptr @.str8339, ptr %t403 %t9227 = load ptr, ptr %t410 %t9228 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 1 %t9229 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 2 %t9230 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 0 %t9231 = load i32, ptr %t9228 %t9232 = load i32, ptr %t9229 %t9233 = icmp sge i32 %t9231, %t9232 br i1 %t9233, label %grow1938, label %put1939 grow1938: %t9234 = mul i32 %t9232, 2 %t9235 = icmp eq i32 %t9232, 0 %t9236 = select i1 %t9235, i32 8, i32 %t9234 %t9237 = getelementptr ptr, ptr null, i32 1 %t9238 = ptrtoint ptr %t9237 to i64 %t9239 = zext i32 %t9236 to i64 %t9240 = mul i64 %t9239, %t9238 %t9241 = load ptr, ptr %t9230 %t9242 = call ptr @realloc(ptr %t9241, i64 %t9240) store ptr %t9242, ptr %t9230 store i32 %t9236, ptr %t9229 br label %put1939 put1939: %t9243 = load ptr, ptr %t9230 %t9244 = getelementptr inbounds ptr, ptr %t9243, i32 %t9231 store ptr @.str8340, ptr %t9244 %t9245 = add i32 %t9231, 1 store i32 %t9245, ptr %t9228 br label %ifend1937 ifend1937: %t9246 = load ptr, ptr %t1 %t9247 = call i32 @lp_str_eq(ptr %t9246, ptr @.str8341) %t9248 = icmp ne i32 %t9247, 0 br i1 %t9248, label %then1940, label %ifend1942 then1940: store ptr @.str8342, ptr %t403 %t9249 = load ptr, ptr %t410 %t9250 = getelementptr inbounds %LSlice, ptr %t9249, i32 0, i32 1 %t9251 = getelementptr inbounds %LSlice, ptr %t9249, i32 0, i32 2 %t9252 = getelementptr inbounds %LSlice, ptr %t9249, i32 0, i32 0 %t9253 = load i32, ptr %t9250 %t9254 = load i32, ptr %t9251 %t9255 = icmp sge i32 %t9253, %t9254 br i1 %t9255, label %grow1943, label %put1944 grow1943: %t9256 = mul i32 %t9254, 2 %t9257 = icmp eq i32 %t9254, 0 %t9258 = select i1 %t9257, i32 8, i32 %t9256 %t9259 = getelementptr ptr, ptr null, i32 1 %t9260 = ptrtoint ptr %t9259 to i64 %t9261 = zext i32 %t9258 to i64 %t9262 = mul i64 %t9261, %t9260 %t9263 = load ptr, ptr %t9252 %t9264 = call ptr @realloc(ptr %t9263, i64 %t9262) store ptr %t9264, ptr %t9252 store i32 %t9258, ptr %t9251 br label %put1944 put1944: %t9265 = load ptr, ptr %t9252 %t9266 = getelementptr inbounds ptr, ptr %t9265, i32 %t9253 store ptr @.str8343, ptr %t9266 %t9267 = add i32 %t9253, 1 store i32 %t9267, ptr %t9250 br label %ifend1942 ifend1942: %t9268 = load ptr, ptr %t1 %t9269 = call i32 @lp_str_eq(ptr %t9268, ptr @.str8344) %t9270 = icmp ne i32 %t9269, 0 br i1 %t9270, label %then1945, label %ifend1947 then1945: store ptr @.str8345, ptr %t403 %t9271 = load ptr, ptr %t410 %t9272 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 1 %t9273 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 2 %t9274 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 0 %t9275 = load i32, ptr %t9272 %t9276 = load i32, ptr %t9273 %t9277 = icmp sge i32 %t9275, %t9276 br i1 %t9277, label %grow1948, label %put1949 grow1948: %t9278 = mul i32 %t9276, 2 %t9279 = icmp eq i32 %t9276, 0 %t9280 = select i1 %t9279, i32 8, i32 %t9278 %t9281 = getelementptr ptr, ptr null, i32 1 %t9282 = ptrtoint ptr %t9281 to i64 %t9283 = zext i32 %t9280 to i64 %t9284 = mul i64 %t9283, %t9282 %t9285 = load ptr, ptr %t9274 %t9286 = call ptr @realloc(ptr %t9285, i64 %t9284) store ptr %t9286, ptr %t9274 store i32 %t9280, ptr %t9273 br label %put1949 put1949: %t9287 = load ptr, ptr %t9274 %t9288 = getelementptr inbounds ptr, ptr %t9287, i32 %t9275 store ptr @.str8346, ptr %t9288 %t9289 = add i32 %t9275, 1 store i32 %t9289, ptr %t9272 br label %ifend1947 ifend1947: %t9290 = load ptr, ptr %t1 %t9291 = call i32 @lp_str_eq(ptr %t9290, ptr @.str8347) %t9292 = icmp ne i32 %t9291, 0 br i1 %t9292, label %then1950, label %ifend1952 then1950: store ptr @.str8348, ptr %t403 br label %ifend1952 ifend1952: %t9293 = load ptr, ptr %t1 %t9294 = call i32 @lp_str_eq(ptr %t9293, ptr @.str8349) %t9295 = icmp ne i32 %t9294, 0 br i1 %t9295, label %then1953, label %ifend1955 then1953: store ptr @.str8350, ptr %t403 %t9296 = load ptr, ptr %t410 %t9297 = getelementptr inbounds %LSlice, ptr %t9296, i32 0, i32 1 %t9298 = getelementptr inbounds %LSlice, ptr %t9296, i32 0, i32 2 %t9299 = getelementptr inbounds %LSlice, ptr %t9296, i32 0, i32 0 %t9300 = load i32, ptr %t9297 %t9301 = load i32, ptr %t9298 %t9302 = icmp sge i32 %t9300, %t9301 br i1 %t9302, label %grow1956, label %put1957 grow1956: %t9303 = mul i32 %t9301, 2 %t9304 = icmp eq i32 %t9301, 0 %t9305 = select i1 %t9304, i32 8, i32 %t9303 %t9306 = getelementptr ptr, ptr null, i32 1 %t9307 = ptrtoint ptr %t9306 to i64 %t9308 = zext i32 %t9305 to i64 %t9309 = mul i64 %t9308, %t9307 %t9310 = load ptr, ptr %t9299 %t9311 = call ptr @realloc(ptr %t9310, i64 %t9309) store ptr %t9311, ptr %t9299 store i32 %t9305, ptr %t9298 br label %put1957 put1957: %t9312 = load ptr, ptr %t9299 %t9313 = getelementptr inbounds ptr, ptr %t9312, i32 %t9300 store ptr @.str8351, ptr %t9313 %t9314 = add i32 %t9300, 1 store i32 %t9314, ptr %t9297 br label %ifend1955 ifend1955: %t9315 = load ptr, ptr %t1 %t9316 = call i32 @lp_str_eq(ptr %t9315, ptr @.str8352) %t9317 = icmp ne i32 %t9316, 0 br i1 %t9317, label %then1958, label %ifend1960 then1958: store ptr @.str8353, ptr %t403 %t9318 = load ptr, ptr %t410 %t9319 = getelementptr inbounds %LSlice, ptr %t9318, i32 0, i32 1 %t9320 = getelementptr inbounds %LSlice, ptr %t9318, i32 0, i32 2 %t9321 = getelementptr inbounds %LSlice, ptr %t9318, i32 0, i32 0 %t9322 = load i32, ptr %t9319 %t9323 = load i32, ptr %t9320 %t9324 = icmp sge i32 %t9322, %t9323 br i1 %t9324, label %grow1961, label %put1962 grow1961: %t9325 = mul i32 %t9323, 2 %t9326 = icmp eq i32 %t9323, 0 %t9327 = select i1 %t9326, i32 8, i32 %t9325 %t9328 = getelementptr ptr, ptr null, i32 1 %t9329 = ptrtoint ptr %t9328 to i64 %t9330 = zext i32 %t9327 to i64 %t9331 = mul i64 %t9330, %t9329 %t9332 = load ptr, ptr %t9321 %t9333 = call ptr @realloc(ptr %t9332, i64 %t9331) store ptr %t9333, ptr %t9321 store i32 %t9327, ptr %t9320 br label %put1962 put1962: %t9334 = load ptr, ptr %t9321 %t9335 = getelementptr inbounds ptr, ptr %t9334, i32 %t9322 store ptr @.str8354, ptr %t9335 %t9336 = add i32 %t9322, 1 store i32 %t9336, ptr %t9319 %t9337 = load ptr, ptr %t410 %t9338 = getelementptr inbounds %LSlice, ptr %t9337, i32 0, i32 1 %t9339 = getelementptr inbounds %LSlice, ptr %t9337, i32 0, i32 2 %t9340 = getelementptr inbounds %LSlice, ptr %t9337, i32 0, i32 0 %t9341 = load i32, ptr %t9338 %t9342 = load i32, ptr %t9339 %t9343 = icmp sge i32 %t9341, %t9342 br i1 %t9343, label %grow1963, label %put1964 grow1963: %t9344 = mul i32 %t9342, 2 %t9345 = icmp eq i32 %t9342, 0 %t9346 = select i1 %t9345, i32 8, i32 %t9344 %t9347 = getelementptr ptr, ptr null, i32 1 %t9348 = ptrtoint ptr %t9347 to i64 %t9349 = zext i32 %t9346 to i64 %t9350 = mul i64 %t9349, %t9348 %t9351 = load ptr, ptr %t9340 %t9352 = call ptr @realloc(ptr %t9351, i64 %t9350) store ptr %t9352, ptr %t9340 store i32 %t9346, ptr %t9339 br label %put1964 put1964: %t9353 = load ptr, ptr %t9340 %t9354 = getelementptr inbounds ptr, ptr %t9353, i32 %t9341 store ptr @.str8355, ptr %t9354 %t9355 = add i32 %t9341, 1 store i32 %t9355, ptr %t9338 %t9356 = load ptr, ptr %t410 %t9357 = getelementptr inbounds %LSlice, ptr %t9356, i32 0, i32 1 %t9358 = getelementptr inbounds %LSlice, ptr %t9356, i32 0, i32 2 %t9359 = getelementptr inbounds %LSlice, ptr %t9356, i32 0, i32 0 %t9360 = load i32, ptr %t9357 %t9361 = load i32, ptr %t9358 %t9362 = icmp sge i32 %t9360, %t9361 br i1 %t9362, label %grow1965, label %put1966 grow1965: %t9363 = mul i32 %t9361, 2 %t9364 = icmp eq i32 %t9361, 0 %t9365 = select i1 %t9364, i32 8, i32 %t9363 %t9366 = getelementptr ptr, ptr null, i32 1 %t9367 = ptrtoint ptr %t9366 to i64 %t9368 = zext i32 %t9365 to i64 %t9369 = mul i64 %t9368, %t9367 %t9370 = load ptr, ptr %t9359 %t9371 = call ptr @realloc(ptr %t9370, i64 %t9369) store ptr %t9371, ptr %t9359 store i32 %t9365, ptr %t9358 br label %put1966 put1966: %t9372 = load ptr, ptr %t9359 %t9373 = getelementptr inbounds ptr, ptr %t9372, i32 %t9360 store ptr @.str8356, ptr %t9373 %t9374 = add i32 %t9360, 1 store i32 %t9374, ptr %t9357 br label %ifend1960 ifend1960: %t9375 = load ptr, ptr %t1 %t9376 = call i32 @lp_str_eq(ptr %t9375, ptr @.str8357) %t9377 = icmp ne i32 %t9376, 0 br i1 %t9377, label %then1967, label %ifend1969 then1967: store ptr @.str8358, ptr %t403 br label %ifend1969 ifend1969: br label %ifend1885 ifend1885: %t9378 = load ptr, ptr %t0 %t9379 = call i32 @lp_str_eq(ptr %t9378, ptr @.str8359) %t9380 = icmp ne i32 %t9379, 0 br i1 %t9380, label %then1970, label %ifend1972 then1970: %t9381 = load ptr, ptr %t1 %t9382 = call i32 @lp_str_eq(ptr %t9381, ptr @.str8360) %t9383 = icmp ne i32 %t9382, 0 br i1 %t9383, label %then1973, label %ifend1975 then1973: store ptr @.str8361, ptr %t403 %t9384 = load ptr, ptr %t410 %t9385 = getelementptr inbounds %LSlice, ptr %t9384, i32 0, i32 1 %t9386 = getelementptr inbounds %LSlice, ptr %t9384, i32 0, i32 2 %t9387 = getelementptr inbounds %LSlice, ptr %t9384, i32 0, i32 0 %t9388 = load i32, ptr %t9385 %t9389 = load i32, ptr %t9386 %t9390 = icmp sge i32 %t9388, %t9389 br i1 %t9390, label %grow1976, label %put1977 grow1976: %t9391 = mul i32 %t9389, 2 %t9392 = icmp eq i32 %t9389, 0 %t9393 = select i1 %t9392, i32 8, i32 %t9391 %t9394 = getelementptr ptr, ptr null, i32 1 %t9395 = ptrtoint ptr %t9394 to i64 %t9396 = zext i32 %t9393 to i64 %t9397 = mul i64 %t9396, %t9395 %t9398 = load ptr, ptr %t9387 %t9399 = call ptr @realloc(ptr %t9398, i64 %t9397) store ptr %t9399, ptr %t9387 store i32 %t9393, ptr %t9386 br label %put1977 put1977: %t9400 = load ptr, ptr %t9387 %t9401 = getelementptr inbounds ptr, ptr %t9400, i32 %t9388 store ptr @.str8362, ptr %t9401 %t9402 = add i32 %t9388, 1 store i32 %t9402, ptr %t9385 br label %ifend1975 ifend1975: %t9403 = load ptr, ptr %t1 %t9404 = call i32 @lp_str_eq(ptr %t9403, ptr @.str8363) %t9405 = icmp ne i32 %t9404, 0 br i1 %t9405, label %then1978, label %ifend1980 then1978: store ptr @.str8364, ptr %t403 %t9406 = load ptr, ptr %t410 %t9407 = getelementptr inbounds %LSlice, ptr %t9406, i32 0, i32 1 %t9408 = getelementptr inbounds %LSlice, ptr %t9406, i32 0, i32 2 %t9409 = getelementptr inbounds %LSlice, ptr %t9406, i32 0, i32 0 %t9410 = load i32, ptr %t9407 %t9411 = load i32, ptr %t9408 %t9412 = icmp sge i32 %t9410, %t9411 br i1 %t9412, label %grow1981, label %put1982 grow1981: %t9413 = mul i32 %t9411, 2 %t9414 = icmp eq i32 %t9411, 0 %t9415 = select i1 %t9414, i32 8, i32 %t9413 %t9416 = getelementptr ptr, ptr null, i32 1 %t9417 = ptrtoint ptr %t9416 to i64 %t9418 = zext i32 %t9415 to i64 %t9419 = mul i64 %t9418, %t9417 %t9420 = load ptr, ptr %t9409 %t9421 = call ptr @realloc(ptr %t9420, i64 %t9419) store ptr %t9421, ptr %t9409 store i32 %t9415, ptr %t9408 br label %put1982 put1982: %t9422 = load ptr, ptr %t9409 %t9423 = getelementptr inbounds ptr, ptr %t9422, i32 %t9410 store ptr @.str8365, ptr %t9423 %t9424 = add i32 %t9410, 1 store i32 %t9424, ptr %t9407 br label %ifend1980 ifend1980: %t9425 = load ptr, ptr %t1 %t9426 = call i32 @lp_str_eq(ptr %t9425, ptr @.str8366) %t9427 = icmp ne i32 %t9426, 0 br i1 %t9427, label %then1983, label %ifend1985 then1983: store ptr @.str8367, ptr %t403 %t9428 = load ptr, ptr %t410 %t9429 = getelementptr inbounds %LSlice, ptr %t9428, i32 0, i32 1 %t9430 = getelementptr inbounds %LSlice, ptr %t9428, i32 0, i32 2 %t9431 = getelementptr inbounds %LSlice, ptr %t9428, i32 0, i32 0 %t9432 = load i32, ptr %t9429 %t9433 = load i32, ptr %t9430 %t9434 = icmp sge i32 %t9432, %t9433 br i1 %t9434, label %grow1986, label %put1987 grow1986: %t9435 = mul i32 %t9433, 2 %t9436 = icmp eq i32 %t9433, 0 %t9437 = select i1 %t9436, i32 8, i32 %t9435 %t9438 = getelementptr ptr, ptr null, i32 1 %t9439 = ptrtoint ptr %t9438 to i64 %t9440 = zext i32 %t9437 to i64 %t9441 = mul i64 %t9440, %t9439 %t9442 = load ptr, ptr %t9431 %t9443 = call ptr @realloc(ptr %t9442, i64 %t9441) store ptr %t9443, ptr %t9431 store i32 %t9437, ptr %t9430 br label %put1987 put1987: %t9444 = load ptr, ptr %t9431 %t9445 = getelementptr inbounds ptr, ptr %t9444, i32 %t9432 store ptr @.str8368, ptr %t9445 %t9446 = add i32 %t9432, 1 store i32 %t9446, ptr %t9429 br label %ifend1985 ifend1985: %t9447 = load ptr, ptr %t1 %t9448 = call i32 @lp_str_eq(ptr %t9447, ptr @.str8369) %t9449 = icmp ne i32 %t9448, 0 br i1 %t9449, label %then1988, label %ifend1990 then1988: store ptr @.str8370, ptr %t403 %t9450 = load ptr, ptr %t410 %t9451 = getelementptr inbounds %LSlice, ptr %t9450, i32 0, i32 1 %t9452 = getelementptr inbounds %LSlice, ptr %t9450, i32 0, i32 2 %t9453 = getelementptr inbounds %LSlice, ptr %t9450, i32 0, i32 0 %t9454 = load i32, ptr %t9451 %t9455 = load i32, ptr %t9452 %t9456 = icmp sge i32 %t9454, %t9455 br i1 %t9456, label %grow1991, label %put1992 grow1991: %t9457 = mul i32 %t9455, 2 %t9458 = icmp eq i32 %t9455, 0 %t9459 = select i1 %t9458, i32 8, i32 %t9457 %t9460 = getelementptr ptr, ptr null, i32 1 %t9461 = ptrtoint ptr %t9460 to i64 %t9462 = zext i32 %t9459 to i64 %t9463 = mul i64 %t9462, %t9461 %t9464 = load ptr, ptr %t9453 %t9465 = call ptr @realloc(ptr %t9464, i64 %t9463) store ptr %t9465, ptr %t9453 store i32 %t9459, ptr %t9452 br label %put1992 put1992: %t9466 = load ptr, ptr %t9453 %t9467 = getelementptr inbounds ptr, ptr %t9466, i32 %t9454 store ptr @.str8371, ptr %t9467 %t9468 = add i32 %t9454, 1 store i32 %t9468, ptr %t9451 br label %ifend1990 ifend1990: br label %ifend1972 ifend1972: %t9469 = load ptr, ptr %t0 %t9470 = call i32 @lp_str_eq(ptr %t9469, ptr @.str8372) %t9471 = icmp ne i32 %t9470, 0 br i1 %t9471, label %then1993, label %ifend1995 then1993: %t9472 = load ptr, ptr %t1 %t9473 = call i32 @lp_str_eq(ptr %t9472, ptr @.str8373) %t9474 = icmp ne i32 %t9473, 0 br i1 %t9474, label %then1996, label %ifend1998 then1996: store ptr @.str8374, ptr %t403 br label %ifend1998 ifend1998: %t9475 = load ptr, ptr %t1 %t9476 = call i32 @lp_str_eq(ptr %t9475, ptr @.str8375) %t9477 = icmp ne i32 %t9476, 0 br i1 %t9477, label %then1999, label %ifend2001 then1999: store ptr @.str8376, ptr %t403 %t9478 = load ptr, ptr %t410 %t9479 = getelementptr inbounds %LSlice, ptr %t9478, i32 0, i32 1 %t9480 = getelementptr inbounds %LSlice, ptr %t9478, i32 0, i32 2 %t9481 = getelementptr inbounds %LSlice, ptr %t9478, i32 0, i32 0 %t9482 = load i32, ptr %t9479 %t9483 = load i32, ptr %t9480 %t9484 = icmp sge i32 %t9482, %t9483 br i1 %t9484, label %grow2002, label %put2003 grow2002: %t9485 = mul i32 %t9483, 2 %t9486 = icmp eq i32 %t9483, 0 %t9487 = select i1 %t9486, i32 8, i32 %t9485 %t9488 = getelementptr ptr, ptr null, i32 1 %t9489 = ptrtoint ptr %t9488 to i64 %t9490 = zext i32 %t9487 to i64 %t9491 = mul i64 %t9490, %t9489 %t9492 = load ptr, ptr %t9481 %t9493 = call ptr @realloc(ptr %t9492, i64 %t9491) store ptr %t9493, ptr %t9481 store i32 %t9487, ptr %t9480 br label %put2003 put2003: %t9494 = load ptr, ptr %t9481 %t9495 = getelementptr inbounds ptr, ptr %t9494, i32 %t9482 store ptr @.str8377, ptr %t9495 %t9496 = add i32 %t9482, 1 store i32 %t9496, ptr %t9479 br label %ifend2001 ifend2001: %t9497 = load ptr, ptr %t1 %t9498 = call i32 @lp_str_eq(ptr %t9497, ptr @.str8378) %t9499 = icmp ne i32 %t9498, 0 br i1 %t9499, label %then2004, label %ifend2006 then2004: store ptr @.str8379, ptr %t403 %t9500 = load ptr, ptr %t410 %t9501 = getelementptr inbounds %LSlice, ptr %t9500, i32 0, i32 1 %t9502 = getelementptr inbounds %LSlice, ptr %t9500, i32 0, i32 2 %t9503 = getelementptr inbounds %LSlice, ptr %t9500, i32 0, i32 0 %t9504 = load i32, ptr %t9501 %t9505 = load i32, ptr %t9502 %t9506 = icmp sge i32 %t9504, %t9505 br i1 %t9506, label %grow2007, label %put2008 grow2007: %t9507 = mul i32 %t9505, 2 %t9508 = icmp eq i32 %t9505, 0 %t9509 = select i1 %t9508, i32 8, i32 %t9507 %t9510 = getelementptr ptr, ptr null, i32 1 %t9511 = ptrtoint ptr %t9510 to i64 %t9512 = zext i32 %t9509 to i64 %t9513 = mul i64 %t9512, %t9511 %t9514 = load ptr, ptr %t9503 %t9515 = call ptr @realloc(ptr %t9514, i64 %t9513) store ptr %t9515, ptr %t9503 store i32 %t9509, ptr %t9502 br label %put2008 put2008: %t9516 = load ptr, ptr %t9503 %t9517 = getelementptr inbounds ptr, ptr %t9516, i32 %t9504 store ptr @.str8380, ptr %t9517 %t9518 = add i32 %t9504, 1 store i32 %t9518, ptr %t9501 br label %ifend2006 ifend2006: %t9519 = load ptr, ptr %t1 %t9520 = call i32 @lp_str_eq(ptr %t9519, ptr @.str8381) %t9521 = icmp ne i32 %t9520, 0 br i1 %t9521, label %then2009, label %ifend2011 then2009: store ptr @.str8382, ptr %t403 %t9522 = load ptr, ptr %t410 %t9523 = getelementptr inbounds %LSlice, ptr %t9522, i32 0, i32 1 %t9524 = getelementptr inbounds %LSlice, ptr %t9522, i32 0, i32 2 %t9525 = getelementptr inbounds %LSlice, ptr %t9522, i32 0, i32 0 %t9526 = load i32, ptr %t9523 %t9527 = load i32, ptr %t9524 %t9528 = icmp sge i32 %t9526, %t9527 br i1 %t9528, label %grow2012, label %put2013 grow2012: %t9529 = mul i32 %t9527, 2 %t9530 = icmp eq i32 %t9527, 0 %t9531 = select i1 %t9530, i32 8, i32 %t9529 %t9532 = getelementptr ptr, ptr null, i32 1 %t9533 = ptrtoint ptr %t9532 to i64 %t9534 = zext i32 %t9531 to i64 %t9535 = mul i64 %t9534, %t9533 %t9536 = load ptr, ptr %t9525 %t9537 = call ptr @realloc(ptr %t9536, i64 %t9535) store ptr %t9537, ptr %t9525 store i32 %t9531, ptr %t9524 br label %put2013 put2013: %t9538 = load ptr, ptr %t9525 %t9539 = getelementptr inbounds ptr, ptr %t9538, i32 %t9526 store ptr @.str8383, ptr %t9539 %t9540 = add i32 %t9526, 1 store i32 %t9540, ptr %t9523 br label %ifend2011 ifend2011: %t9541 = load ptr, ptr %t1 %t9542 = call i32 @lp_str_eq(ptr %t9541, ptr @.str8384) %t9543 = icmp ne i32 %t9542, 0 br i1 %t9543, label %then2014, label %ifend2016 then2014: store ptr @.str8385, ptr %t403 br label %ifend2016 ifend2016: %t9544 = load ptr, ptr %t1 %t9545 = call i32 @lp_str_eq(ptr %t9544, ptr @.str8386) %t9546 = icmp ne i32 %t9545, 0 br i1 %t9546, label %then2017, label %ifend2019 then2017: store ptr @.str8387, ptr %t403 %t9547 = load ptr, ptr %t410 %t9548 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 1 %t9549 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 2 %t9550 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 0 %t9551 = load i32, ptr %t9548 %t9552 = load i32, ptr %t9549 %t9553 = icmp sge i32 %t9551, %t9552 br i1 %t9553, label %grow2020, label %put2021 grow2020: %t9554 = mul i32 %t9552, 2 %t9555 = icmp eq i32 %t9552, 0 %t9556 = select i1 %t9555, i32 8, i32 %t9554 %t9557 = getelementptr ptr, ptr null, i32 1 %t9558 = ptrtoint ptr %t9557 to i64 %t9559 = zext i32 %t9556 to i64 %t9560 = mul i64 %t9559, %t9558 %t9561 = load ptr, ptr %t9550 %t9562 = call ptr @realloc(ptr %t9561, i64 %t9560) store ptr %t9562, ptr %t9550 store i32 %t9556, ptr %t9549 br label %put2021 put2021: %t9563 = load ptr, ptr %t9550 %t9564 = getelementptr inbounds ptr, ptr %t9563, i32 %t9551 store ptr @.str8388, ptr %t9564 %t9565 = add i32 %t9551, 1 store i32 %t9565, ptr %t9548 br label %ifend2019 ifend2019: %t9566 = load ptr, ptr %t1 %t9567 = call i32 @lp_str_eq(ptr %t9566, ptr @.str8389) %t9568 = icmp ne i32 %t9567, 0 br i1 %t9568, label %then2022, label %ifend2024 then2022: store ptr @.str8390, ptr %t403 %t9569 = load ptr, ptr %t410 %t9570 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 1 %t9571 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 2 %t9572 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 0 %t9573 = load i32, ptr %t9570 %t9574 = load i32, ptr %t9571 %t9575 = icmp sge i32 %t9573, %t9574 br i1 %t9575, label %grow2025, label %put2026 grow2025: %t9576 = mul i32 %t9574, 2 %t9577 = icmp eq i32 %t9574, 0 %t9578 = select i1 %t9577, i32 8, i32 %t9576 %t9579 = getelementptr ptr, ptr null, i32 1 %t9580 = ptrtoint ptr %t9579 to i64 %t9581 = zext i32 %t9578 to i64 %t9582 = mul i64 %t9581, %t9580 %t9583 = load ptr, ptr %t9572 %t9584 = call ptr @realloc(ptr %t9583, i64 %t9582) store ptr %t9584, ptr %t9572 store i32 %t9578, ptr %t9571 br label %put2026 put2026: %t9585 = load ptr, ptr %t9572 %t9586 = getelementptr inbounds ptr, ptr %t9585, i32 %t9573 store ptr @.str8391, ptr %t9586 %t9587 = add i32 %t9573, 1 store i32 %t9587, ptr %t9570 %t9588 = load ptr, ptr %t410 %t9589 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 1 %t9590 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 2 %t9591 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 0 %t9592 = load i32, ptr %t9589 %t9593 = load i32, ptr %t9590 %t9594 = icmp sge i32 %t9592, %t9593 br i1 %t9594, label %grow2027, label %put2028 grow2027: %t9595 = mul i32 %t9593, 2 %t9596 = icmp eq i32 %t9593, 0 %t9597 = select i1 %t9596, i32 8, i32 %t9595 %t9598 = getelementptr ptr, ptr null, i32 1 %t9599 = ptrtoint ptr %t9598 to i64 %t9600 = zext i32 %t9597 to i64 %t9601 = mul i64 %t9600, %t9599 %t9602 = load ptr, ptr %t9591 %t9603 = call ptr @realloc(ptr %t9602, i64 %t9601) store ptr %t9603, ptr %t9591 store i32 %t9597, ptr %t9590 br label %put2028 put2028: %t9604 = load ptr, ptr %t9591 %t9605 = getelementptr inbounds ptr, ptr %t9604, i32 %t9592 store ptr @.str8392, ptr %t9605 %t9606 = add i32 %t9592, 1 store i32 %t9606, ptr %t9589 br label %ifend2024 ifend2024: %t9607 = load ptr, ptr %t1 %t9608 = call i32 @lp_str_eq(ptr %t9607, ptr @.str8393) %t9609 = icmp ne i32 %t9608, 0 br i1 %t9609, label %then2029, label %ifend2031 then2029: store ptr @.str8394, ptr %t403 %t9610 = load ptr, ptr %t410 %t9611 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 1 %t9612 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 2 %t9613 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 0 %t9614 = load i32, ptr %t9611 %t9615 = load i32, ptr %t9612 %t9616 = icmp sge i32 %t9614, %t9615 br i1 %t9616, label %grow2032, label %put2033 grow2032: %t9617 = mul i32 %t9615, 2 %t9618 = icmp eq i32 %t9615, 0 %t9619 = select i1 %t9618, i32 8, i32 %t9617 %t9620 = getelementptr ptr, ptr null, i32 1 %t9621 = ptrtoint ptr %t9620 to i64 %t9622 = zext i32 %t9619 to i64 %t9623 = mul i64 %t9622, %t9621 %t9624 = load ptr, ptr %t9613 %t9625 = call ptr @realloc(ptr %t9624, i64 %t9623) store ptr %t9625, ptr %t9613 store i32 %t9619, ptr %t9612 br label %put2033 put2033: %t9626 = load ptr, ptr %t9613 %t9627 = getelementptr inbounds ptr, ptr %t9626, i32 %t9614 store ptr @.str8395, ptr %t9627 %t9628 = add i32 %t9614, 1 store i32 %t9628, ptr %t9611 %t9629 = load ptr, ptr %t410 %t9630 = getelementptr inbounds %LSlice, ptr %t9629, i32 0, i32 1 %t9631 = getelementptr inbounds %LSlice, ptr %t9629, i32 0, i32 2 %t9632 = getelementptr inbounds %LSlice, ptr %t9629, i32 0, i32 0 %t9633 = load i32, ptr %t9630 %t9634 = load i32, ptr %t9631 %t9635 = icmp sge i32 %t9633, %t9634 br i1 %t9635, label %grow2034, label %put2035 grow2034: %t9636 = mul i32 %t9634, 2 %t9637 = icmp eq i32 %t9634, 0 %t9638 = select i1 %t9637, i32 8, i32 %t9636 %t9639 = getelementptr ptr, ptr null, i32 1 %t9640 = ptrtoint ptr %t9639 to i64 %t9641 = zext i32 %t9638 to i64 %t9642 = mul i64 %t9641, %t9640 %t9643 = load ptr, ptr %t9632 %t9644 = call ptr @realloc(ptr %t9643, i64 %t9642) store ptr %t9644, ptr %t9632 store i32 %t9638, ptr %t9631 br label %put2035 put2035: %t9645 = load ptr, ptr %t9632 %t9646 = getelementptr inbounds ptr, ptr %t9645, i32 %t9633 store ptr @.str8396, ptr %t9646 %t9647 = add i32 %t9633, 1 store i32 %t9647, ptr %t9630 br label %ifend2031 ifend2031: %t9648 = load ptr, ptr %t1 %t9649 = call i32 @lp_str_eq(ptr %t9648, ptr @.str8397) %t9650 = icmp ne i32 %t9649, 0 br i1 %t9650, label %then2036, label %ifend2038 then2036: store ptr @.str8398, ptr %t403 %t9651 = load ptr, ptr %t410 %t9652 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 1 %t9653 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 2 %t9654 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 0 %t9655 = load i32, ptr %t9652 %t9656 = load i32, ptr %t9653 %t9657 = icmp sge i32 %t9655, %t9656 br i1 %t9657, label %grow2039, label %put2040 grow2039: %t9658 = mul i32 %t9656, 2 %t9659 = icmp eq i32 %t9656, 0 %t9660 = select i1 %t9659, i32 8, i32 %t9658 %t9661 = getelementptr ptr, ptr null, i32 1 %t9662 = ptrtoint ptr %t9661 to i64 %t9663 = zext i32 %t9660 to i64 %t9664 = mul i64 %t9663, %t9662 %t9665 = load ptr, ptr %t9654 %t9666 = call ptr @realloc(ptr %t9665, i64 %t9664) store ptr %t9666, ptr %t9654 store i32 %t9660, ptr %t9653 br label %put2040 put2040: %t9667 = load ptr, ptr %t9654 %t9668 = getelementptr inbounds ptr, ptr %t9667, i32 %t9655 store ptr @.str8399, ptr %t9668 %t9669 = add i32 %t9655, 1 store i32 %t9669, ptr %t9652 %t9670 = load ptr, ptr %t410 %t9671 = getelementptr inbounds %LSlice, ptr %t9670, i32 0, i32 1 %t9672 = getelementptr inbounds %LSlice, ptr %t9670, i32 0, i32 2 %t9673 = getelementptr inbounds %LSlice, ptr %t9670, i32 0, i32 0 %t9674 = load i32, ptr %t9671 %t9675 = load i32, ptr %t9672 %t9676 = icmp sge i32 %t9674, %t9675 br i1 %t9676, label %grow2041, label %put2042 grow2041: %t9677 = mul i32 %t9675, 2 %t9678 = icmp eq i32 %t9675, 0 %t9679 = select i1 %t9678, i32 8, i32 %t9677 %t9680 = getelementptr ptr, ptr null, i32 1 %t9681 = ptrtoint ptr %t9680 to i64 %t9682 = zext i32 %t9679 to i64 %t9683 = mul i64 %t9682, %t9681 %t9684 = load ptr, ptr %t9673 %t9685 = call ptr @realloc(ptr %t9684, i64 %t9683) store ptr %t9685, ptr %t9673 store i32 %t9679, ptr %t9672 br label %put2042 put2042: %t9686 = load ptr, ptr %t9673 %t9687 = getelementptr inbounds ptr, ptr %t9686, i32 %t9674 store ptr @.str8400, ptr %t9687 %t9688 = add i32 %t9674, 1 store i32 %t9688, ptr %t9671 %t9689 = load ptr, ptr %t410 %t9690 = getelementptr inbounds %LSlice, ptr %t9689, i32 0, i32 1 %t9691 = getelementptr inbounds %LSlice, ptr %t9689, i32 0, i32 2 %t9692 = getelementptr inbounds %LSlice, ptr %t9689, i32 0, i32 0 %t9693 = load i32, ptr %t9690 %t9694 = load i32, ptr %t9691 %t9695 = icmp sge i32 %t9693, %t9694 br i1 %t9695, label %grow2043, label %put2044 grow2043: %t9696 = mul i32 %t9694, 2 %t9697 = icmp eq i32 %t9694, 0 %t9698 = select i1 %t9697, i32 8, i32 %t9696 %t9699 = getelementptr ptr, ptr null, i32 1 %t9700 = ptrtoint ptr %t9699 to i64 %t9701 = zext i32 %t9698 to i64 %t9702 = mul i64 %t9701, %t9700 %t9703 = load ptr, ptr %t9692 %t9704 = call ptr @realloc(ptr %t9703, i64 %t9702) store ptr %t9704, ptr %t9692 store i32 %t9698, ptr %t9691 br label %put2044 put2044: %t9705 = load ptr, ptr %t9692 %t9706 = getelementptr inbounds ptr, ptr %t9705, i32 %t9693 store ptr @.str8401, ptr %t9706 %t9707 = add i32 %t9693, 1 store i32 %t9707, ptr %t9690 br label %ifend2038 ifend2038: %t9708 = load ptr, ptr %t1 %t9709 = call i32 @lp_str_eq(ptr %t9708, ptr @.str8402) %t9710 = icmp ne i32 %t9709, 0 br i1 %t9710, label %then2045, label %ifend2047 then2045: store ptr @.str8403, ptr %t403 br label %ifend2047 ifend2047: %t9711 = load ptr, ptr %t1 %t9712 = call i32 @lp_str_eq(ptr %t9711, ptr @.str8404) %t9713 = icmp ne i32 %t9712, 0 br i1 %t9713, label %then2048, label %ifend2050 then2048: store ptr @.str8405, ptr %t403 %t9714 = load ptr, ptr %t410 %t9715 = getelementptr inbounds %LSlice, ptr %t9714, i32 0, i32 1 %t9716 = getelementptr inbounds %LSlice, ptr %t9714, i32 0, i32 2 %t9717 = getelementptr inbounds %LSlice, ptr %t9714, i32 0, i32 0 %t9718 = load i32, ptr %t9715 %t9719 = load i32, ptr %t9716 %t9720 = icmp sge i32 %t9718, %t9719 br i1 %t9720, label %grow2051, label %put2052 grow2051: %t9721 = mul i32 %t9719, 2 %t9722 = icmp eq i32 %t9719, 0 %t9723 = select i1 %t9722, i32 8, i32 %t9721 %t9724 = getelementptr ptr, ptr null, i32 1 %t9725 = ptrtoint ptr %t9724 to i64 %t9726 = zext i32 %t9723 to i64 %t9727 = mul i64 %t9726, %t9725 %t9728 = load ptr, ptr %t9717 %t9729 = call ptr @realloc(ptr %t9728, i64 %t9727) store ptr %t9729, ptr %t9717 store i32 %t9723, ptr %t9716 br label %put2052 put2052: %t9730 = load ptr, ptr %t9717 %t9731 = getelementptr inbounds ptr, ptr %t9730, i32 %t9718 store ptr @.str8406, ptr %t9731 %t9732 = add i32 %t9718, 1 store i32 %t9732, ptr %t9715 %t9733 = load ptr, ptr %t410 %t9734 = getelementptr inbounds %LSlice, ptr %t9733, i32 0, i32 1 %t9735 = getelementptr inbounds %LSlice, ptr %t9733, i32 0, i32 2 %t9736 = getelementptr inbounds %LSlice, ptr %t9733, i32 0, i32 0 %t9737 = load i32, ptr %t9734 %t9738 = load i32, ptr %t9735 %t9739 = icmp sge i32 %t9737, %t9738 br i1 %t9739, label %grow2053, label %put2054 grow2053: %t9740 = mul i32 %t9738, 2 %t9741 = icmp eq i32 %t9738, 0 %t9742 = select i1 %t9741, i32 8, i32 %t9740 %t9743 = getelementptr ptr, ptr null, i32 1 %t9744 = ptrtoint ptr %t9743 to i64 %t9745 = zext i32 %t9742 to i64 %t9746 = mul i64 %t9745, %t9744 %t9747 = load ptr, ptr %t9736 %t9748 = call ptr @realloc(ptr %t9747, i64 %t9746) store ptr %t9748, ptr %t9736 store i32 %t9742, ptr %t9735 br label %put2054 put2054: %t9749 = load ptr, ptr %t9736 %t9750 = getelementptr inbounds ptr, ptr %t9749, i32 %t9737 store ptr @.str8407, ptr %t9750 %t9751 = add i32 %t9737, 1 store i32 %t9751, ptr %t9734 br label %ifend2050 ifend2050: %t9752 = load ptr, ptr %t1 %t9753 = call i32 @lp_str_eq(ptr %t9752, ptr @.str8408) %t9754 = icmp ne i32 %t9753, 0 br i1 %t9754, label %then2055, label %ifend2057 then2055: store ptr @.str8409, ptr %t403 %t9755 = load ptr, ptr %t410 %t9756 = getelementptr inbounds %LSlice, ptr %t9755, i32 0, i32 1 %t9757 = getelementptr inbounds %LSlice, ptr %t9755, i32 0, i32 2 %t9758 = getelementptr inbounds %LSlice, ptr %t9755, i32 0, i32 0 %t9759 = load i32, ptr %t9756 %t9760 = load i32, ptr %t9757 %t9761 = icmp sge i32 %t9759, %t9760 br i1 %t9761, label %grow2058, label %put2059 grow2058: %t9762 = mul i32 %t9760, 2 %t9763 = icmp eq i32 %t9760, 0 %t9764 = select i1 %t9763, i32 8, i32 %t9762 %t9765 = getelementptr ptr, ptr null, i32 1 %t9766 = ptrtoint ptr %t9765 to i64 %t9767 = zext i32 %t9764 to i64 %t9768 = mul i64 %t9767, %t9766 %t9769 = load ptr, ptr %t9758 %t9770 = call ptr @realloc(ptr %t9769, i64 %t9768) store ptr %t9770, ptr %t9758 store i32 %t9764, ptr %t9757 br label %put2059 put2059: %t9771 = load ptr, ptr %t9758 %t9772 = getelementptr inbounds ptr, ptr %t9771, i32 %t9759 store ptr @.str8410, ptr %t9772 %t9773 = add i32 %t9759, 1 store i32 %t9773, ptr %t9756 br label %ifend2057 ifend2057: %t9774 = load ptr, ptr %t1 %t9775 = call i32 @lp_str_eq(ptr %t9774, ptr @.str8411) %t9776 = icmp ne i32 %t9775, 0 br i1 %t9776, label %then2060, label %ifend2062 then2060: store ptr @.str8412, ptr %t403 %t9777 = load ptr, ptr %t410 %t9778 = getelementptr inbounds %LSlice, ptr %t9777, i32 0, i32 1 %t9779 = getelementptr inbounds %LSlice, ptr %t9777, i32 0, i32 2 %t9780 = getelementptr inbounds %LSlice, ptr %t9777, i32 0, i32 0 %t9781 = load i32, ptr %t9778 %t9782 = load i32, ptr %t9779 %t9783 = icmp sge i32 %t9781, %t9782 br i1 %t9783, label %grow2063, label %put2064 grow2063: %t9784 = mul i32 %t9782, 2 %t9785 = icmp eq i32 %t9782, 0 %t9786 = select i1 %t9785, i32 8, i32 %t9784 %t9787 = getelementptr ptr, ptr null, i32 1 %t9788 = ptrtoint ptr %t9787 to i64 %t9789 = zext i32 %t9786 to i64 %t9790 = mul i64 %t9789, %t9788 %t9791 = load ptr, ptr %t9780 %t9792 = call ptr @realloc(ptr %t9791, i64 %t9790) store ptr %t9792, ptr %t9780 store i32 %t9786, ptr %t9779 br label %put2064 put2064: %t9793 = load ptr, ptr %t9780 %t9794 = getelementptr inbounds ptr, ptr %t9793, i32 %t9781 store ptr @.str8413, ptr %t9794 %t9795 = add i32 %t9781, 1 store i32 %t9795, ptr %t9778 br label %ifend2062 ifend2062: %t9796 = load ptr, ptr %t1 %t9797 = call i32 @lp_str_eq(ptr %t9796, ptr @.str8414) %t9798 = icmp ne i32 %t9797, 0 br i1 %t9798, label %then2065, label %ifend2067 then2065: store ptr @.str8415, ptr %t403 %t9799 = load ptr, ptr %t410 %t9800 = getelementptr inbounds %LSlice, ptr %t9799, i32 0, i32 1 %t9801 = getelementptr inbounds %LSlice, ptr %t9799, i32 0, i32 2 %t9802 = getelementptr inbounds %LSlice, ptr %t9799, i32 0, i32 0 %t9803 = load i32, ptr %t9800 %t9804 = load i32, ptr %t9801 %t9805 = icmp sge i32 %t9803, %t9804 br i1 %t9805, label %grow2068, label %put2069 grow2068: %t9806 = mul i32 %t9804, 2 %t9807 = icmp eq i32 %t9804, 0 %t9808 = select i1 %t9807, i32 8, i32 %t9806 %t9809 = getelementptr ptr, ptr null, i32 1 %t9810 = ptrtoint ptr %t9809 to i64 %t9811 = zext i32 %t9808 to i64 %t9812 = mul i64 %t9811, %t9810 %t9813 = load ptr, ptr %t9802 %t9814 = call ptr @realloc(ptr %t9813, i64 %t9812) store ptr %t9814, ptr %t9802 store i32 %t9808, ptr %t9801 br label %put2069 put2069: %t9815 = load ptr, ptr %t9802 %t9816 = getelementptr inbounds ptr, ptr %t9815, i32 %t9803 store ptr @.str8416, ptr %t9816 %t9817 = add i32 %t9803, 1 store i32 %t9817, ptr %t9800 br label %ifend2067 ifend2067: %t9818 = load ptr, ptr %t1 %t9819 = call i32 @lp_str_eq(ptr %t9818, ptr @.str8417) %t9820 = icmp ne i32 %t9819, 0 br i1 %t9820, label %then2070, label %ifend2072 then2070: store ptr @.str8418, ptr %t403 br label %ifend2072 ifend2072: br label %ifend1995 ifend1995: %t9821 = load ptr, ptr %t0 %t9822 = call i32 @lp_str_eq(ptr %t9821, ptr @.str8419) %t9823 = icmp ne i32 %t9822, 0 br i1 %t9823, label %then2073, label %ifend2075 then2073: %t9824 = load ptr, ptr %t1 %t9825 = call i32 @lp_str_eq(ptr %t9824, ptr @.str8420) %t9826 = icmp ne i32 %t9825, 0 br i1 %t9826, label %then2076, label %ifend2078 then2076: store ptr @.str8421, ptr %t403 %t9827 = load ptr, ptr %t410 %t9828 = getelementptr inbounds %LSlice, ptr %t9827, i32 0, i32 1 %t9829 = getelementptr inbounds %LSlice, ptr %t9827, i32 0, i32 2 %t9830 = getelementptr inbounds %LSlice, ptr %t9827, i32 0, i32 0 %t9831 = load i32, ptr %t9828 %t9832 = load i32, ptr %t9829 %t9833 = icmp sge i32 %t9831, %t9832 br i1 %t9833, label %grow2079, label %put2080 grow2079: %t9834 = mul i32 %t9832, 2 %t9835 = icmp eq i32 %t9832, 0 %t9836 = select i1 %t9835, i32 8, i32 %t9834 %t9837 = getelementptr ptr, ptr null, i32 1 %t9838 = ptrtoint ptr %t9837 to i64 %t9839 = zext i32 %t9836 to i64 %t9840 = mul i64 %t9839, %t9838 %t9841 = load ptr, ptr %t9830 %t9842 = call ptr @realloc(ptr %t9841, i64 %t9840) store ptr %t9842, ptr %t9830 store i32 %t9836, ptr %t9829 br label %put2080 put2080: %t9843 = load ptr, ptr %t9830 %t9844 = getelementptr inbounds ptr, ptr %t9843, i32 %t9831 store ptr @.str8422, ptr %t9844 %t9845 = add i32 %t9831, 1 store i32 %t9845, ptr %t9828 br label %ifend2078 ifend2078: %t9846 = load ptr, ptr %t1 %t9847 = call i32 @lp_str_eq(ptr %t9846, ptr @.str8423) %t9848 = icmp ne i32 %t9847, 0 br i1 %t9848, label %then2081, label %ifend2083 then2081: store ptr @.str8424, ptr %t403 %t9849 = load ptr, ptr %t410 %t9850 = getelementptr inbounds %LSlice, ptr %t9849, i32 0, i32 1 %t9851 = getelementptr inbounds %LSlice, ptr %t9849, i32 0, i32 2 %t9852 = getelementptr inbounds %LSlice, ptr %t9849, i32 0, i32 0 %t9853 = load i32, ptr %t9850 %t9854 = load i32, ptr %t9851 %t9855 = icmp sge i32 %t9853, %t9854 br i1 %t9855, label %grow2084, label %put2085 grow2084: %t9856 = mul i32 %t9854, 2 %t9857 = icmp eq i32 %t9854, 0 %t9858 = select i1 %t9857, i32 8, i32 %t9856 %t9859 = getelementptr ptr, ptr null, i32 1 %t9860 = ptrtoint ptr %t9859 to i64 %t9861 = zext i32 %t9858 to i64 %t9862 = mul i64 %t9861, %t9860 %t9863 = load ptr, ptr %t9852 %t9864 = call ptr @realloc(ptr %t9863, i64 %t9862) store ptr %t9864, ptr %t9852 store i32 %t9858, ptr %t9851 br label %put2085 put2085: %t9865 = load ptr, ptr %t9852 %t9866 = getelementptr inbounds ptr, ptr %t9865, i32 %t9853 store ptr @.str8425, ptr %t9866 %t9867 = add i32 %t9853, 1 store i32 %t9867, ptr %t9850 %t9868 = load ptr, ptr %t410 %t9869 = getelementptr inbounds %LSlice, ptr %t9868, i32 0, i32 1 %t9870 = getelementptr inbounds %LSlice, ptr %t9868, i32 0, i32 2 %t9871 = getelementptr inbounds %LSlice, ptr %t9868, i32 0, i32 0 %t9872 = load i32, ptr %t9869 %t9873 = load i32, ptr %t9870 %t9874 = icmp sge i32 %t9872, %t9873 br i1 %t9874, label %grow2086, label %put2087 grow2086: %t9875 = mul i32 %t9873, 2 %t9876 = icmp eq i32 %t9873, 0 %t9877 = select i1 %t9876, i32 8, i32 %t9875 %t9878 = getelementptr ptr, ptr null, i32 1 %t9879 = ptrtoint ptr %t9878 to i64 %t9880 = zext i32 %t9877 to i64 %t9881 = mul i64 %t9880, %t9879 %t9882 = load ptr, ptr %t9871 %t9883 = call ptr @realloc(ptr %t9882, i64 %t9881) store ptr %t9883, ptr %t9871 store i32 %t9877, ptr %t9870 br label %put2087 put2087: %t9884 = load ptr, ptr %t9871 %t9885 = getelementptr inbounds ptr, ptr %t9884, i32 %t9872 store ptr @.str8426, ptr %t9885 %t9886 = add i32 %t9872, 1 store i32 %t9886, ptr %t9869 br label %ifend2083 ifend2083: %t9887 = load ptr, ptr %t1 %t9888 = call i32 @lp_str_eq(ptr %t9887, ptr @.str8427) %t9889 = icmp ne i32 %t9888, 0 br i1 %t9889, label %then2088, label %ifend2090 then2088: store ptr @.str8428, ptr %t403 %t9890 = load ptr, ptr %t410 %t9891 = getelementptr inbounds %LSlice, ptr %t9890, i32 0, i32 1 %t9892 = getelementptr inbounds %LSlice, ptr %t9890, i32 0, i32 2 %t9893 = getelementptr inbounds %LSlice, ptr %t9890, i32 0, i32 0 %t9894 = load i32, ptr %t9891 %t9895 = load i32, ptr %t9892 %t9896 = icmp sge i32 %t9894, %t9895 br i1 %t9896, label %grow2091, label %put2092 grow2091: %t9897 = mul i32 %t9895, 2 %t9898 = icmp eq i32 %t9895, 0 %t9899 = select i1 %t9898, i32 8, i32 %t9897 %t9900 = getelementptr ptr, ptr null, i32 1 %t9901 = ptrtoint ptr %t9900 to i64 %t9902 = zext i32 %t9899 to i64 %t9903 = mul i64 %t9902, %t9901 %t9904 = load ptr, ptr %t9893 %t9905 = call ptr @realloc(ptr %t9904, i64 %t9903) store ptr %t9905, ptr %t9893 store i32 %t9899, ptr %t9892 br label %put2092 put2092: %t9906 = load ptr, ptr %t9893 %t9907 = getelementptr inbounds ptr, ptr %t9906, i32 %t9894 store ptr @.str8429, ptr %t9907 %t9908 = add i32 %t9894, 1 store i32 %t9908, ptr %t9891 %t9909 = load ptr, ptr %t410 %t9910 = getelementptr inbounds %LSlice, ptr %t9909, i32 0, i32 1 %t9911 = getelementptr inbounds %LSlice, ptr %t9909, i32 0, i32 2 %t9912 = getelementptr inbounds %LSlice, ptr %t9909, i32 0, i32 0 %t9913 = load i32, ptr %t9910 %t9914 = load i32, ptr %t9911 %t9915 = icmp sge i32 %t9913, %t9914 br i1 %t9915, label %grow2093, label %put2094 grow2093: %t9916 = mul i32 %t9914, 2 %t9917 = icmp eq i32 %t9914, 0 %t9918 = select i1 %t9917, i32 8, i32 %t9916 %t9919 = getelementptr ptr, ptr null, i32 1 %t9920 = ptrtoint ptr %t9919 to i64 %t9921 = zext i32 %t9918 to i64 %t9922 = mul i64 %t9921, %t9920 %t9923 = load ptr, ptr %t9912 %t9924 = call ptr @realloc(ptr %t9923, i64 %t9922) store ptr %t9924, ptr %t9912 store i32 %t9918, ptr %t9911 br label %put2094 put2094: %t9925 = load ptr, ptr %t9912 %t9926 = getelementptr inbounds ptr, ptr %t9925, i32 %t9913 store ptr @.str8430, ptr %t9926 %t9927 = add i32 %t9913, 1 store i32 %t9927, ptr %t9910 br label %ifend2090 ifend2090: %t9928 = load ptr, ptr %t1 %t9929 = call i32 @lp_str_eq(ptr %t9928, ptr @.str8431) %t9930 = icmp ne i32 %t9929, 0 br i1 %t9930, label %then2095, label %ifend2097 then2095: store ptr @.str8432, ptr %t403 %t9931 = load ptr, ptr %t410 %t9932 = getelementptr inbounds %LSlice, ptr %t9931, i32 0, i32 1 %t9933 = getelementptr inbounds %LSlice, ptr %t9931, i32 0, i32 2 %t9934 = getelementptr inbounds %LSlice, ptr %t9931, i32 0, i32 0 %t9935 = load i32, ptr %t9932 %t9936 = load i32, ptr %t9933 %t9937 = icmp sge i32 %t9935, %t9936 br i1 %t9937, label %grow2098, label %put2099 grow2098: %t9938 = mul i32 %t9936, 2 %t9939 = icmp eq i32 %t9936, 0 %t9940 = select i1 %t9939, i32 8, i32 %t9938 %t9941 = getelementptr ptr, ptr null, i32 1 %t9942 = ptrtoint ptr %t9941 to i64 %t9943 = zext i32 %t9940 to i64 %t9944 = mul i64 %t9943, %t9942 %t9945 = load ptr, ptr %t9934 %t9946 = call ptr @realloc(ptr %t9945, i64 %t9944) store ptr %t9946, ptr %t9934 store i32 %t9940, ptr %t9933 br label %put2099 put2099: %t9947 = load ptr, ptr %t9934 %t9948 = getelementptr inbounds ptr, ptr %t9947, i32 %t9935 store ptr @.str8433, ptr %t9948 %t9949 = add i32 %t9935, 1 store i32 %t9949, ptr %t9932 %t9950 = load ptr, ptr %t410 %t9951 = getelementptr inbounds %LSlice, ptr %t9950, i32 0, i32 1 %t9952 = getelementptr inbounds %LSlice, ptr %t9950, i32 0, i32 2 %t9953 = getelementptr inbounds %LSlice, ptr %t9950, i32 0, i32 0 %t9954 = load i32, ptr %t9951 %t9955 = load i32, ptr %t9952 %t9956 = icmp sge i32 %t9954, %t9955 br i1 %t9956, label %grow2100, label %put2101 grow2100: %t9957 = mul i32 %t9955, 2 %t9958 = icmp eq i32 %t9955, 0 %t9959 = select i1 %t9958, i32 8, i32 %t9957 %t9960 = getelementptr ptr, ptr null, i32 1 %t9961 = ptrtoint ptr %t9960 to i64 %t9962 = zext i32 %t9959 to i64 %t9963 = mul i64 %t9962, %t9961 %t9964 = load ptr, ptr %t9953 %t9965 = call ptr @realloc(ptr %t9964, i64 %t9963) store ptr %t9965, ptr %t9953 store i32 %t9959, ptr %t9952 br label %put2101 put2101: %t9966 = load ptr, ptr %t9953 %t9967 = getelementptr inbounds ptr, ptr %t9966, i32 %t9954 store ptr @.str8434, ptr %t9967 %t9968 = add i32 %t9954, 1 store i32 %t9968, ptr %t9951 br label %ifend2097 ifend2097: %t9969 = load ptr, ptr %t1 %t9970 = call i32 @lp_str_eq(ptr %t9969, ptr @.str8435) %t9971 = icmp ne i32 %t9970, 0 br i1 %t9971, label %then2102, label %ifend2104 then2102: store ptr @.str8436, ptr %t403 %t9972 = load ptr, ptr %t410 %t9973 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 1 %t9974 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 2 %t9975 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 0 %t9976 = load i32, ptr %t9973 %t9977 = load i32, ptr %t9974 %t9978 = icmp sge i32 %t9976, %t9977 br i1 %t9978, label %grow2105, label %put2106 grow2105: %t9979 = mul i32 %t9977, 2 %t9980 = icmp eq i32 %t9977, 0 %t9981 = select i1 %t9980, i32 8, i32 %t9979 %t9982 = getelementptr ptr, ptr null, i32 1 %t9983 = ptrtoint ptr %t9982 to i64 %t9984 = zext i32 %t9981 to i64 %t9985 = mul i64 %t9984, %t9983 %t9986 = load ptr, ptr %t9975 %t9987 = call ptr @realloc(ptr %t9986, i64 %t9985) store ptr %t9987, ptr %t9975 store i32 %t9981, ptr %t9974 br label %put2106 put2106: %t9988 = load ptr, ptr %t9975 %t9989 = getelementptr inbounds ptr, ptr %t9988, i32 %t9976 store ptr @.str8437, ptr %t9989 %t9990 = add i32 %t9976, 1 store i32 %t9990, ptr %t9973 br label %ifend2104 ifend2104: %t9991 = load ptr, ptr %t1 %t9992 = call i32 @lp_str_eq(ptr %t9991, ptr @.str8438) %t9993 = icmp ne i32 %t9992, 0 br i1 %t9993, label %then2107, label %ifend2109 then2107: store ptr @.str8439, ptr %t403 %t9994 = load ptr, ptr %t410 %t9995 = getelementptr inbounds %LSlice, ptr %t9994, i32 0, i32 1 %t9996 = getelementptr inbounds %LSlice, ptr %t9994, i32 0, i32 2 %t9997 = getelementptr inbounds %LSlice, ptr %t9994, i32 0, i32 0 %t9998 = load i32, ptr %t9995 %t9999 = load i32, ptr %t9996 %t10000 = icmp sge i32 %t9998, %t9999 br i1 %t10000, label %grow2110, label %put2111 grow2110: %t10001 = mul i32 %t9999, 2 %t10002 = icmp eq i32 %t9999, 0 %t10003 = select i1 %t10002, i32 8, i32 %t10001 %t10004 = getelementptr ptr, ptr null, i32 1 %t10005 = ptrtoint ptr %t10004 to i64 %t10006 = zext i32 %t10003 to i64 %t10007 = mul i64 %t10006, %t10005 %t10008 = load ptr, ptr %t9997 %t10009 = call ptr @realloc(ptr %t10008, i64 %t10007) store ptr %t10009, ptr %t9997 store i32 %t10003, ptr %t9996 br label %put2111 put2111: %t10010 = load ptr, ptr %t9997 %t10011 = getelementptr inbounds ptr, ptr %t10010, i32 %t9998 store ptr @.str8440, ptr %t10011 %t10012 = add i32 %t9998, 1 store i32 %t10012, ptr %t9995 %t10013 = load ptr, ptr %t410 %t10014 = getelementptr inbounds %LSlice, ptr %t10013, i32 0, i32 1 %t10015 = getelementptr inbounds %LSlice, ptr %t10013, i32 0, i32 2 %t10016 = getelementptr inbounds %LSlice, ptr %t10013, i32 0, i32 0 %t10017 = load i32, ptr %t10014 %t10018 = load i32, ptr %t10015 %t10019 = icmp sge i32 %t10017, %t10018 br i1 %t10019, label %grow2112, label %put2113 grow2112: %t10020 = mul i32 %t10018, 2 %t10021 = icmp eq i32 %t10018, 0 %t10022 = select i1 %t10021, i32 8, i32 %t10020 %t10023 = getelementptr ptr, ptr null, i32 1 %t10024 = ptrtoint ptr %t10023 to i64 %t10025 = zext i32 %t10022 to i64 %t10026 = mul i64 %t10025, %t10024 %t10027 = load ptr, ptr %t10016 %t10028 = call ptr @realloc(ptr %t10027, i64 %t10026) store ptr %t10028, ptr %t10016 store i32 %t10022, ptr %t10015 br label %put2113 put2113: %t10029 = load ptr, ptr %t10016 %t10030 = getelementptr inbounds ptr, ptr %t10029, i32 %t10017 store ptr @.str8441, ptr %t10030 %t10031 = add i32 %t10017, 1 store i32 %t10031, ptr %t10014 br label %ifend2109 ifend2109: %t10032 = load ptr, ptr %t1 %t10033 = call i32 @lp_str_eq(ptr %t10032, ptr @.str8442) %t10034 = icmp ne i32 %t10033, 0 br i1 %t10034, label %then2114, label %ifend2116 then2114: store ptr @.str8443, ptr %t403 %t10035 = load ptr, ptr %t410 %t10036 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 1 %t10037 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 2 %t10038 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 0 %t10039 = load i32, ptr %t10036 %t10040 = load i32, ptr %t10037 %t10041 = icmp sge i32 %t10039, %t10040 br i1 %t10041, label %grow2117, label %put2118 grow2117: %t10042 = mul i32 %t10040, 2 %t10043 = icmp eq i32 %t10040, 0 %t10044 = select i1 %t10043, i32 8, i32 %t10042 %t10045 = getelementptr ptr, ptr null, i32 1 %t10046 = ptrtoint ptr %t10045 to i64 %t10047 = zext i32 %t10044 to i64 %t10048 = mul i64 %t10047, %t10046 %t10049 = load ptr, ptr %t10038 %t10050 = call ptr @realloc(ptr %t10049, i64 %t10048) store ptr %t10050, ptr %t10038 store i32 %t10044, ptr %t10037 br label %put2118 put2118: %t10051 = load ptr, ptr %t10038 %t10052 = getelementptr inbounds ptr, ptr %t10051, i32 %t10039 store ptr @.str8444, ptr %t10052 %t10053 = add i32 %t10039, 1 store i32 %t10053, ptr %t10036 br label %ifend2116 ifend2116: %t10054 = load ptr, ptr %t1 %t10055 = call i32 @lp_str_eq(ptr %t10054, ptr @.str8445) %t10056 = icmp ne i32 %t10055, 0 br i1 %t10056, label %then2119, label %ifend2121 then2119: store ptr @.str8446, ptr %t403 %t10057 = load ptr, ptr %t410 %t10058 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 1 %t10059 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 2 %t10060 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 0 %t10061 = load i32, ptr %t10058 %t10062 = load i32, ptr %t10059 %t10063 = icmp sge i32 %t10061, %t10062 br i1 %t10063, label %grow2122, label %put2123 grow2122: %t10064 = mul i32 %t10062, 2 %t10065 = icmp eq i32 %t10062, 0 %t10066 = select i1 %t10065, i32 8, i32 %t10064 %t10067 = getelementptr ptr, ptr null, i32 1 %t10068 = ptrtoint ptr %t10067 to i64 %t10069 = zext i32 %t10066 to i64 %t10070 = mul i64 %t10069, %t10068 %t10071 = load ptr, ptr %t10060 %t10072 = call ptr @realloc(ptr %t10071, i64 %t10070) store ptr %t10072, ptr %t10060 store i32 %t10066, ptr %t10059 br label %put2123 put2123: %t10073 = load ptr, ptr %t10060 %t10074 = getelementptr inbounds ptr, ptr %t10073, i32 %t10061 store ptr @.str8447, ptr %t10074 %t10075 = add i32 %t10061, 1 store i32 %t10075, ptr %t10058 br label %ifend2121 ifend2121: %t10076 = load ptr, ptr %t1 %t10077 = call i32 @lp_str_eq(ptr %t10076, ptr @.str8448) %t10078 = icmp ne i32 %t10077, 0 br i1 %t10078, label %then2124, label %ifend2126 then2124: store ptr @.str8449, ptr %t403 %t10079 = load ptr, ptr %t410 %t10080 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 1 %t10081 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 2 %t10082 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 0 %t10083 = load i32, ptr %t10080 %t10084 = load i32, ptr %t10081 %t10085 = icmp sge i32 %t10083, %t10084 br i1 %t10085, label %grow2127, label %put2128 grow2127: %t10086 = mul i32 %t10084, 2 %t10087 = icmp eq i32 %t10084, 0 %t10088 = select i1 %t10087, i32 8, i32 %t10086 %t10089 = getelementptr ptr, ptr null, i32 1 %t10090 = ptrtoint ptr %t10089 to i64 %t10091 = zext i32 %t10088 to i64 %t10092 = mul i64 %t10091, %t10090 %t10093 = load ptr, ptr %t10082 %t10094 = call ptr @realloc(ptr %t10093, i64 %t10092) store ptr %t10094, ptr %t10082 store i32 %t10088, ptr %t10081 br label %put2128 put2128: %t10095 = load ptr, ptr %t10082 %t10096 = getelementptr inbounds ptr, ptr %t10095, i32 %t10083 store ptr @.str8450, ptr %t10096 %t10097 = add i32 %t10083, 1 store i32 %t10097, ptr %t10080 br label %ifend2126 ifend2126: %t10098 = load ptr, ptr %t1 %t10099 = call i32 @lp_str_eq(ptr %t10098, ptr @.str8451) %t10100 = icmp ne i32 %t10099, 0 br i1 %t10100, label %then2129, label %ifend2131 then2129: store ptr @.str8452, ptr %t403 %t10101 = load ptr, ptr %t410 %t10102 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 1 %t10103 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 2 %t10104 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 0 %t10105 = load i32, ptr %t10102 %t10106 = load i32, ptr %t10103 %t10107 = icmp sge i32 %t10105, %t10106 br i1 %t10107, label %grow2132, label %put2133 grow2132: %t10108 = mul i32 %t10106, 2 %t10109 = icmp eq i32 %t10106, 0 %t10110 = select i1 %t10109, i32 8, i32 %t10108 %t10111 = getelementptr ptr, ptr null, i32 1 %t10112 = ptrtoint ptr %t10111 to i64 %t10113 = zext i32 %t10110 to i64 %t10114 = mul i64 %t10113, %t10112 %t10115 = load ptr, ptr %t10104 %t10116 = call ptr @realloc(ptr %t10115, i64 %t10114) store ptr %t10116, ptr %t10104 store i32 %t10110, ptr %t10103 br label %put2133 put2133: %t10117 = load ptr, ptr %t10104 %t10118 = getelementptr inbounds ptr, ptr %t10117, i32 %t10105 store ptr @.str8453, ptr %t10118 %t10119 = add i32 %t10105, 1 store i32 %t10119, ptr %t10102 br label %ifend2131 ifend2131: br label %ifend2075 ifend2075: %t10120 = load ptr, ptr %t0 %t10121 = call i32 @lp_str_eq(ptr %t10120, ptr @.str8454) %t10122 = icmp ne i32 %t10121, 0 br i1 %t10122, label %then2134, label %ifend2136 then2134: %t10123 = load ptr, ptr %t1 %t10124 = call i32 @lp_str_eq(ptr %t10123, ptr @.str8455) %t10125 = icmp ne i32 %t10124, 0 br i1 %t10125, label %then2137, label %ifend2139 then2137: store ptr @.str8456, ptr %t403 %t10126 = load ptr, ptr %t410 %t10127 = getelementptr inbounds %LSlice, ptr %t10126, i32 0, i32 1 %t10128 = getelementptr inbounds %LSlice, ptr %t10126, i32 0, i32 2 %t10129 = getelementptr inbounds %LSlice, ptr %t10126, i32 0, i32 0 %t10130 = load i32, ptr %t10127 %t10131 = load i32, ptr %t10128 %t10132 = icmp sge i32 %t10130, %t10131 br i1 %t10132, label %grow2140, label %put2141 grow2140: %t10133 = mul i32 %t10131, 2 %t10134 = icmp eq i32 %t10131, 0 %t10135 = select i1 %t10134, i32 8, i32 %t10133 %t10136 = getelementptr ptr, ptr null, i32 1 %t10137 = ptrtoint ptr %t10136 to i64 %t10138 = zext i32 %t10135 to i64 %t10139 = mul i64 %t10138, %t10137 %t10140 = load ptr, ptr %t10129 %t10141 = call ptr @realloc(ptr %t10140, i64 %t10139) store ptr %t10141, ptr %t10129 store i32 %t10135, ptr %t10128 br label %put2141 put2141: %t10142 = load ptr, ptr %t10129 %t10143 = getelementptr inbounds ptr, ptr %t10142, i32 %t10130 store ptr @.str8457, ptr %t10143 %t10144 = add i32 %t10130, 1 store i32 %t10144, ptr %t10127 br label %ifend2139 ifend2139: %t10145 = load ptr, ptr %t1 %t10146 = call i32 @lp_str_eq(ptr %t10145, ptr @.str8458) %t10147 = icmp ne i32 %t10146, 0 br i1 %t10147, label %then2142, label %ifend2144 then2142: store ptr @.str8459, ptr %t403 %t10148 = load ptr, ptr %t410 %t10149 = getelementptr inbounds %LSlice, ptr %t10148, i32 0, i32 1 %t10150 = getelementptr inbounds %LSlice, ptr %t10148, i32 0, i32 2 %t10151 = getelementptr inbounds %LSlice, ptr %t10148, i32 0, i32 0 %t10152 = load i32, ptr %t10149 %t10153 = load i32, ptr %t10150 %t10154 = icmp sge i32 %t10152, %t10153 br i1 %t10154, label %grow2145, label %put2146 grow2145: %t10155 = mul i32 %t10153, 2 %t10156 = icmp eq i32 %t10153, 0 %t10157 = select i1 %t10156, i32 8, i32 %t10155 %t10158 = getelementptr ptr, ptr null, i32 1 %t10159 = ptrtoint ptr %t10158 to i64 %t10160 = zext i32 %t10157 to i64 %t10161 = mul i64 %t10160, %t10159 %t10162 = load ptr, ptr %t10151 %t10163 = call ptr @realloc(ptr %t10162, i64 %t10161) store ptr %t10163, ptr %t10151 store i32 %t10157, ptr %t10150 br label %put2146 put2146: %t10164 = load ptr, ptr %t10151 %t10165 = getelementptr inbounds ptr, ptr %t10164, i32 %t10152 store ptr @.str8460, ptr %t10165 %t10166 = add i32 %t10152, 1 store i32 %t10166, ptr %t10149 br label %ifend2144 ifend2144: %t10167 = load ptr, ptr %t1 %t10168 = call i32 @lp_str_eq(ptr %t10167, ptr @.str8461) %t10169 = icmp ne i32 %t10168, 0 br i1 %t10169, label %then2147, label %ifend2149 then2147: store ptr @.str8462, ptr %t403 %t10170 = load ptr, ptr %t410 %t10171 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 1 %t10172 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 2 %t10173 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 0 %t10174 = load i32, ptr %t10171 %t10175 = load i32, ptr %t10172 %t10176 = icmp sge i32 %t10174, %t10175 br i1 %t10176, label %grow2150, label %put2151 grow2150: %t10177 = mul i32 %t10175, 2 %t10178 = icmp eq i32 %t10175, 0 %t10179 = select i1 %t10178, i32 8, i32 %t10177 %t10180 = getelementptr ptr, ptr null, i32 1 %t10181 = ptrtoint ptr %t10180 to i64 %t10182 = zext i32 %t10179 to i64 %t10183 = mul i64 %t10182, %t10181 %t10184 = load ptr, ptr %t10173 %t10185 = call ptr @realloc(ptr %t10184, i64 %t10183) store ptr %t10185, ptr %t10173 store i32 %t10179, ptr %t10172 br label %put2151 put2151: %t10186 = load ptr, ptr %t10173 %t10187 = getelementptr inbounds ptr, ptr %t10186, i32 %t10174 store ptr @.str8463, ptr %t10187 %t10188 = add i32 %t10174, 1 store i32 %t10188, ptr %t10171 br label %ifend2149 ifend2149: %t10189 = load ptr, ptr %t1 %t10190 = call i32 @lp_str_eq(ptr %t10189, ptr @.str8464) %t10191 = icmp ne i32 %t10190, 0 br i1 %t10191, label %then2152, label %ifend2154 then2152: store ptr @.str8465, ptr %t403 %t10192 = load ptr, ptr %t410 %t10193 = getelementptr inbounds %LSlice, ptr %t10192, i32 0, i32 1 %t10194 = getelementptr inbounds %LSlice, ptr %t10192, i32 0, i32 2 %t10195 = getelementptr inbounds %LSlice, ptr %t10192, i32 0, i32 0 %t10196 = load i32, ptr %t10193 %t10197 = load i32, ptr %t10194 %t10198 = icmp sge i32 %t10196, %t10197 br i1 %t10198, label %grow2155, label %put2156 grow2155: %t10199 = mul i32 %t10197, 2 %t10200 = icmp eq i32 %t10197, 0 %t10201 = select i1 %t10200, i32 8, i32 %t10199 %t10202 = getelementptr ptr, ptr null, i32 1 %t10203 = ptrtoint ptr %t10202 to i64 %t10204 = zext i32 %t10201 to i64 %t10205 = mul i64 %t10204, %t10203 %t10206 = load ptr, ptr %t10195 %t10207 = call ptr @realloc(ptr %t10206, i64 %t10205) store ptr %t10207, ptr %t10195 store i32 %t10201, ptr %t10194 br label %put2156 put2156: %t10208 = load ptr, ptr %t10195 %t10209 = getelementptr inbounds ptr, ptr %t10208, i32 %t10196 store ptr @.str8466, ptr %t10209 %t10210 = add i32 %t10196, 1 store i32 %t10210, ptr %t10193 br label %ifend2154 ifend2154: %t10211 = load ptr, ptr %t1 %t10212 = call i32 @lp_str_eq(ptr %t10211, ptr @.str8467) %t10213 = icmp ne i32 %t10212, 0 br i1 %t10213, label %then2157, label %ifend2159 then2157: store ptr @.str8468, ptr %t403 %t10214 = load ptr, ptr %t410 %t10215 = getelementptr inbounds %LSlice, ptr %t10214, i32 0, i32 1 %t10216 = getelementptr inbounds %LSlice, ptr %t10214, i32 0, i32 2 %t10217 = getelementptr inbounds %LSlice, ptr %t10214, i32 0, i32 0 %t10218 = load i32, ptr %t10215 %t10219 = load i32, ptr %t10216 %t10220 = icmp sge i32 %t10218, %t10219 br i1 %t10220, label %grow2160, label %put2161 grow2160: %t10221 = mul i32 %t10219, 2 %t10222 = icmp eq i32 %t10219, 0 %t10223 = select i1 %t10222, i32 8, i32 %t10221 %t10224 = getelementptr ptr, ptr null, i32 1 %t10225 = ptrtoint ptr %t10224 to i64 %t10226 = zext i32 %t10223 to i64 %t10227 = mul i64 %t10226, %t10225 %t10228 = load ptr, ptr %t10217 %t10229 = call ptr @realloc(ptr %t10228, i64 %t10227) store ptr %t10229, ptr %t10217 store i32 %t10223, ptr %t10216 br label %put2161 put2161: %t10230 = load ptr, ptr %t10217 %t10231 = getelementptr inbounds ptr, ptr %t10230, i32 %t10218 store ptr @.str8469, ptr %t10231 %t10232 = add i32 %t10218, 1 store i32 %t10232, ptr %t10215 br label %ifend2159 ifend2159: %t10233 = load ptr, ptr %t1 %t10234 = call i32 @lp_str_eq(ptr %t10233, ptr @.str8470) %t10235 = icmp ne i32 %t10234, 0 br i1 %t10235, label %then2162, label %ifend2164 then2162: store ptr @.str8471, ptr %t403 %t10236 = load ptr, ptr %t410 %t10237 = getelementptr inbounds %LSlice, ptr %t10236, i32 0, i32 1 %t10238 = getelementptr inbounds %LSlice, ptr %t10236, i32 0, i32 2 %t10239 = getelementptr inbounds %LSlice, ptr %t10236, i32 0, i32 0 %t10240 = load i32, ptr %t10237 %t10241 = load i32, ptr %t10238 %t10242 = icmp sge i32 %t10240, %t10241 br i1 %t10242, label %grow2165, label %put2166 grow2165: %t10243 = mul i32 %t10241, 2 %t10244 = icmp eq i32 %t10241, 0 %t10245 = select i1 %t10244, i32 8, i32 %t10243 %t10246 = getelementptr ptr, ptr null, i32 1 %t10247 = ptrtoint ptr %t10246 to i64 %t10248 = zext i32 %t10245 to i64 %t10249 = mul i64 %t10248, %t10247 %t10250 = load ptr, ptr %t10239 %t10251 = call ptr @realloc(ptr %t10250, i64 %t10249) store ptr %t10251, ptr %t10239 store i32 %t10245, ptr %t10238 br label %put2166 put2166: %t10252 = load ptr, ptr %t10239 %t10253 = getelementptr inbounds ptr, ptr %t10252, i32 %t10240 store ptr @.str8472, ptr %t10253 %t10254 = add i32 %t10240, 1 store i32 %t10254, ptr %t10237 %t10255 = load ptr, ptr %t410 %t10256 = getelementptr inbounds %LSlice, ptr %t10255, i32 0, i32 1 %t10257 = getelementptr inbounds %LSlice, ptr %t10255, i32 0, i32 2 %t10258 = getelementptr inbounds %LSlice, ptr %t10255, i32 0, i32 0 %t10259 = load i32, ptr %t10256 %t10260 = load i32, ptr %t10257 %t10261 = icmp sge i32 %t10259, %t10260 br i1 %t10261, label %grow2167, label %put2168 grow2167: %t10262 = mul i32 %t10260, 2 %t10263 = icmp eq i32 %t10260, 0 %t10264 = select i1 %t10263, i32 8, i32 %t10262 %t10265 = getelementptr ptr, ptr null, i32 1 %t10266 = ptrtoint ptr %t10265 to i64 %t10267 = zext i32 %t10264 to i64 %t10268 = mul i64 %t10267, %t10266 %t10269 = load ptr, ptr %t10258 %t10270 = call ptr @realloc(ptr %t10269, i64 %t10268) store ptr %t10270, ptr %t10258 store i32 %t10264, ptr %t10257 br label %put2168 put2168: %t10271 = load ptr, ptr %t10258 %t10272 = getelementptr inbounds ptr, ptr %t10271, i32 %t10259 store ptr @.str8473, ptr %t10272 %t10273 = add i32 %t10259, 1 store i32 %t10273, ptr %t10256 br label %ifend2164 ifend2164: %t10274 = load ptr, ptr %t1 %t10275 = call i32 @lp_str_eq(ptr %t10274, ptr @.str8474) %t10276 = icmp ne i32 %t10275, 0 br i1 %t10276, label %then2169, label %ifend2171 then2169: store ptr @.str8475, ptr %t403 %t10277 = load ptr, ptr %t410 %t10278 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 1 %t10279 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 2 %t10280 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 0 %t10281 = load i32, ptr %t10278 %t10282 = load i32, ptr %t10279 %t10283 = icmp sge i32 %t10281, %t10282 br i1 %t10283, label %grow2172, label %put2173 grow2172: %t10284 = mul i32 %t10282, 2 %t10285 = icmp eq i32 %t10282, 0 %t10286 = select i1 %t10285, i32 8, i32 %t10284 %t10287 = getelementptr ptr, ptr null, i32 1 %t10288 = ptrtoint ptr %t10287 to i64 %t10289 = zext i32 %t10286 to i64 %t10290 = mul i64 %t10289, %t10288 %t10291 = load ptr, ptr %t10280 %t10292 = call ptr @realloc(ptr %t10291, i64 %t10290) store ptr %t10292, ptr %t10280 store i32 %t10286, ptr %t10279 br label %put2173 put2173: %t10293 = load ptr, ptr %t10280 %t10294 = getelementptr inbounds ptr, ptr %t10293, i32 %t10281 store ptr @.str8476, ptr %t10294 %t10295 = add i32 %t10281, 1 store i32 %t10295, ptr %t10278 %t10296 = load ptr, ptr %t410 %t10297 = getelementptr inbounds %LSlice, ptr %t10296, i32 0, i32 1 %t10298 = getelementptr inbounds %LSlice, ptr %t10296, i32 0, i32 2 %t10299 = getelementptr inbounds %LSlice, ptr %t10296, i32 0, i32 0 %t10300 = load i32, ptr %t10297 %t10301 = load i32, ptr %t10298 %t10302 = icmp sge i32 %t10300, %t10301 br i1 %t10302, label %grow2174, label %put2175 grow2174: %t10303 = mul i32 %t10301, 2 %t10304 = icmp eq i32 %t10301, 0 %t10305 = select i1 %t10304, i32 8, i32 %t10303 %t10306 = getelementptr ptr, ptr null, i32 1 %t10307 = ptrtoint ptr %t10306 to i64 %t10308 = zext i32 %t10305 to i64 %t10309 = mul i64 %t10308, %t10307 %t10310 = load ptr, ptr %t10299 %t10311 = call ptr @realloc(ptr %t10310, i64 %t10309) store ptr %t10311, ptr %t10299 store i32 %t10305, ptr %t10298 br label %put2175 put2175: %t10312 = load ptr, ptr %t10299 %t10313 = getelementptr inbounds ptr, ptr %t10312, i32 %t10300 store ptr @.str8477, ptr %t10313 %t10314 = add i32 %t10300, 1 store i32 %t10314, ptr %t10297 br label %ifend2171 ifend2171: %t10315 = load ptr, ptr %t1 %t10316 = call i32 @lp_str_eq(ptr %t10315, ptr @.str8478) %t10317 = icmp ne i32 %t10316, 0 br i1 %t10317, label %then2176, label %ifend2178 then2176: store ptr @.str8479, ptr %t403 %t10318 = load ptr, ptr %t410 %t10319 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 1 %t10320 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 2 %t10321 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 0 %t10322 = load i32, ptr %t10319 %t10323 = load i32, ptr %t10320 %t10324 = icmp sge i32 %t10322, %t10323 br i1 %t10324, label %grow2179, label %put2180 grow2179: %t10325 = mul i32 %t10323, 2 %t10326 = icmp eq i32 %t10323, 0 %t10327 = select i1 %t10326, i32 8, i32 %t10325 %t10328 = getelementptr ptr, ptr null, i32 1 %t10329 = ptrtoint ptr %t10328 to i64 %t10330 = zext i32 %t10327 to i64 %t10331 = mul i64 %t10330, %t10329 %t10332 = load ptr, ptr %t10321 %t10333 = call ptr @realloc(ptr %t10332, i64 %t10331) store ptr %t10333, ptr %t10321 store i32 %t10327, ptr %t10320 br label %put2180 put2180: %t10334 = load ptr, ptr %t10321 %t10335 = getelementptr inbounds ptr, ptr %t10334, i32 %t10322 store ptr @.str8480, ptr %t10335 %t10336 = add i32 %t10322, 1 store i32 %t10336, ptr %t10319 %t10337 = load ptr, ptr %t410 %t10338 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 1 %t10339 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 2 %t10340 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 0 %t10341 = load i32, ptr %t10338 %t10342 = load i32, ptr %t10339 %t10343 = icmp sge i32 %t10341, %t10342 br i1 %t10343, label %grow2181, label %put2182 grow2181: %t10344 = mul i32 %t10342, 2 %t10345 = icmp eq i32 %t10342, 0 %t10346 = select i1 %t10345, i32 8, i32 %t10344 %t10347 = getelementptr ptr, ptr null, i32 1 %t10348 = ptrtoint ptr %t10347 to i64 %t10349 = zext i32 %t10346 to i64 %t10350 = mul i64 %t10349, %t10348 %t10351 = load ptr, ptr %t10340 %t10352 = call ptr @realloc(ptr %t10351, i64 %t10350) store ptr %t10352, ptr %t10340 store i32 %t10346, ptr %t10339 br label %put2182 put2182: %t10353 = load ptr, ptr %t10340 %t10354 = getelementptr inbounds ptr, ptr %t10353, i32 %t10341 store ptr @.str8481, ptr %t10354 %t10355 = add i32 %t10341, 1 store i32 %t10355, ptr %t10338 br label %ifend2178 ifend2178: %t10356 = load ptr, ptr %t1 %t10357 = call i32 @lp_str_eq(ptr %t10356, ptr @.str8482) %t10358 = icmp ne i32 %t10357, 0 br i1 %t10358, label %then2183, label %ifend2185 then2183: store ptr @.str8483, ptr %t403 %t10359 = load ptr, ptr %t410 %t10360 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 1 %t10361 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 2 %t10362 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 0 %t10363 = load i32, ptr %t10360 %t10364 = load i32, ptr %t10361 %t10365 = icmp sge i32 %t10363, %t10364 br i1 %t10365, label %grow2186, label %put2187 grow2186: %t10366 = mul i32 %t10364, 2 %t10367 = icmp eq i32 %t10364, 0 %t10368 = select i1 %t10367, i32 8, i32 %t10366 %t10369 = getelementptr ptr, ptr null, i32 1 %t10370 = ptrtoint ptr %t10369 to i64 %t10371 = zext i32 %t10368 to i64 %t10372 = mul i64 %t10371, %t10370 %t10373 = load ptr, ptr %t10362 %t10374 = call ptr @realloc(ptr %t10373, i64 %t10372) store ptr %t10374, ptr %t10362 store i32 %t10368, ptr %t10361 br label %put2187 put2187: %t10375 = load ptr, ptr %t10362 %t10376 = getelementptr inbounds ptr, ptr %t10375, i32 %t10363 store ptr @.str8484, ptr %t10376 %t10377 = add i32 %t10363, 1 store i32 %t10377, ptr %t10360 %t10378 = load ptr, ptr %t410 %t10379 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 1 %t10380 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 2 %t10381 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 0 %t10382 = load i32, ptr %t10379 %t10383 = load i32, ptr %t10380 %t10384 = icmp sge i32 %t10382, %t10383 br i1 %t10384, label %grow2188, label %put2189 grow2188: %t10385 = mul i32 %t10383, 2 %t10386 = icmp eq i32 %t10383, 0 %t10387 = select i1 %t10386, i32 8, i32 %t10385 %t10388 = getelementptr ptr, ptr null, i32 1 %t10389 = ptrtoint ptr %t10388 to i64 %t10390 = zext i32 %t10387 to i64 %t10391 = mul i64 %t10390, %t10389 %t10392 = load ptr, ptr %t10381 %t10393 = call ptr @realloc(ptr %t10392, i64 %t10391) store ptr %t10393, ptr %t10381 store i32 %t10387, ptr %t10380 br label %put2189 put2189: %t10394 = load ptr, ptr %t10381 %t10395 = getelementptr inbounds ptr, ptr %t10394, i32 %t10382 store ptr @.str8485, ptr %t10395 %t10396 = add i32 %t10382, 1 store i32 %t10396, ptr %t10379 %t10397 = load ptr, ptr %t410 %t10398 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 1 %t10399 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 2 %t10400 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 0 %t10401 = load i32, ptr %t10398 %t10402 = load i32, ptr %t10399 %t10403 = icmp sge i32 %t10401, %t10402 br i1 %t10403, label %grow2190, label %put2191 grow2190: %t10404 = mul i32 %t10402, 2 %t10405 = icmp eq i32 %t10402, 0 %t10406 = select i1 %t10405, i32 8, i32 %t10404 %t10407 = getelementptr ptr, ptr null, i32 1 %t10408 = ptrtoint ptr %t10407 to i64 %t10409 = zext i32 %t10406 to i64 %t10410 = mul i64 %t10409, %t10408 %t10411 = load ptr, ptr %t10400 %t10412 = call ptr @realloc(ptr %t10411, i64 %t10410) store ptr %t10412, ptr %t10400 store i32 %t10406, ptr %t10399 br label %put2191 put2191: %t10413 = load ptr, ptr %t10400 %t10414 = getelementptr inbounds ptr, ptr %t10413, i32 %t10401 store ptr @.str8486, ptr %t10414 %t10415 = add i32 %t10401, 1 store i32 %t10415, ptr %t10398 br label %ifend2185 ifend2185: br label %ifend2136 ifend2136: %t10416 = load ptr, ptr %t0 %t10417 = call i32 @lp_str_eq(ptr %t10416, ptr @.str8487) %t10418 = icmp ne i32 %t10417, 0 br i1 %t10418, label %then2192, label %ifend2194 then2192: %t10419 = load ptr, ptr %t1 %t10420 = call i32 @lp_str_eq(ptr %t10419, ptr @.str8488) %t10421 = icmp ne i32 %t10420, 0 br i1 %t10421, label %then2195, label %ifend2197 then2195: store ptr @.str8489, ptr %t403 %t10422 = load ptr, ptr %t410 %t10423 = getelementptr inbounds %LSlice, ptr %t10422, i32 0, i32 1 %t10424 = getelementptr inbounds %LSlice, ptr %t10422, i32 0, i32 2 %t10425 = getelementptr inbounds %LSlice, ptr %t10422, i32 0, i32 0 %t10426 = load i32, ptr %t10423 %t10427 = load i32, ptr %t10424 %t10428 = icmp sge i32 %t10426, %t10427 br i1 %t10428, label %grow2198, label %put2199 grow2198: %t10429 = mul i32 %t10427, 2 %t10430 = icmp eq i32 %t10427, 0 %t10431 = select i1 %t10430, i32 8, i32 %t10429 %t10432 = getelementptr ptr, ptr null, i32 1 %t10433 = ptrtoint ptr %t10432 to i64 %t10434 = zext i32 %t10431 to i64 %t10435 = mul i64 %t10434, %t10433 %t10436 = load ptr, ptr %t10425 %t10437 = call ptr @realloc(ptr %t10436, i64 %t10435) store ptr %t10437, ptr %t10425 store i32 %t10431, ptr %t10424 br label %put2199 put2199: %t10438 = load ptr, ptr %t10425 %t10439 = getelementptr inbounds ptr, ptr %t10438, i32 %t10426 store ptr @.str8490, ptr %t10439 %t10440 = add i32 %t10426, 1 store i32 %t10440, ptr %t10423 br label %ifend2197 ifend2197: %t10441 = load ptr, ptr %t1 %t10442 = call i32 @lp_str_eq(ptr %t10441, ptr @.str8491) %t10443 = icmp ne i32 %t10442, 0 br i1 %t10443, label %then2200, label %ifend2202 then2200: store ptr @.str8492, ptr %t403 %t10444 = load ptr, ptr %t410 %t10445 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 1 %t10446 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 2 %t10447 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 0 %t10448 = load i32, ptr %t10445 %t10449 = load i32, ptr %t10446 %t10450 = icmp sge i32 %t10448, %t10449 br i1 %t10450, label %grow2203, label %put2204 grow2203: %t10451 = mul i32 %t10449, 2 %t10452 = icmp eq i32 %t10449, 0 %t10453 = select i1 %t10452, i32 8, i32 %t10451 %t10454 = getelementptr ptr, ptr null, i32 1 %t10455 = ptrtoint ptr %t10454 to i64 %t10456 = zext i32 %t10453 to i64 %t10457 = mul i64 %t10456, %t10455 %t10458 = load ptr, ptr %t10447 %t10459 = call ptr @realloc(ptr %t10458, i64 %t10457) store ptr %t10459, ptr %t10447 store i32 %t10453, ptr %t10446 br label %put2204 put2204: %t10460 = load ptr, ptr %t10447 %t10461 = getelementptr inbounds ptr, ptr %t10460, i32 %t10448 store ptr @.str8493, ptr %t10461 %t10462 = add i32 %t10448, 1 store i32 %t10462, ptr %t10445 %t10463 = load ptr, ptr %t410 %t10464 = getelementptr inbounds %LSlice, ptr %t10463, i32 0, i32 1 %t10465 = getelementptr inbounds %LSlice, ptr %t10463, i32 0, i32 2 %t10466 = getelementptr inbounds %LSlice, ptr %t10463, i32 0, i32 0 %t10467 = load i32, ptr %t10464 %t10468 = load i32, ptr %t10465 %t10469 = icmp sge i32 %t10467, %t10468 br i1 %t10469, label %grow2205, label %put2206 grow2205: %t10470 = mul i32 %t10468, 2 %t10471 = icmp eq i32 %t10468, 0 %t10472 = select i1 %t10471, i32 8, i32 %t10470 %t10473 = getelementptr ptr, ptr null, i32 1 %t10474 = ptrtoint ptr %t10473 to i64 %t10475 = zext i32 %t10472 to i64 %t10476 = mul i64 %t10475, %t10474 %t10477 = load ptr, ptr %t10466 %t10478 = call ptr @realloc(ptr %t10477, i64 %t10476) store ptr %t10478, ptr %t10466 store i32 %t10472, ptr %t10465 br label %put2206 put2206: %t10479 = load ptr, ptr %t10466 %t10480 = getelementptr inbounds ptr, ptr %t10479, i32 %t10467 store ptr @.str8494, ptr %t10480 %t10481 = add i32 %t10467, 1 store i32 %t10481, ptr %t10464 br label %ifend2202 ifend2202: %t10482 = load ptr, ptr %t1 %t10483 = call i32 @lp_str_eq(ptr %t10482, ptr @.str8495) %t10484 = icmp ne i32 %t10483, 0 br i1 %t10484, label %then2207, label %ifend2209 then2207: store ptr @.str8496, ptr %t403 %t10485 = load ptr, ptr %t410 %t10486 = getelementptr inbounds %LSlice, ptr %t10485, i32 0, i32 1 %t10487 = getelementptr inbounds %LSlice, ptr %t10485, i32 0, i32 2 %t10488 = getelementptr inbounds %LSlice, ptr %t10485, i32 0, i32 0 %t10489 = load i32, ptr %t10486 %t10490 = load i32, ptr %t10487 %t10491 = icmp sge i32 %t10489, %t10490 br i1 %t10491, label %grow2210, label %put2211 grow2210: %t10492 = mul i32 %t10490, 2 %t10493 = icmp eq i32 %t10490, 0 %t10494 = select i1 %t10493, i32 8, i32 %t10492 %t10495 = getelementptr ptr, ptr null, i32 1 %t10496 = ptrtoint ptr %t10495 to i64 %t10497 = zext i32 %t10494 to i64 %t10498 = mul i64 %t10497, %t10496 %t10499 = load ptr, ptr %t10488 %t10500 = call ptr @realloc(ptr %t10499, i64 %t10498) store ptr %t10500, ptr %t10488 store i32 %t10494, ptr %t10487 br label %put2211 put2211: %t10501 = load ptr, ptr %t10488 %t10502 = getelementptr inbounds ptr, ptr %t10501, i32 %t10489 store ptr @.str8497, ptr %t10502 %t10503 = add i32 %t10489, 1 store i32 %t10503, ptr %t10486 %t10504 = load ptr, ptr %t410 %t10505 = getelementptr inbounds %LSlice, ptr %t10504, i32 0, i32 1 %t10506 = getelementptr inbounds %LSlice, ptr %t10504, i32 0, i32 2 %t10507 = getelementptr inbounds %LSlice, ptr %t10504, i32 0, i32 0 %t10508 = load i32, ptr %t10505 %t10509 = load i32, ptr %t10506 %t10510 = icmp sge i32 %t10508, %t10509 br i1 %t10510, label %grow2212, label %put2213 grow2212: %t10511 = mul i32 %t10509, 2 %t10512 = icmp eq i32 %t10509, 0 %t10513 = select i1 %t10512, i32 8, i32 %t10511 %t10514 = getelementptr ptr, ptr null, i32 1 %t10515 = ptrtoint ptr %t10514 to i64 %t10516 = zext i32 %t10513 to i64 %t10517 = mul i64 %t10516, %t10515 %t10518 = load ptr, ptr %t10507 %t10519 = call ptr @realloc(ptr %t10518, i64 %t10517) store ptr %t10519, ptr %t10507 store i32 %t10513, ptr %t10506 br label %put2213 put2213: %t10520 = load ptr, ptr %t10507 %t10521 = getelementptr inbounds ptr, ptr %t10520, i32 %t10508 store ptr @.str8498, ptr %t10521 %t10522 = add i32 %t10508, 1 store i32 %t10522, ptr %t10505 %t10523 = load ptr, ptr %t410 %t10524 = getelementptr inbounds %LSlice, ptr %t10523, i32 0, i32 1 %t10525 = getelementptr inbounds %LSlice, ptr %t10523, i32 0, i32 2 %t10526 = getelementptr inbounds %LSlice, ptr %t10523, i32 0, i32 0 %t10527 = load i32, ptr %t10524 %t10528 = load i32, ptr %t10525 %t10529 = icmp sge i32 %t10527, %t10528 br i1 %t10529, label %grow2214, label %put2215 grow2214: %t10530 = mul i32 %t10528, 2 %t10531 = icmp eq i32 %t10528, 0 %t10532 = select i1 %t10531, i32 8, i32 %t10530 %t10533 = getelementptr ptr, ptr null, i32 1 %t10534 = ptrtoint ptr %t10533 to i64 %t10535 = zext i32 %t10532 to i64 %t10536 = mul i64 %t10535, %t10534 %t10537 = load ptr, ptr %t10526 %t10538 = call ptr @realloc(ptr %t10537, i64 %t10536) store ptr %t10538, ptr %t10526 store i32 %t10532, ptr %t10525 br label %put2215 put2215: %t10539 = load ptr, ptr %t10526 %t10540 = getelementptr inbounds ptr, ptr %t10539, i32 %t10527 store ptr @.str8499, ptr %t10540 %t10541 = add i32 %t10527, 1 store i32 %t10541, ptr %t10524 br label %ifend2209 ifend2209: %t10542 = load ptr, ptr %t1 %t10543 = call i32 @lp_str_eq(ptr %t10542, ptr @.str8500) %t10544 = icmp ne i32 %t10543, 0 br i1 %t10544, label %then2216, label %ifend2218 then2216: store ptr @.str8501, ptr %t403 %t10545 = load ptr, ptr %t410 %t10546 = getelementptr inbounds %LSlice, ptr %t10545, i32 0, i32 1 %t10547 = getelementptr inbounds %LSlice, ptr %t10545, i32 0, i32 2 %t10548 = getelementptr inbounds %LSlice, ptr %t10545, i32 0, i32 0 %t10549 = load i32, ptr %t10546 %t10550 = load i32, ptr %t10547 %t10551 = icmp sge i32 %t10549, %t10550 br i1 %t10551, label %grow2219, label %put2220 grow2219: %t10552 = mul i32 %t10550, 2 %t10553 = icmp eq i32 %t10550, 0 %t10554 = select i1 %t10553, i32 8, i32 %t10552 %t10555 = getelementptr ptr, ptr null, i32 1 %t10556 = ptrtoint ptr %t10555 to i64 %t10557 = zext i32 %t10554 to i64 %t10558 = mul i64 %t10557, %t10556 %t10559 = load ptr, ptr %t10548 %t10560 = call ptr @realloc(ptr %t10559, i64 %t10558) store ptr %t10560, ptr %t10548 store i32 %t10554, ptr %t10547 br label %put2220 put2220: %t10561 = load ptr, ptr %t10548 %t10562 = getelementptr inbounds ptr, ptr %t10561, i32 %t10549 store ptr @.str8502, ptr %t10562 %t10563 = add i32 %t10549, 1 store i32 %t10563, ptr %t10546 %t10564 = load ptr, ptr %t410 %t10565 = getelementptr inbounds %LSlice, ptr %t10564, i32 0, i32 1 %t10566 = getelementptr inbounds %LSlice, ptr %t10564, i32 0, i32 2 %t10567 = getelementptr inbounds %LSlice, ptr %t10564, i32 0, i32 0 %t10568 = load i32, ptr %t10565 %t10569 = load i32, ptr %t10566 %t10570 = icmp sge i32 %t10568, %t10569 br i1 %t10570, label %grow2221, label %put2222 grow2221: %t10571 = mul i32 %t10569, 2 %t10572 = icmp eq i32 %t10569, 0 %t10573 = select i1 %t10572, i32 8, i32 %t10571 %t10574 = getelementptr ptr, ptr null, i32 1 %t10575 = ptrtoint ptr %t10574 to i64 %t10576 = zext i32 %t10573 to i64 %t10577 = mul i64 %t10576, %t10575 %t10578 = load ptr, ptr %t10567 %t10579 = call ptr @realloc(ptr %t10578, i64 %t10577) store ptr %t10579, ptr %t10567 store i32 %t10573, ptr %t10566 br label %put2222 put2222: %t10580 = load ptr, ptr %t10567 %t10581 = getelementptr inbounds ptr, ptr %t10580, i32 %t10568 store ptr @.str8503, ptr %t10581 %t10582 = add i32 %t10568, 1 store i32 %t10582, ptr %t10565 br label %ifend2218 ifend2218: br label %ifend2194 ifend2194: %t10583 = load ptr, ptr %t0 %t10584 = call i32 @lp_str_eq(ptr %t10583, ptr @.str8504) %t10585 = icmp ne i32 %t10584, 0 br i1 %t10585, label %then2223, label %ifend2225 then2223: %t10586 = load ptr, ptr %t1 %t10587 = call i32 @lp_str_eq(ptr %t10586, ptr @.str8505) %t10588 = icmp ne i32 %t10587, 0 br i1 %t10588, label %then2226, label %ifend2228 then2226: store ptr @.str8506, ptr %t403 %t10589 = load ptr, ptr %t410 %t10590 = getelementptr inbounds %LSlice, ptr %t10589, i32 0, i32 1 %t10591 = getelementptr inbounds %LSlice, ptr %t10589, i32 0, i32 2 %t10592 = getelementptr inbounds %LSlice, ptr %t10589, i32 0, i32 0 %t10593 = load i32, ptr %t10590 %t10594 = load i32, ptr %t10591 %t10595 = icmp sge i32 %t10593, %t10594 br i1 %t10595, label %grow2229, label %put2230 grow2229: %t10596 = mul i32 %t10594, 2 %t10597 = icmp eq i32 %t10594, 0 %t10598 = select i1 %t10597, i32 8, i32 %t10596 %t10599 = getelementptr ptr, ptr null, i32 1 %t10600 = ptrtoint ptr %t10599 to i64 %t10601 = zext i32 %t10598 to i64 %t10602 = mul i64 %t10601, %t10600 %t10603 = load ptr, ptr %t10592 %t10604 = call ptr @realloc(ptr %t10603, i64 %t10602) store ptr %t10604, ptr %t10592 store i32 %t10598, ptr %t10591 br label %put2230 put2230: %t10605 = load ptr, ptr %t10592 %t10606 = getelementptr inbounds ptr, ptr %t10605, i32 %t10593 store ptr @.str8507, ptr %t10606 %t10607 = add i32 %t10593, 1 store i32 %t10607, ptr %t10590 %t10608 = load ptr, ptr %t410 %t10609 = getelementptr inbounds %LSlice, ptr %t10608, i32 0, i32 1 %t10610 = getelementptr inbounds %LSlice, ptr %t10608, i32 0, i32 2 %t10611 = getelementptr inbounds %LSlice, ptr %t10608, i32 0, i32 0 %t10612 = load i32, ptr %t10609 %t10613 = load i32, ptr %t10610 %t10614 = icmp sge i32 %t10612, %t10613 br i1 %t10614, label %grow2231, label %put2232 grow2231: %t10615 = mul i32 %t10613, 2 %t10616 = icmp eq i32 %t10613, 0 %t10617 = select i1 %t10616, i32 8, i32 %t10615 %t10618 = getelementptr ptr, ptr null, i32 1 %t10619 = ptrtoint ptr %t10618 to i64 %t10620 = zext i32 %t10617 to i64 %t10621 = mul i64 %t10620, %t10619 %t10622 = load ptr, ptr %t10611 %t10623 = call ptr @realloc(ptr %t10622, i64 %t10621) store ptr %t10623, ptr %t10611 store i32 %t10617, ptr %t10610 br label %put2232 put2232: %t10624 = load ptr, ptr %t10611 %t10625 = getelementptr inbounds ptr, ptr %t10624, i32 %t10612 store ptr @.str8508, ptr %t10625 %t10626 = add i32 %t10612, 1 store i32 %t10626, ptr %t10609 %t10627 = load ptr, ptr %t410 %t10628 = getelementptr inbounds %LSlice, ptr %t10627, i32 0, i32 1 %t10629 = getelementptr inbounds %LSlice, ptr %t10627, i32 0, i32 2 %t10630 = getelementptr inbounds %LSlice, ptr %t10627, i32 0, i32 0 %t10631 = load i32, ptr %t10628 %t10632 = load i32, ptr %t10629 %t10633 = icmp sge i32 %t10631, %t10632 br i1 %t10633, label %grow2233, label %put2234 grow2233: %t10634 = mul i32 %t10632, 2 %t10635 = icmp eq i32 %t10632, 0 %t10636 = select i1 %t10635, i32 8, i32 %t10634 %t10637 = getelementptr ptr, ptr null, i32 1 %t10638 = ptrtoint ptr %t10637 to i64 %t10639 = zext i32 %t10636 to i64 %t10640 = mul i64 %t10639, %t10638 %t10641 = load ptr, ptr %t10630 %t10642 = call ptr @realloc(ptr %t10641, i64 %t10640) store ptr %t10642, ptr %t10630 store i32 %t10636, ptr %t10629 br label %put2234 put2234: %t10643 = load ptr, ptr %t10630 %t10644 = getelementptr inbounds ptr, ptr %t10643, i32 %t10631 store ptr @.str8509, ptr %t10644 %t10645 = add i32 %t10631, 1 store i32 %t10645, ptr %t10628 %t10646 = load ptr, ptr %t410 %t10647 = getelementptr inbounds %LSlice, ptr %t10646, i32 0, i32 1 %t10648 = getelementptr inbounds %LSlice, ptr %t10646, i32 0, i32 2 %t10649 = getelementptr inbounds %LSlice, ptr %t10646, i32 0, i32 0 %t10650 = load i32, ptr %t10647 %t10651 = load i32, ptr %t10648 %t10652 = icmp sge i32 %t10650, %t10651 br i1 %t10652, label %grow2235, label %put2236 grow2235: %t10653 = mul i32 %t10651, 2 %t10654 = icmp eq i32 %t10651, 0 %t10655 = select i1 %t10654, i32 8, i32 %t10653 %t10656 = getelementptr ptr, ptr null, i32 1 %t10657 = ptrtoint ptr %t10656 to i64 %t10658 = zext i32 %t10655 to i64 %t10659 = mul i64 %t10658, %t10657 %t10660 = load ptr, ptr %t10649 %t10661 = call ptr @realloc(ptr %t10660, i64 %t10659) store ptr %t10661, ptr %t10649 store i32 %t10655, ptr %t10648 br label %put2236 put2236: %t10662 = load ptr, ptr %t10649 %t10663 = getelementptr inbounds ptr, ptr %t10662, i32 %t10650 store ptr @.str8510, ptr %t10663 %t10664 = add i32 %t10650, 1 store i32 %t10664, ptr %t10647 br label %ifend2228 ifend2228: %t10665 = load ptr, ptr %t1 %t10666 = call i32 @lp_str_eq(ptr %t10665, ptr @.str8511) %t10667 = icmp ne i32 %t10666, 0 br i1 %t10667, label %then2237, label %ifend2239 then2237: store ptr @.str8512, ptr %t403 %t10668 = load ptr, ptr %t410 %t10669 = getelementptr inbounds %LSlice, ptr %t10668, i32 0, i32 1 %t10670 = getelementptr inbounds %LSlice, ptr %t10668, i32 0, i32 2 %t10671 = getelementptr inbounds %LSlice, ptr %t10668, i32 0, i32 0 %t10672 = load i32, ptr %t10669 %t10673 = load i32, ptr %t10670 %t10674 = icmp sge i32 %t10672, %t10673 br i1 %t10674, label %grow2240, label %put2241 grow2240: %t10675 = mul i32 %t10673, 2 %t10676 = icmp eq i32 %t10673, 0 %t10677 = select i1 %t10676, i32 8, i32 %t10675 %t10678 = getelementptr ptr, ptr null, i32 1 %t10679 = ptrtoint ptr %t10678 to i64 %t10680 = zext i32 %t10677 to i64 %t10681 = mul i64 %t10680, %t10679 %t10682 = load ptr, ptr %t10671 %t10683 = call ptr @realloc(ptr %t10682, i64 %t10681) store ptr %t10683, ptr %t10671 store i32 %t10677, ptr %t10670 br label %put2241 put2241: %t10684 = load ptr, ptr %t10671 %t10685 = getelementptr inbounds ptr, ptr %t10684, i32 %t10672 store ptr @.str8513, ptr %t10685 %t10686 = add i32 %t10672, 1 store i32 %t10686, ptr %t10669 %t10687 = load ptr, ptr %t410 %t10688 = getelementptr inbounds %LSlice, ptr %t10687, i32 0, i32 1 %t10689 = getelementptr inbounds %LSlice, ptr %t10687, i32 0, i32 2 %t10690 = getelementptr inbounds %LSlice, ptr %t10687, i32 0, i32 0 %t10691 = load i32, ptr %t10688 %t10692 = load i32, ptr %t10689 %t10693 = icmp sge i32 %t10691, %t10692 br i1 %t10693, label %grow2242, label %put2243 grow2242: %t10694 = mul i32 %t10692, 2 %t10695 = icmp eq i32 %t10692, 0 %t10696 = select i1 %t10695, i32 8, i32 %t10694 %t10697 = getelementptr ptr, ptr null, i32 1 %t10698 = ptrtoint ptr %t10697 to i64 %t10699 = zext i32 %t10696 to i64 %t10700 = mul i64 %t10699, %t10698 %t10701 = load ptr, ptr %t10690 %t10702 = call ptr @realloc(ptr %t10701, i64 %t10700) store ptr %t10702, ptr %t10690 store i32 %t10696, ptr %t10689 br label %put2243 put2243: %t10703 = load ptr, ptr %t10690 %t10704 = getelementptr inbounds ptr, ptr %t10703, i32 %t10691 store ptr @.str8514, ptr %t10704 %t10705 = add i32 %t10691, 1 store i32 %t10705, ptr %t10688 %t10706 = load ptr, ptr %t410 %t10707 = getelementptr inbounds %LSlice, ptr %t10706, i32 0, i32 1 %t10708 = getelementptr inbounds %LSlice, ptr %t10706, i32 0, i32 2 %t10709 = getelementptr inbounds %LSlice, ptr %t10706, i32 0, i32 0 %t10710 = load i32, ptr %t10707 %t10711 = load i32, ptr %t10708 %t10712 = icmp sge i32 %t10710, %t10711 br i1 %t10712, label %grow2244, label %put2245 grow2244: %t10713 = mul i32 %t10711, 2 %t10714 = icmp eq i32 %t10711, 0 %t10715 = select i1 %t10714, i32 8, i32 %t10713 %t10716 = getelementptr ptr, ptr null, i32 1 %t10717 = ptrtoint ptr %t10716 to i64 %t10718 = zext i32 %t10715 to i64 %t10719 = mul i64 %t10718, %t10717 %t10720 = load ptr, ptr %t10709 %t10721 = call ptr @realloc(ptr %t10720, i64 %t10719) store ptr %t10721, ptr %t10709 store i32 %t10715, ptr %t10708 br label %put2245 put2245: %t10722 = load ptr, ptr %t10709 %t10723 = getelementptr inbounds ptr, ptr %t10722, i32 %t10710 store ptr @.str8515, ptr %t10723 %t10724 = add i32 %t10710, 1 store i32 %t10724, ptr %t10707 br label %ifend2239 ifend2239: %t10725 = load ptr, ptr %t1 %t10726 = call i32 @lp_str_eq(ptr %t10725, ptr @.str8516) %t10727 = icmp ne i32 %t10726, 0 br i1 %t10727, label %then2246, label %ifend2248 then2246: store ptr @.str8517, ptr %t403 %t10728 = load ptr, ptr %t410 %t10729 = getelementptr inbounds %LSlice, ptr %t10728, i32 0, i32 1 %t10730 = getelementptr inbounds %LSlice, ptr %t10728, i32 0, i32 2 %t10731 = getelementptr inbounds %LSlice, ptr %t10728, i32 0, i32 0 %t10732 = load i32, ptr %t10729 %t10733 = load i32, ptr %t10730 %t10734 = icmp sge i32 %t10732, %t10733 br i1 %t10734, label %grow2249, label %put2250 grow2249: %t10735 = mul i32 %t10733, 2 %t10736 = icmp eq i32 %t10733, 0 %t10737 = select i1 %t10736, i32 8, i32 %t10735 %t10738 = getelementptr ptr, ptr null, i32 1 %t10739 = ptrtoint ptr %t10738 to i64 %t10740 = zext i32 %t10737 to i64 %t10741 = mul i64 %t10740, %t10739 %t10742 = load ptr, ptr %t10731 %t10743 = call ptr @realloc(ptr %t10742, i64 %t10741) store ptr %t10743, ptr %t10731 store i32 %t10737, ptr %t10730 br label %put2250 put2250: %t10744 = load ptr, ptr %t10731 %t10745 = getelementptr inbounds ptr, ptr %t10744, i32 %t10732 store ptr @.str8518, ptr %t10745 %t10746 = add i32 %t10732, 1 store i32 %t10746, ptr %t10729 %t10747 = load ptr, ptr %t410 %t10748 = getelementptr inbounds %LSlice, ptr %t10747, i32 0, i32 1 %t10749 = getelementptr inbounds %LSlice, ptr %t10747, i32 0, i32 2 %t10750 = getelementptr inbounds %LSlice, ptr %t10747, i32 0, i32 0 %t10751 = load i32, ptr %t10748 %t10752 = load i32, ptr %t10749 %t10753 = icmp sge i32 %t10751, %t10752 br i1 %t10753, label %grow2251, label %put2252 grow2251: %t10754 = mul i32 %t10752, 2 %t10755 = icmp eq i32 %t10752, 0 %t10756 = select i1 %t10755, i32 8, i32 %t10754 %t10757 = getelementptr ptr, ptr null, i32 1 %t10758 = ptrtoint ptr %t10757 to i64 %t10759 = zext i32 %t10756 to i64 %t10760 = mul i64 %t10759, %t10758 %t10761 = load ptr, ptr %t10750 %t10762 = call ptr @realloc(ptr %t10761, i64 %t10760) store ptr %t10762, ptr %t10750 store i32 %t10756, ptr %t10749 br label %put2252 put2252: %t10763 = load ptr, ptr %t10750 %t10764 = getelementptr inbounds ptr, ptr %t10763, i32 %t10751 store ptr @.str8519, ptr %t10764 %t10765 = add i32 %t10751, 1 store i32 %t10765, ptr %t10748 %t10766 = load ptr, ptr %t410 %t10767 = getelementptr inbounds %LSlice, ptr %t10766, i32 0, i32 1 %t10768 = getelementptr inbounds %LSlice, ptr %t10766, i32 0, i32 2 %t10769 = getelementptr inbounds %LSlice, ptr %t10766, i32 0, i32 0 %t10770 = load i32, ptr %t10767 %t10771 = load i32, ptr %t10768 %t10772 = icmp sge i32 %t10770, %t10771 br i1 %t10772, label %grow2253, label %put2254 grow2253: %t10773 = mul i32 %t10771, 2 %t10774 = icmp eq i32 %t10771, 0 %t10775 = select i1 %t10774, i32 8, i32 %t10773 %t10776 = getelementptr ptr, ptr null, i32 1 %t10777 = ptrtoint ptr %t10776 to i64 %t10778 = zext i32 %t10775 to i64 %t10779 = mul i64 %t10778, %t10777 %t10780 = load ptr, ptr %t10769 %t10781 = call ptr @realloc(ptr %t10780, i64 %t10779) store ptr %t10781, ptr %t10769 store i32 %t10775, ptr %t10768 br label %put2254 put2254: %t10782 = load ptr, ptr %t10769 %t10783 = getelementptr inbounds ptr, ptr %t10782, i32 %t10770 store ptr @.str8520, ptr %t10783 %t10784 = add i32 %t10770, 1 store i32 %t10784, ptr %t10767 %t10785 = load ptr, ptr %t410 %t10786 = getelementptr inbounds %LSlice, ptr %t10785, i32 0, i32 1 %t10787 = getelementptr inbounds %LSlice, ptr %t10785, i32 0, i32 2 %t10788 = getelementptr inbounds %LSlice, ptr %t10785, i32 0, i32 0 %t10789 = load i32, ptr %t10786 %t10790 = load i32, ptr %t10787 %t10791 = icmp sge i32 %t10789, %t10790 br i1 %t10791, label %grow2255, label %put2256 grow2255: %t10792 = mul i32 %t10790, 2 %t10793 = icmp eq i32 %t10790, 0 %t10794 = select i1 %t10793, i32 8, i32 %t10792 %t10795 = getelementptr ptr, ptr null, i32 1 %t10796 = ptrtoint ptr %t10795 to i64 %t10797 = zext i32 %t10794 to i64 %t10798 = mul i64 %t10797, %t10796 %t10799 = load ptr, ptr %t10788 %t10800 = call ptr @realloc(ptr %t10799, i64 %t10798) store ptr %t10800, ptr %t10788 store i32 %t10794, ptr %t10787 br label %put2256 put2256: %t10801 = load ptr, ptr %t10788 %t10802 = getelementptr inbounds ptr, ptr %t10801, i32 %t10789 store ptr @.str8521, ptr %t10802 %t10803 = add i32 %t10789, 1 store i32 %t10803, ptr %t10786 %t10804 = load ptr, ptr %t410 %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 %grow2257, label %put2258 grow2257: %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 %put2258 put2258: %t10820 = load ptr, ptr %t10807 %t10821 = getelementptr inbounds ptr, ptr %t10820, i32 %t10808 store ptr @.str8522, ptr %t10821 %t10822 = add i32 %t10808, 1 store i32 %t10822, ptr %t10805 br label %ifend2248 ifend2248: %t10823 = load ptr, ptr %t1 %t10824 = call i32 @lp_str_eq(ptr %t10823, ptr @.str8523) %t10825 = icmp ne i32 %t10824, 0 br i1 %t10825, label %then2259, label %ifend2261 then2259: store ptr @.str8524, ptr %t403 %t10826 = load ptr, ptr %t410 %t10827 = getelementptr inbounds %LSlice, ptr %t10826, i32 0, i32 1 %t10828 = getelementptr inbounds %LSlice, ptr %t10826, i32 0, i32 2 %t10829 = getelementptr inbounds %LSlice, ptr %t10826, i32 0, i32 0 %t10830 = load i32, ptr %t10827 %t10831 = load i32, ptr %t10828 %t10832 = icmp sge i32 %t10830, %t10831 br i1 %t10832, label %grow2262, label %put2263 grow2262: %t10833 = mul i32 %t10831, 2 %t10834 = icmp eq i32 %t10831, 0 %t10835 = select i1 %t10834, i32 8, i32 %t10833 %t10836 = getelementptr ptr, ptr null, i32 1 %t10837 = ptrtoint ptr %t10836 to i64 %t10838 = zext i32 %t10835 to i64 %t10839 = mul i64 %t10838, %t10837 %t10840 = load ptr, ptr %t10829 %t10841 = call ptr @realloc(ptr %t10840, i64 %t10839) store ptr %t10841, ptr %t10829 store i32 %t10835, ptr %t10828 br label %put2263 put2263: %t10842 = load ptr, ptr %t10829 %t10843 = getelementptr inbounds ptr, ptr %t10842, i32 %t10830 store ptr @.str8525, ptr %t10843 %t10844 = add i32 %t10830, 1 store i32 %t10844, ptr %t10827 %t10845 = load ptr, ptr %t410 %t10846 = getelementptr inbounds %LSlice, ptr %t10845, i32 0, i32 1 %t10847 = getelementptr inbounds %LSlice, ptr %t10845, i32 0, i32 2 %t10848 = getelementptr inbounds %LSlice, ptr %t10845, i32 0, i32 0 %t10849 = load i32, ptr %t10846 %t10850 = load i32, ptr %t10847 %t10851 = icmp sge i32 %t10849, %t10850 br i1 %t10851, label %grow2264, label %put2265 grow2264: %t10852 = mul i32 %t10850, 2 %t10853 = icmp eq i32 %t10850, 0 %t10854 = select i1 %t10853, i32 8, i32 %t10852 %t10855 = getelementptr ptr, ptr null, i32 1 %t10856 = ptrtoint ptr %t10855 to i64 %t10857 = zext i32 %t10854 to i64 %t10858 = mul i64 %t10857, %t10856 %t10859 = load ptr, ptr %t10848 %t10860 = call ptr @realloc(ptr %t10859, i64 %t10858) store ptr %t10860, ptr %t10848 store i32 %t10854, ptr %t10847 br label %put2265 put2265: %t10861 = load ptr, ptr %t10848 %t10862 = getelementptr inbounds ptr, ptr %t10861, i32 %t10849 store ptr @.str8526, ptr %t10862 %t10863 = add i32 %t10849, 1 store i32 %t10863, ptr %t10846 %t10864 = load ptr, ptr %t410 %t10865 = getelementptr inbounds %LSlice, ptr %t10864, i32 0, i32 1 %t10866 = getelementptr inbounds %LSlice, ptr %t10864, i32 0, i32 2 %t10867 = getelementptr inbounds %LSlice, ptr %t10864, i32 0, i32 0 %t10868 = load i32, ptr %t10865 %t10869 = load i32, ptr %t10866 %t10870 = icmp sge i32 %t10868, %t10869 br i1 %t10870, label %grow2266, label %put2267 grow2266: %t10871 = mul i32 %t10869, 2 %t10872 = icmp eq i32 %t10869, 0 %t10873 = select i1 %t10872, i32 8, i32 %t10871 %t10874 = getelementptr ptr, ptr null, i32 1 %t10875 = ptrtoint ptr %t10874 to i64 %t10876 = zext i32 %t10873 to i64 %t10877 = mul i64 %t10876, %t10875 %t10878 = load ptr, ptr %t10867 %t10879 = call ptr @realloc(ptr %t10878, i64 %t10877) store ptr %t10879, ptr %t10867 store i32 %t10873, ptr %t10866 br label %put2267 put2267: %t10880 = load ptr, ptr %t10867 %t10881 = getelementptr inbounds ptr, ptr %t10880, i32 %t10868 store ptr @.str8527, ptr %t10881 %t10882 = add i32 %t10868, 1 store i32 %t10882, ptr %t10865 br label %ifend2261 ifend2261: %t10883 = load ptr, ptr %t1 %t10884 = call i32 @lp_str_eq(ptr %t10883, ptr @.str8528) %t10885 = icmp ne i32 %t10884, 0 br i1 %t10885, label %then2268, label %ifend2270 then2268: store ptr @.str8529, ptr %t403 %t10886 = load ptr, ptr %t410 %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 %grow2271, label %put2272 grow2271: %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 %put2272 put2272: %t10902 = load ptr, ptr %t10889 %t10903 = getelementptr inbounds ptr, ptr %t10902, i32 %t10890 store ptr @.str8530, ptr %t10903 %t10904 = add i32 %t10890, 1 store i32 %t10904, ptr %t10887 %t10905 = load ptr, ptr %t410 %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 %grow2273, label %put2274 grow2273: %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 %put2274 put2274: %t10921 = load ptr, ptr %t10908 %t10922 = getelementptr inbounds ptr, ptr %t10921, i32 %t10909 store ptr @.str8531, ptr %t10922 %t10923 = add i32 %t10909, 1 store i32 %t10923, ptr %t10906 %t10924 = load ptr, ptr %t410 %t10925 = getelementptr inbounds %LSlice, ptr %t10924, i32 0, i32 1 %t10926 = getelementptr inbounds %LSlice, ptr %t10924, i32 0, i32 2 %t10927 = getelementptr inbounds %LSlice, ptr %t10924, i32 0, i32 0 %t10928 = load i32, ptr %t10925 %t10929 = load i32, ptr %t10926 %t10930 = icmp sge i32 %t10928, %t10929 br i1 %t10930, label %grow2275, label %put2276 grow2275: %t10931 = mul i32 %t10929, 2 %t10932 = icmp eq i32 %t10929, 0 %t10933 = select i1 %t10932, i32 8, i32 %t10931 %t10934 = getelementptr ptr, ptr null, i32 1 %t10935 = ptrtoint ptr %t10934 to i64 %t10936 = zext i32 %t10933 to i64 %t10937 = mul i64 %t10936, %t10935 %t10938 = load ptr, ptr %t10927 %t10939 = call ptr @realloc(ptr %t10938, i64 %t10937) store ptr %t10939, ptr %t10927 store i32 %t10933, ptr %t10926 br label %put2276 put2276: %t10940 = load ptr, ptr %t10927 %t10941 = getelementptr inbounds ptr, ptr %t10940, i32 %t10928 store ptr @.str8532, ptr %t10941 %t10942 = add i32 %t10928, 1 store i32 %t10942, ptr %t10925 %t10943 = load ptr, ptr %t410 %t10944 = getelementptr inbounds %LSlice, ptr %t10943, i32 0, i32 1 %t10945 = getelementptr inbounds %LSlice, ptr %t10943, i32 0, i32 2 %t10946 = getelementptr inbounds %LSlice, ptr %t10943, i32 0, i32 0 %t10947 = load i32, ptr %t10944 %t10948 = load i32, ptr %t10945 %t10949 = icmp sge i32 %t10947, %t10948 br i1 %t10949, label %grow2277, label %put2278 grow2277: %t10950 = mul i32 %t10948, 2 %t10951 = icmp eq i32 %t10948, 0 %t10952 = select i1 %t10951, i32 8, i32 %t10950 %t10953 = getelementptr ptr, ptr null, i32 1 %t10954 = ptrtoint ptr %t10953 to i64 %t10955 = zext i32 %t10952 to i64 %t10956 = mul i64 %t10955, %t10954 %t10957 = load ptr, ptr %t10946 %t10958 = call ptr @realloc(ptr %t10957, i64 %t10956) store ptr %t10958, ptr %t10946 store i32 %t10952, ptr %t10945 br label %put2278 put2278: %t10959 = load ptr, ptr %t10946 %t10960 = getelementptr inbounds ptr, ptr %t10959, i32 %t10947 store ptr @.str8533, ptr %t10960 %t10961 = add i32 %t10947, 1 store i32 %t10961, ptr %t10944 %t10962 = load ptr, ptr %t410 %t10963 = getelementptr inbounds %LSlice, ptr %t10962, i32 0, i32 1 %t10964 = getelementptr inbounds %LSlice, ptr %t10962, i32 0, i32 2 %t10965 = getelementptr inbounds %LSlice, ptr %t10962, i32 0, i32 0 %t10966 = load i32, ptr %t10963 %t10967 = load i32, ptr %t10964 %t10968 = icmp sge i32 %t10966, %t10967 br i1 %t10968, label %grow2279, label %put2280 grow2279: %t10969 = mul i32 %t10967, 2 %t10970 = icmp eq i32 %t10967, 0 %t10971 = select i1 %t10970, i32 8, i32 %t10969 %t10972 = getelementptr ptr, ptr null, i32 1 %t10973 = ptrtoint ptr %t10972 to i64 %t10974 = zext i32 %t10971 to i64 %t10975 = mul i64 %t10974, %t10973 %t10976 = load ptr, ptr %t10965 %t10977 = call ptr @realloc(ptr %t10976, i64 %t10975) store ptr %t10977, ptr %t10965 store i32 %t10971, ptr %t10964 br label %put2280 put2280: %t10978 = load ptr, ptr %t10965 %t10979 = getelementptr inbounds ptr, ptr %t10978, i32 %t10966 store ptr @.str8534, ptr %t10979 %t10980 = add i32 %t10966, 1 store i32 %t10980, ptr %t10963 br label %ifend2270 ifend2270: br label %ifend2225 ifend2225: %t10981 = load ptr, ptr %t0 %t10982 = call i32 @lp_str_eq(ptr %t10981, ptr @.str8535) %t10983 = icmp ne i32 %t10982, 0 br i1 %t10983, label %then2281, label %ifend2283 then2281: %t10984 = load ptr, ptr %t1 %t10985 = call i32 @lp_str_eq(ptr %t10984, ptr @.str8536) %t10986 = icmp ne i32 %t10985, 0 br i1 %t10986, label %then2284, label %ifend2286 then2284: store ptr @.str8537, ptr %t403 %t10987 = load ptr, ptr %t410 %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 %grow2287, label %put2288 grow2287: %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 %put2288 put2288: %t11003 = load ptr, ptr %t10990 %t11004 = getelementptr inbounds ptr, ptr %t11003, i32 %t10991 store ptr @.str8538, ptr %t11004 %t11005 = add i32 %t10991, 1 store i32 %t11005, ptr %t10988 br label %ifend2286 ifend2286: %t11006 = load ptr, ptr %t1 %t11007 = call i32 @lp_str_eq(ptr %t11006, ptr @.str8539) %t11008 = icmp ne i32 %t11007, 0 br i1 %t11008, label %then2289, label %ifend2291 then2289: store ptr @.str8540, ptr %t403 %t11009 = load ptr, ptr %t410 %t11010 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 1 %t11011 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 2 %t11012 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 0 %t11013 = load i32, ptr %t11010 %t11014 = load i32, ptr %t11011 %t11015 = icmp sge i32 %t11013, %t11014 br i1 %t11015, label %grow2292, label %put2293 grow2292: %t11016 = mul i32 %t11014, 2 %t11017 = icmp eq i32 %t11014, 0 %t11018 = select i1 %t11017, i32 8, i32 %t11016 %t11019 = getelementptr ptr, ptr null, i32 1 %t11020 = ptrtoint ptr %t11019 to i64 %t11021 = zext i32 %t11018 to i64 %t11022 = mul i64 %t11021, %t11020 %t11023 = load ptr, ptr %t11012 %t11024 = call ptr @realloc(ptr %t11023, i64 %t11022) store ptr %t11024, ptr %t11012 store i32 %t11018, ptr %t11011 br label %put2293 put2293: %t11025 = load ptr, ptr %t11012 %t11026 = getelementptr inbounds ptr, ptr %t11025, i32 %t11013 store ptr @.str8541, ptr %t11026 %t11027 = add i32 %t11013, 1 store i32 %t11027, ptr %t11010 %t11028 = load ptr, ptr %t410 %t11029 = getelementptr inbounds %LSlice, ptr %t11028, i32 0, i32 1 %t11030 = getelementptr inbounds %LSlice, ptr %t11028, i32 0, i32 2 %t11031 = getelementptr inbounds %LSlice, ptr %t11028, i32 0, i32 0 %t11032 = load i32, ptr %t11029 %t11033 = load i32, ptr %t11030 %t11034 = icmp sge i32 %t11032, %t11033 br i1 %t11034, label %grow2294, label %put2295 grow2294: %t11035 = mul i32 %t11033, 2 %t11036 = icmp eq i32 %t11033, 0 %t11037 = select i1 %t11036, i32 8, i32 %t11035 %t11038 = getelementptr ptr, ptr null, i32 1 %t11039 = ptrtoint ptr %t11038 to i64 %t11040 = zext i32 %t11037 to i64 %t11041 = mul i64 %t11040, %t11039 %t11042 = load ptr, ptr %t11031 %t11043 = call ptr @realloc(ptr %t11042, i64 %t11041) store ptr %t11043, ptr %t11031 store i32 %t11037, ptr %t11030 br label %put2295 put2295: %t11044 = load ptr, ptr %t11031 %t11045 = getelementptr inbounds ptr, ptr %t11044, i32 %t11032 store ptr @.str8542, ptr %t11045 %t11046 = add i32 %t11032, 1 store i32 %t11046, ptr %t11029 %t11047 = load ptr, ptr %t410 %t11048 = getelementptr inbounds %LSlice, ptr %t11047, i32 0, i32 1 %t11049 = getelementptr inbounds %LSlice, ptr %t11047, i32 0, i32 2 %t11050 = getelementptr inbounds %LSlice, ptr %t11047, i32 0, i32 0 %t11051 = load i32, ptr %t11048 %t11052 = load i32, ptr %t11049 %t11053 = icmp sge i32 %t11051, %t11052 br i1 %t11053, label %grow2296, label %put2297 grow2296: %t11054 = mul i32 %t11052, 2 %t11055 = icmp eq i32 %t11052, 0 %t11056 = select i1 %t11055, i32 8, i32 %t11054 %t11057 = getelementptr ptr, ptr null, i32 1 %t11058 = ptrtoint ptr %t11057 to i64 %t11059 = zext i32 %t11056 to i64 %t11060 = mul i64 %t11059, %t11058 %t11061 = load ptr, ptr %t11050 %t11062 = call ptr @realloc(ptr %t11061, i64 %t11060) store ptr %t11062, ptr %t11050 store i32 %t11056, ptr %t11049 br label %put2297 put2297: %t11063 = load ptr, ptr %t11050 %t11064 = getelementptr inbounds ptr, ptr %t11063, i32 %t11051 store ptr @.str8543, ptr %t11064 %t11065 = add i32 %t11051, 1 store i32 %t11065, ptr %t11048 %t11066 = load ptr, ptr %t410 %t11067 = getelementptr inbounds %LSlice, ptr %t11066, i32 0, i32 1 %t11068 = getelementptr inbounds %LSlice, ptr %t11066, i32 0, i32 2 %t11069 = getelementptr inbounds %LSlice, ptr %t11066, i32 0, i32 0 %t11070 = load i32, ptr %t11067 %t11071 = load i32, ptr %t11068 %t11072 = icmp sge i32 %t11070, %t11071 br i1 %t11072, label %grow2298, label %put2299 grow2298: %t11073 = mul i32 %t11071, 2 %t11074 = icmp eq i32 %t11071, 0 %t11075 = select i1 %t11074, i32 8, i32 %t11073 %t11076 = getelementptr ptr, ptr null, i32 1 %t11077 = ptrtoint ptr %t11076 to i64 %t11078 = zext i32 %t11075 to i64 %t11079 = mul i64 %t11078, %t11077 %t11080 = load ptr, ptr %t11069 %t11081 = call ptr @realloc(ptr %t11080, i64 %t11079) store ptr %t11081, ptr %t11069 store i32 %t11075, ptr %t11068 br label %put2299 put2299: %t11082 = load ptr, ptr %t11069 %t11083 = getelementptr inbounds ptr, ptr %t11082, i32 %t11070 store ptr @.str8544, ptr %t11083 %t11084 = add i32 %t11070, 1 store i32 %t11084, ptr %t11067 %t11085 = load ptr, ptr %t410 %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 %grow2300, label %put2301 grow2300: %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 %put2301 put2301: %t11101 = load ptr, ptr %t11088 %t11102 = getelementptr inbounds ptr, ptr %t11101, i32 %t11089 store ptr @.str8545, ptr %t11102 %t11103 = add i32 %t11089, 1 store i32 %t11103, ptr %t11086 br label %ifend2291 ifend2291: %t11104 = load ptr, ptr %t1 %t11105 = call i32 @lp_str_eq(ptr %t11104, ptr @.str8546) %t11106 = icmp ne i32 %t11105, 0 br i1 %t11106, label %then2302, label %ifend2304 then2302: store ptr @.str8547, ptr %t403 %t11107 = load ptr, ptr %t410 %t11108 = getelementptr inbounds %LSlice, ptr %t11107, i32 0, i32 1 %t11109 = getelementptr inbounds %LSlice, ptr %t11107, i32 0, i32 2 %t11110 = getelementptr inbounds %LSlice, ptr %t11107, i32 0, i32 0 %t11111 = load i32, ptr %t11108 %t11112 = load i32, ptr %t11109 %t11113 = icmp sge i32 %t11111, %t11112 br i1 %t11113, label %grow2305, label %put2306 grow2305: %t11114 = mul i32 %t11112, 2 %t11115 = icmp eq i32 %t11112, 0 %t11116 = select i1 %t11115, i32 8, i32 %t11114 %t11117 = getelementptr ptr, ptr null, i32 1 %t11118 = ptrtoint ptr %t11117 to i64 %t11119 = zext i32 %t11116 to i64 %t11120 = mul i64 %t11119, %t11118 %t11121 = load ptr, ptr %t11110 %t11122 = call ptr @realloc(ptr %t11121, i64 %t11120) store ptr %t11122, ptr %t11110 store i32 %t11116, ptr %t11109 br label %put2306 put2306: %t11123 = load ptr, ptr %t11110 %t11124 = getelementptr inbounds ptr, ptr %t11123, i32 %t11111 store ptr @.str8548, ptr %t11124 %t11125 = add i32 %t11111, 1 store i32 %t11125, ptr %t11108 %t11126 = load ptr, ptr %t410 %t11127 = getelementptr inbounds %LSlice, ptr %t11126, i32 0, i32 1 %t11128 = getelementptr inbounds %LSlice, ptr %t11126, i32 0, i32 2 %t11129 = getelementptr inbounds %LSlice, ptr %t11126, i32 0, i32 0 %t11130 = load i32, ptr %t11127 %t11131 = load i32, ptr %t11128 %t11132 = icmp sge i32 %t11130, %t11131 br i1 %t11132, label %grow2307, label %put2308 grow2307: %t11133 = mul i32 %t11131, 2 %t11134 = icmp eq i32 %t11131, 0 %t11135 = select i1 %t11134, i32 8, i32 %t11133 %t11136 = getelementptr ptr, ptr null, i32 1 %t11137 = ptrtoint ptr %t11136 to i64 %t11138 = zext i32 %t11135 to i64 %t11139 = mul i64 %t11138, %t11137 %t11140 = load ptr, ptr %t11129 %t11141 = call ptr @realloc(ptr %t11140, i64 %t11139) store ptr %t11141, ptr %t11129 store i32 %t11135, ptr %t11128 br label %put2308 put2308: %t11142 = load ptr, ptr %t11129 %t11143 = getelementptr inbounds ptr, ptr %t11142, i32 %t11130 store ptr @.str8549, ptr %t11143 %t11144 = add i32 %t11130, 1 store i32 %t11144, ptr %t11127 %t11145 = load ptr, ptr %t410 %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 %grow2309, label %put2310 grow2309: %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 %put2310 put2310: %t11161 = load ptr, ptr %t11148 %t11162 = getelementptr inbounds ptr, ptr %t11161, i32 %t11149 store ptr @.str8550, ptr %t11162 %t11163 = add i32 %t11149, 1 store i32 %t11163, ptr %t11146 %t11164 = load ptr, ptr %t410 %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 %grow2311, label %put2312 grow2311: %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 %put2312 put2312: %t11180 = load ptr, ptr %t11167 %t11181 = getelementptr inbounds ptr, ptr %t11180, i32 %t11168 store ptr @.str8551, ptr %t11181 %t11182 = add i32 %t11168, 1 store i32 %t11182, ptr %t11165 %t11183 = load ptr, ptr %t410 %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 %grow2313, label %put2314 grow2313: %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 %put2314 put2314: %t11199 = load ptr, ptr %t11186 %t11200 = getelementptr inbounds ptr, ptr %t11199, i32 %t11187 store ptr @.str8552, ptr %t11200 %t11201 = add i32 %t11187, 1 store i32 %t11201, ptr %t11184 %t11202 = load ptr, ptr %t410 %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 %grow2315, label %put2316 grow2315: %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 %put2316 put2316: %t11218 = load ptr, ptr %t11205 %t11219 = getelementptr inbounds ptr, ptr %t11218, i32 %t11206 store ptr @.str8553, ptr %t11219 %t11220 = add i32 %t11206, 1 store i32 %t11220, ptr %t11203 %t11221 = load ptr, ptr %t410 %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 %grow2317, label %put2318 grow2317: %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 %put2318 put2318: %t11237 = load ptr, ptr %t11224 %t11238 = getelementptr inbounds ptr, ptr %t11237, i32 %t11225 store ptr @.str8554, ptr %t11238 %t11239 = add i32 %t11225, 1 store i32 %t11239, ptr %t11222 br label %ifend2304 ifend2304: %t11240 = load ptr, ptr %t1 %t11241 = call i32 @lp_str_eq(ptr %t11240, ptr @.str8555) %t11242 = icmp ne i32 %t11241, 0 br i1 %t11242, label %then2319, label %ifend2321 then2319: store ptr @.str8556, ptr %t403 %t11243 = load ptr, ptr %t410 %t11244 = getelementptr inbounds %LSlice, ptr %t11243, i32 0, i32 1 %t11245 = getelementptr inbounds %LSlice, ptr %t11243, i32 0, i32 2 %t11246 = getelementptr inbounds %LSlice, ptr %t11243, i32 0, i32 0 %t11247 = load i32, ptr %t11244 %t11248 = load i32, ptr %t11245 %t11249 = icmp sge i32 %t11247, %t11248 br i1 %t11249, label %grow2322, label %put2323 grow2322: %t11250 = mul i32 %t11248, 2 %t11251 = icmp eq i32 %t11248, 0 %t11252 = select i1 %t11251, i32 8, i32 %t11250 %t11253 = getelementptr ptr, ptr null, i32 1 %t11254 = ptrtoint ptr %t11253 to i64 %t11255 = zext i32 %t11252 to i64 %t11256 = mul i64 %t11255, %t11254 %t11257 = load ptr, ptr %t11246 %t11258 = call ptr @realloc(ptr %t11257, i64 %t11256) store ptr %t11258, ptr %t11246 store i32 %t11252, ptr %t11245 br label %put2323 put2323: %t11259 = load ptr, ptr %t11246 %t11260 = getelementptr inbounds ptr, ptr %t11259, i32 %t11247 store ptr @.str8557, ptr %t11260 %t11261 = add i32 %t11247, 1 store i32 %t11261, ptr %t11244 %t11262 = load ptr, ptr %t410 %t11263 = getelementptr inbounds %LSlice, ptr %t11262, i32 0, i32 1 %t11264 = getelementptr inbounds %LSlice, ptr %t11262, i32 0, i32 2 %t11265 = getelementptr inbounds %LSlice, ptr %t11262, i32 0, i32 0 %t11266 = load i32, ptr %t11263 %t11267 = load i32, ptr %t11264 %t11268 = icmp sge i32 %t11266, %t11267 br i1 %t11268, label %grow2324, label %put2325 grow2324: %t11269 = mul i32 %t11267, 2 %t11270 = icmp eq i32 %t11267, 0 %t11271 = select i1 %t11270, i32 8, i32 %t11269 %t11272 = getelementptr ptr, ptr null, i32 1 %t11273 = ptrtoint ptr %t11272 to i64 %t11274 = zext i32 %t11271 to i64 %t11275 = mul i64 %t11274, %t11273 %t11276 = load ptr, ptr %t11265 %t11277 = call ptr @realloc(ptr %t11276, i64 %t11275) store ptr %t11277, ptr %t11265 store i32 %t11271, ptr %t11264 br label %put2325 put2325: %t11278 = load ptr, ptr %t11265 %t11279 = getelementptr inbounds ptr, ptr %t11278, i32 %t11266 store ptr @.str8558, ptr %t11279 %t11280 = add i32 %t11266, 1 store i32 %t11280, ptr %t11263 %t11281 = load ptr, ptr %t410 %t11282 = getelementptr inbounds %LSlice, ptr %t11281, i32 0, i32 1 %t11283 = getelementptr inbounds %LSlice, ptr %t11281, i32 0, i32 2 %t11284 = getelementptr inbounds %LSlice, ptr %t11281, i32 0, i32 0 %t11285 = load i32, ptr %t11282 %t11286 = load i32, ptr %t11283 %t11287 = icmp sge i32 %t11285, %t11286 br i1 %t11287, label %grow2326, label %put2327 grow2326: %t11288 = mul i32 %t11286, 2 %t11289 = icmp eq i32 %t11286, 0 %t11290 = select i1 %t11289, i32 8, i32 %t11288 %t11291 = getelementptr ptr, ptr null, i32 1 %t11292 = ptrtoint ptr %t11291 to i64 %t11293 = zext i32 %t11290 to i64 %t11294 = mul i64 %t11293, %t11292 %t11295 = load ptr, ptr %t11284 %t11296 = call ptr @realloc(ptr %t11295, i64 %t11294) store ptr %t11296, ptr %t11284 store i32 %t11290, ptr %t11283 br label %put2327 put2327: %t11297 = load ptr, ptr %t11284 %t11298 = getelementptr inbounds ptr, ptr %t11297, i32 %t11285 store ptr @.str8559, ptr %t11298 %t11299 = add i32 %t11285, 1 store i32 %t11299, ptr %t11282 %t11300 = load ptr, ptr %t410 %t11301 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 1 %t11302 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 2 %t11303 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 0 %t11304 = load i32, ptr %t11301 %t11305 = load i32, ptr %t11302 %t11306 = icmp sge i32 %t11304, %t11305 br i1 %t11306, label %grow2328, label %put2329 grow2328: %t11307 = mul i32 %t11305, 2 %t11308 = icmp eq i32 %t11305, 0 %t11309 = select i1 %t11308, i32 8, i32 %t11307 %t11310 = getelementptr ptr, ptr null, i32 1 %t11311 = ptrtoint ptr %t11310 to i64 %t11312 = zext i32 %t11309 to i64 %t11313 = mul i64 %t11312, %t11311 %t11314 = load ptr, ptr %t11303 %t11315 = call ptr @realloc(ptr %t11314, i64 %t11313) store ptr %t11315, ptr %t11303 store i32 %t11309, ptr %t11302 br label %put2329 put2329: %t11316 = load ptr, ptr %t11303 %t11317 = getelementptr inbounds ptr, ptr %t11316, i32 %t11304 store ptr @.str8560, ptr %t11317 %t11318 = add i32 %t11304, 1 store i32 %t11318, ptr %t11301 br label %ifend2321 ifend2321: %t11319 = load ptr, ptr %t1 %t11320 = call i32 @lp_str_eq(ptr %t11319, ptr @.str8561) %t11321 = icmp ne i32 %t11320, 0 br i1 %t11321, label %then2330, label %ifend2332 then2330: store ptr @.str8562, ptr %t403 br label %ifend2332 ifend2332: %t11322 = load ptr, ptr %t1 %t11323 = call i32 @lp_str_eq(ptr %t11322, ptr @.str8563) %t11324 = icmp ne i32 %t11323, 0 br i1 %t11324, label %then2333, label %ifend2335 then2333: store ptr @.str8564, ptr %t403 %t11325 = load ptr, ptr %t410 %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 %grow2336, label %put2337 grow2336: %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 %put2337 put2337: %t11341 = load ptr, ptr %t11328 %t11342 = getelementptr inbounds ptr, ptr %t11341, i32 %t11329 store ptr @.str8565, ptr %t11342 %t11343 = add i32 %t11329, 1 store i32 %t11343, ptr %t11326 br label %ifend2335 ifend2335: %t11344 = load ptr, ptr %t1 %t11345 = call i32 @lp_str_eq(ptr %t11344, ptr @.str8566) %t11346 = icmp ne i32 %t11345, 0 br i1 %t11346, label %then2338, label %ifend2340 then2338: store ptr @.str8567, ptr %t403 %t11347 = load ptr, ptr %t410 %t11348 = getelementptr inbounds %LSlice, ptr %t11347, i32 0, i32 1 %t11349 = getelementptr inbounds %LSlice, ptr %t11347, i32 0, i32 2 %t11350 = getelementptr inbounds %LSlice, ptr %t11347, i32 0, i32 0 %t11351 = load i32, ptr %t11348 %t11352 = load i32, ptr %t11349 %t11353 = icmp sge i32 %t11351, %t11352 br i1 %t11353, label %grow2341, label %put2342 grow2341: %t11354 = mul i32 %t11352, 2 %t11355 = icmp eq i32 %t11352, 0 %t11356 = select i1 %t11355, i32 8, i32 %t11354 %t11357 = getelementptr ptr, ptr null, i32 1 %t11358 = ptrtoint ptr %t11357 to i64 %t11359 = zext i32 %t11356 to i64 %t11360 = mul i64 %t11359, %t11358 %t11361 = load ptr, ptr %t11350 %t11362 = call ptr @realloc(ptr %t11361, i64 %t11360) store ptr %t11362, ptr %t11350 store i32 %t11356, ptr %t11349 br label %put2342 put2342: %t11363 = load ptr, ptr %t11350 %t11364 = getelementptr inbounds ptr, ptr %t11363, i32 %t11351 store ptr @.str8568, ptr %t11364 %t11365 = add i32 %t11351, 1 store i32 %t11365, ptr %t11348 br label %ifend2340 ifend2340: %t11366 = load ptr, ptr %t1 %t11367 = call i32 @lp_str_eq(ptr %t11366, ptr @.str8569) %t11368 = icmp ne i32 %t11367, 0 br i1 %t11368, label %then2343, label %ifend2345 then2343: store ptr @.str8570, ptr %t403 %t11369 = load ptr, ptr %t410 %t11370 = getelementptr inbounds %LSlice, ptr %t11369, i32 0, i32 1 %t11371 = getelementptr inbounds %LSlice, ptr %t11369, i32 0, i32 2 %t11372 = getelementptr inbounds %LSlice, ptr %t11369, i32 0, i32 0 %t11373 = load i32, ptr %t11370 %t11374 = load i32, ptr %t11371 %t11375 = icmp sge i32 %t11373, %t11374 br i1 %t11375, label %grow2346, label %put2347 grow2346: %t11376 = mul i32 %t11374, 2 %t11377 = icmp eq i32 %t11374, 0 %t11378 = select i1 %t11377, i32 8, i32 %t11376 %t11379 = getelementptr ptr, ptr null, i32 1 %t11380 = ptrtoint ptr %t11379 to i64 %t11381 = zext i32 %t11378 to i64 %t11382 = mul i64 %t11381, %t11380 %t11383 = load ptr, ptr %t11372 %t11384 = call ptr @realloc(ptr %t11383, i64 %t11382) store ptr %t11384, ptr %t11372 store i32 %t11378, ptr %t11371 br label %put2347 put2347: %t11385 = load ptr, ptr %t11372 %t11386 = getelementptr inbounds ptr, ptr %t11385, i32 %t11373 store ptr @.str8571, ptr %t11386 %t11387 = add i32 %t11373, 1 store i32 %t11387, ptr %t11370 br label %ifend2345 ifend2345: %t11388 = load ptr, ptr %t1 %t11389 = call i32 @lp_str_eq(ptr %t11388, ptr @.str8572) %t11390 = icmp ne i32 %t11389, 0 br i1 %t11390, label %then2348, label %ifend2350 then2348: store ptr @.str8573, ptr %t403 br label %ifend2350 ifend2350: %t11391 = load ptr, ptr %t1 %t11392 = call i32 @lp_str_eq(ptr %t11391, ptr @.str8574) %t11393 = icmp ne i32 %t11392, 0 br i1 %t11393, label %then2351, label %ifend2353 then2351: store ptr @.str8575, ptr %t403 %t11394 = load ptr, ptr %t410 %t11395 = getelementptr inbounds %LSlice, ptr %t11394, i32 0, i32 1 %t11396 = getelementptr inbounds %LSlice, ptr %t11394, i32 0, i32 2 %t11397 = getelementptr inbounds %LSlice, ptr %t11394, i32 0, i32 0 %t11398 = load i32, ptr %t11395 %t11399 = load i32, ptr %t11396 %t11400 = icmp sge i32 %t11398, %t11399 br i1 %t11400, label %grow2354, label %put2355 grow2354: %t11401 = mul i32 %t11399, 2 %t11402 = icmp eq i32 %t11399, 0 %t11403 = select i1 %t11402, i32 8, i32 %t11401 %t11404 = getelementptr ptr, ptr null, i32 1 %t11405 = ptrtoint ptr %t11404 to i64 %t11406 = zext i32 %t11403 to i64 %t11407 = mul i64 %t11406, %t11405 %t11408 = load ptr, ptr %t11397 %t11409 = call ptr @realloc(ptr %t11408, i64 %t11407) store ptr %t11409, ptr %t11397 store i32 %t11403, ptr %t11396 br label %put2355 put2355: %t11410 = load ptr, ptr %t11397 %t11411 = getelementptr inbounds ptr, ptr %t11410, i32 %t11398 store ptr @.str8576, ptr %t11411 %t11412 = add i32 %t11398, 1 store i32 %t11412, ptr %t11395 br label %ifend2353 ifend2353: %t11413 = load ptr, ptr %t1 %t11414 = call i32 @lp_str_eq(ptr %t11413, ptr @.str8577) %t11415 = icmp ne i32 %t11414, 0 br i1 %t11415, label %then2356, label %ifend2358 then2356: store ptr @.str8578, ptr %t403 %t11416 = load ptr, ptr %t410 %t11417 = getelementptr inbounds %LSlice, ptr %t11416, i32 0, i32 1 %t11418 = getelementptr inbounds %LSlice, ptr %t11416, i32 0, i32 2 %t11419 = getelementptr inbounds %LSlice, ptr %t11416, i32 0, i32 0 %t11420 = load i32, ptr %t11417 %t11421 = load i32, ptr %t11418 %t11422 = icmp sge i32 %t11420, %t11421 br i1 %t11422, label %grow2359, label %put2360 grow2359: %t11423 = mul i32 %t11421, 2 %t11424 = icmp eq i32 %t11421, 0 %t11425 = select i1 %t11424, i32 8, i32 %t11423 %t11426 = getelementptr ptr, ptr null, i32 1 %t11427 = ptrtoint ptr %t11426 to i64 %t11428 = zext i32 %t11425 to i64 %t11429 = mul i64 %t11428, %t11427 %t11430 = load ptr, ptr %t11419 %t11431 = call ptr @realloc(ptr %t11430, i64 %t11429) store ptr %t11431, ptr %t11419 store i32 %t11425, ptr %t11418 br label %put2360 put2360: %t11432 = load ptr, ptr %t11419 %t11433 = getelementptr inbounds ptr, ptr %t11432, i32 %t11420 store ptr @.str8579, ptr %t11433 %t11434 = add i32 %t11420, 1 store i32 %t11434, ptr %t11417 %t11435 = load ptr, ptr %t410 %t11436 = getelementptr inbounds %LSlice, ptr %t11435, i32 0, i32 1 %t11437 = getelementptr inbounds %LSlice, ptr %t11435, i32 0, i32 2 %t11438 = getelementptr inbounds %LSlice, ptr %t11435, i32 0, i32 0 %t11439 = load i32, ptr %t11436 %t11440 = load i32, ptr %t11437 %t11441 = icmp sge i32 %t11439, %t11440 br i1 %t11441, label %grow2361, label %put2362 grow2361: %t11442 = mul i32 %t11440, 2 %t11443 = icmp eq i32 %t11440, 0 %t11444 = select i1 %t11443, i32 8, i32 %t11442 %t11445 = getelementptr ptr, ptr null, i32 1 %t11446 = ptrtoint ptr %t11445 to i64 %t11447 = zext i32 %t11444 to i64 %t11448 = mul i64 %t11447, %t11446 %t11449 = load ptr, ptr %t11438 %t11450 = call ptr @realloc(ptr %t11449, i64 %t11448) store ptr %t11450, ptr %t11438 store i32 %t11444, ptr %t11437 br label %put2362 put2362: %t11451 = load ptr, ptr %t11438 %t11452 = getelementptr inbounds ptr, ptr %t11451, i32 %t11439 store ptr @.str8580, ptr %t11452 %t11453 = add i32 %t11439, 1 store i32 %t11453, ptr %t11436 %t11454 = load ptr, ptr %t410 %t11455 = getelementptr inbounds %LSlice, ptr %t11454, i32 0, i32 1 %t11456 = getelementptr inbounds %LSlice, ptr %t11454, i32 0, i32 2 %t11457 = getelementptr inbounds %LSlice, ptr %t11454, i32 0, i32 0 %t11458 = load i32, ptr %t11455 %t11459 = load i32, ptr %t11456 %t11460 = icmp sge i32 %t11458, %t11459 br i1 %t11460, label %grow2363, label %put2364 grow2363: %t11461 = mul i32 %t11459, 2 %t11462 = icmp eq i32 %t11459, 0 %t11463 = select i1 %t11462, i32 8, i32 %t11461 %t11464 = getelementptr ptr, ptr null, i32 1 %t11465 = ptrtoint ptr %t11464 to i64 %t11466 = zext i32 %t11463 to i64 %t11467 = mul i64 %t11466, %t11465 %t11468 = load ptr, ptr %t11457 %t11469 = call ptr @realloc(ptr %t11468, i64 %t11467) store ptr %t11469, ptr %t11457 store i32 %t11463, ptr %t11456 br label %put2364 put2364: %t11470 = load ptr, ptr %t11457 %t11471 = getelementptr inbounds ptr, ptr %t11470, i32 %t11458 store ptr @.str8581, ptr %t11471 %t11472 = add i32 %t11458, 1 store i32 %t11472, ptr %t11455 %t11473 = load ptr, ptr %t410 %t11474 = getelementptr inbounds %LSlice, ptr %t11473, i32 0, i32 1 %t11475 = getelementptr inbounds %LSlice, ptr %t11473, i32 0, i32 2 %t11476 = getelementptr inbounds %LSlice, ptr %t11473, i32 0, i32 0 %t11477 = load i32, ptr %t11474 %t11478 = load i32, ptr %t11475 %t11479 = icmp sge i32 %t11477, %t11478 br i1 %t11479, label %grow2365, label %put2366 grow2365: %t11480 = mul i32 %t11478, 2 %t11481 = icmp eq i32 %t11478, 0 %t11482 = select i1 %t11481, i32 8, i32 %t11480 %t11483 = getelementptr ptr, ptr null, i32 1 %t11484 = ptrtoint ptr %t11483 to i64 %t11485 = zext i32 %t11482 to i64 %t11486 = mul i64 %t11485, %t11484 %t11487 = load ptr, ptr %t11476 %t11488 = call ptr @realloc(ptr %t11487, i64 %t11486) store ptr %t11488, ptr %t11476 store i32 %t11482, ptr %t11475 br label %put2366 put2366: %t11489 = load ptr, ptr %t11476 %t11490 = getelementptr inbounds ptr, ptr %t11489, i32 %t11477 store ptr @.str8582, ptr %t11490 %t11491 = add i32 %t11477, 1 store i32 %t11491, ptr %t11474 %t11492 = load ptr, ptr %t410 %t11493 = getelementptr inbounds %LSlice, ptr %t11492, i32 0, i32 1 %t11494 = getelementptr inbounds %LSlice, ptr %t11492, i32 0, i32 2 %t11495 = getelementptr inbounds %LSlice, ptr %t11492, i32 0, i32 0 %t11496 = load i32, ptr %t11493 %t11497 = load i32, ptr %t11494 %t11498 = icmp sge i32 %t11496, %t11497 br i1 %t11498, label %grow2367, label %put2368 grow2367: %t11499 = mul i32 %t11497, 2 %t11500 = icmp eq i32 %t11497, 0 %t11501 = select i1 %t11500, i32 8, i32 %t11499 %t11502 = getelementptr ptr, ptr null, i32 1 %t11503 = ptrtoint ptr %t11502 to i64 %t11504 = zext i32 %t11501 to i64 %t11505 = mul i64 %t11504, %t11503 %t11506 = load ptr, ptr %t11495 %t11507 = call ptr @realloc(ptr %t11506, i64 %t11505) store ptr %t11507, ptr %t11495 store i32 %t11501, ptr %t11494 br label %put2368 put2368: %t11508 = load ptr, ptr %t11495 %t11509 = getelementptr inbounds ptr, ptr %t11508, i32 %t11496 store ptr @.str8583, ptr %t11509 %t11510 = add i32 %t11496, 1 store i32 %t11510, ptr %t11493 %t11511 = load ptr, ptr %t410 %t11512 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 1 %t11513 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 2 %t11514 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 0 %t11515 = load i32, ptr %t11512 %t11516 = load i32, ptr %t11513 %t11517 = icmp sge i32 %t11515, %t11516 br i1 %t11517, label %grow2369, label %put2370 grow2369: %t11518 = mul i32 %t11516, 2 %t11519 = icmp eq i32 %t11516, 0 %t11520 = select i1 %t11519, i32 8, i32 %t11518 %t11521 = getelementptr ptr, ptr null, i32 1 %t11522 = ptrtoint ptr %t11521 to i64 %t11523 = zext i32 %t11520 to i64 %t11524 = mul i64 %t11523, %t11522 %t11525 = load ptr, ptr %t11514 %t11526 = call ptr @realloc(ptr %t11525, i64 %t11524) store ptr %t11526, ptr %t11514 store i32 %t11520, ptr %t11513 br label %put2370 put2370: %t11527 = load ptr, ptr %t11514 %t11528 = getelementptr inbounds ptr, ptr %t11527, i32 %t11515 store ptr @.str8584, ptr %t11528 %t11529 = add i32 %t11515, 1 store i32 %t11529, ptr %t11512 br label %ifend2358 ifend2358: %t11530 = load ptr, ptr %t1 %t11531 = call i32 @lp_str_eq(ptr %t11530, ptr @.str8585) %t11532 = icmp ne i32 %t11531, 0 br i1 %t11532, label %then2371, label %ifend2373 then2371: store ptr @.str8586, ptr %t403 br label %ifend2373 ifend2373: %t11533 = load ptr, ptr %t1 %t11534 = call i32 @lp_str_eq(ptr %t11533, ptr @.str8587) %t11535 = icmp ne i32 %t11534, 0 br i1 %t11535, label %then2374, label %ifend2376 then2374: store ptr @.str8588, ptr %t403 %t11536 = load ptr, ptr %t410 %t11537 = getelementptr inbounds %LSlice, ptr %t11536, i32 0, i32 1 %t11538 = getelementptr inbounds %LSlice, ptr %t11536, i32 0, i32 2 %t11539 = getelementptr inbounds %LSlice, ptr %t11536, i32 0, i32 0 %t11540 = load i32, ptr %t11537 %t11541 = load i32, ptr %t11538 %t11542 = icmp sge i32 %t11540, %t11541 br i1 %t11542, label %grow2377, label %put2378 grow2377: %t11543 = mul i32 %t11541, 2 %t11544 = icmp eq i32 %t11541, 0 %t11545 = select i1 %t11544, i32 8, i32 %t11543 %t11546 = getelementptr ptr, ptr null, i32 1 %t11547 = ptrtoint ptr %t11546 to i64 %t11548 = zext i32 %t11545 to i64 %t11549 = mul i64 %t11548, %t11547 %t11550 = load ptr, ptr %t11539 %t11551 = call ptr @realloc(ptr %t11550, i64 %t11549) store ptr %t11551, ptr %t11539 store i32 %t11545, ptr %t11538 br label %put2378 put2378: %t11552 = load ptr, ptr %t11539 %t11553 = getelementptr inbounds ptr, ptr %t11552, i32 %t11540 store ptr @.str8589, ptr %t11553 %t11554 = add i32 %t11540, 1 store i32 %t11554, ptr %t11537 br label %ifend2376 ifend2376: br label %ifend2283 ifend2283: %t11555 = load ptr, ptr %t0 %t11556 = call i32 @lp_str_eq(ptr %t11555, ptr @.str8590) %t11557 = icmp ne i32 %t11556, 0 br i1 %t11557, label %then2379, label %ifend2381 then2379: %t11558 = load ptr, ptr %t1 %t11559 = call i32 @lp_str_eq(ptr %t11558, ptr @.str8591) %t11560 = icmp ne i32 %t11559, 0 br i1 %t11560, label %then2382, label %ifend2384 then2382: store ptr @.str8592, ptr %t403 %t11561 = load ptr, ptr %t410 %t11562 = getelementptr inbounds %LSlice, ptr %t11561, i32 0, i32 1 %t11563 = getelementptr inbounds %LSlice, ptr %t11561, i32 0, i32 2 %t11564 = getelementptr inbounds %LSlice, ptr %t11561, i32 0, i32 0 %t11565 = load i32, ptr %t11562 %t11566 = load i32, ptr %t11563 %t11567 = icmp sge i32 %t11565, %t11566 br i1 %t11567, label %grow2385, label %put2386 grow2385: %t11568 = mul i32 %t11566, 2 %t11569 = icmp eq i32 %t11566, 0 %t11570 = select i1 %t11569, i32 8, i32 %t11568 %t11571 = getelementptr ptr, ptr null, i32 1 %t11572 = ptrtoint ptr %t11571 to i64 %t11573 = zext i32 %t11570 to i64 %t11574 = mul i64 %t11573, %t11572 %t11575 = load ptr, ptr %t11564 %t11576 = call ptr @realloc(ptr %t11575, i64 %t11574) store ptr %t11576, ptr %t11564 store i32 %t11570, ptr %t11563 br label %put2386 put2386: %t11577 = load ptr, ptr %t11564 %t11578 = getelementptr inbounds ptr, ptr %t11577, i32 %t11565 store ptr @.str8593, ptr %t11578 %t11579 = add i32 %t11565, 1 store i32 %t11579, ptr %t11562 %t11580 = load ptr, ptr %t410 %t11581 = getelementptr inbounds %LSlice, ptr %t11580, i32 0, i32 1 %t11582 = getelementptr inbounds %LSlice, ptr %t11580, i32 0, i32 2 %t11583 = getelementptr inbounds %LSlice, ptr %t11580, i32 0, i32 0 %t11584 = load i32, ptr %t11581 %t11585 = load i32, ptr %t11582 %t11586 = icmp sge i32 %t11584, %t11585 br i1 %t11586, label %grow2387, label %put2388 grow2387: %t11587 = mul i32 %t11585, 2 %t11588 = icmp eq i32 %t11585, 0 %t11589 = select i1 %t11588, i32 8, i32 %t11587 %t11590 = getelementptr ptr, ptr null, i32 1 %t11591 = ptrtoint ptr %t11590 to i64 %t11592 = zext i32 %t11589 to i64 %t11593 = mul i64 %t11592, %t11591 %t11594 = load ptr, ptr %t11583 %t11595 = call ptr @realloc(ptr %t11594, i64 %t11593) store ptr %t11595, ptr %t11583 store i32 %t11589, ptr %t11582 br label %put2388 put2388: %t11596 = load ptr, ptr %t11583 %t11597 = getelementptr inbounds ptr, ptr %t11596, i32 %t11584 store ptr @.str8594, ptr %t11597 %t11598 = add i32 %t11584, 1 store i32 %t11598, ptr %t11581 %t11599 = load ptr, ptr %t410 %t11600 = getelementptr inbounds %LSlice, ptr %t11599, i32 0, i32 1 %t11601 = getelementptr inbounds %LSlice, ptr %t11599, i32 0, i32 2 %t11602 = getelementptr inbounds %LSlice, ptr %t11599, i32 0, i32 0 %t11603 = load i32, ptr %t11600 %t11604 = load i32, ptr %t11601 %t11605 = icmp sge i32 %t11603, %t11604 br i1 %t11605, label %grow2389, label %put2390 grow2389: %t11606 = mul i32 %t11604, 2 %t11607 = icmp eq i32 %t11604, 0 %t11608 = select i1 %t11607, i32 8, i32 %t11606 %t11609 = getelementptr ptr, ptr null, i32 1 %t11610 = ptrtoint ptr %t11609 to i64 %t11611 = zext i32 %t11608 to i64 %t11612 = mul i64 %t11611, %t11610 %t11613 = load ptr, ptr %t11602 %t11614 = call ptr @realloc(ptr %t11613, i64 %t11612) store ptr %t11614, ptr %t11602 store i32 %t11608, ptr %t11601 br label %put2390 put2390: %t11615 = load ptr, ptr %t11602 %t11616 = getelementptr inbounds ptr, ptr %t11615, i32 %t11603 store ptr @.str8595, ptr %t11616 %t11617 = add i32 %t11603, 1 store i32 %t11617, ptr %t11600 %t11618 = load ptr, ptr %t410 %t11619 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 1 %t11620 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 2 %t11621 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 0 %t11622 = load i32, ptr %t11619 %t11623 = load i32, ptr %t11620 %t11624 = icmp sge i32 %t11622, %t11623 br i1 %t11624, label %grow2391, label %put2392 grow2391: %t11625 = mul i32 %t11623, 2 %t11626 = icmp eq i32 %t11623, 0 %t11627 = select i1 %t11626, i32 8, i32 %t11625 %t11628 = getelementptr ptr, ptr null, i32 1 %t11629 = ptrtoint ptr %t11628 to i64 %t11630 = zext i32 %t11627 to i64 %t11631 = mul i64 %t11630, %t11629 %t11632 = load ptr, ptr %t11621 %t11633 = call ptr @realloc(ptr %t11632, i64 %t11631) store ptr %t11633, ptr %t11621 store i32 %t11627, ptr %t11620 br label %put2392 put2392: %t11634 = load ptr, ptr %t11621 %t11635 = getelementptr inbounds ptr, ptr %t11634, i32 %t11622 store ptr @.str8596, ptr %t11635 %t11636 = add i32 %t11622, 1 store i32 %t11636, ptr %t11619 br label %ifend2384 ifend2384: %t11637 = load ptr, ptr %t1 %t11638 = call i32 @lp_str_eq(ptr %t11637, ptr @.str8597) %t11639 = icmp ne i32 %t11638, 0 br i1 %t11639, label %then2393, label %ifend2395 then2393: store ptr @.str8598, ptr %t403 %t11640 = load ptr, ptr %t410 %t11641 = getelementptr inbounds %LSlice, ptr %t11640, i32 0, i32 1 %t11642 = getelementptr inbounds %LSlice, ptr %t11640, i32 0, i32 2 %t11643 = getelementptr inbounds %LSlice, ptr %t11640, i32 0, i32 0 %t11644 = load i32, ptr %t11641 %t11645 = load i32, ptr %t11642 %t11646 = icmp sge i32 %t11644, %t11645 br i1 %t11646, label %grow2396, label %put2397 grow2396: %t11647 = mul i32 %t11645, 2 %t11648 = icmp eq i32 %t11645, 0 %t11649 = select i1 %t11648, i32 8, i32 %t11647 %t11650 = getelementptr ptr, ptr null, i32 1 %t11651 = ptrtoint ptr %t11650 to i64 %t11652 = zext i32 %t11649 to i64 %t11653 = mul i64 %t11652, %t11651 %t11654 = load ptr, ptr %t11643 %t11655 = call ptr @realloc(ptr %t11654, i64 %t11653) store ptr %t11655, ptr %t11643 store i32 %t11649, ptr %t11642 br label %put2397 put2397: %t11656 = load ptr, ptr %t11643 %t11657 = getelementptr inbounds ptr, ptr %t11656, i32 %t11644 store ptr @.str8599, ptr %t11657 %t11658 = add i32 %t11644, 1 store i32 %t11658, ptr %t11641 %t11659 = load ptr, ptr %t410 %t11660 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 1 %t11661 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 2 %t11662 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 0 %t11663 = load i32, ptr %t11660 %t11664 = load i32, ptr %t11661 %t11665 = icmp sge i32 %t11663, %t11664 br i1 %t11665, label %grow2398, label %put2399 grow2398: %t11666 = mul i32 %t11664, 2 %t11667 = icmp eq i32 %t11664, 0 %t11668 = select i1 %t11667, i32 8, i32 %t11666 %t11669 = getelementptr ptr, ptr null, i32 1 %t11670 = ptrtoint ptr %t11669 to i64 %t11671 = zext i32 %t11668 to i64 %t11672 = mul i64 %t11671, %t11670 %t11673 = load ptr, ptr %t11662 %t11674 = call ptr @realloc(ptr %t11673, i64 %t11672) store ptr %t11674, ptr %t11662 store i32 %t11668, ptr %t11661 br label %put2399 put2399: %t11675 = load ptr, ptr %t11662 %t11676 = getelementptr inbounds ptr, ptr %t11675, i32 %t11663 store ptr @.str8600, ptr %t11676 %t11677 = add i32 %t11663, 1 store i32 %t11677, ptr %t11660 br label %ifend2395 ifend2395: %t11678 = load ptr, ptr %t1 %t11679 = call i32 @lp_str_eq(ptr %t11678, ptr @.str8601) %t11680 = icmp ne i32 %t11679, 0 br i1 %t11680, label %then2400, label %ifend2402 then2400: store ptr @.str8602, ptr %t403 %t11681 = load ptr, ptr %t410 %t11682 = getelementptr inbounds %LSlice, ptr %t11681, i32 0, i32 1 %t11683 = getelementptr inbounds %LSlice, ptr %t11681, i32 0, i32 2 %t11684 = getelementptr inbounds %LSlice, ptr %t11681, i32 0, i32 0 %t11685 = load i32, ptr %t11682 %t11686 = load i32, ptr %t11683 %t11687 = icmp sge i32 %t11685, %t11686 br i1 %t11687, label %grow2403, label %put2404 grow2403: %t11688 = mul i32 %t11686, 2 %t11689 = icmp eq i32 %t11686, 0 %t11690 = select i1 %t11689, i32 8, i32 %t11688 %t11691 = getelementptr ptr, ptr null, i32 1 %t11692 = ptrtoint ptr %t11691 to i64 %t11693 = zext i32 %t11690 to i64 %t11694 = mul i64 %t11693, %t11692 %t11695 = load ptr, ptr %t11684 %t11696 = call ptr @realloc(ptr %t11695, i64 %t11694) store ptr %t11696, ptr %t11684 store i32 %t11690, ptr %t11683 br label %put2404 put2404: %t11697 = load ptr, ptr %t11684 %t11698 = getelementptr inbounds ptr, ptr %t11697, i32 %t11685 store ptr @.str8603, ptr %t11698 %t11699 = add i32 %t11685, 1 store i32 %t11699, ptr %t11682 br label %ifend2402 ifend2402: %t11700 = load ptr, ptr %t1 %t11701 = call i32 @lp_str_eq(ptr %t11700, ptr @.str8604) %t11702 = icmp ne i32 %t11701, 0 br i1 %t11702, label %then2405, label %ifend2407 then2405: %t11703 = load ptr, ptr %t2 %t11704 = getelementptr inbounds %Cmp_Node, ptr %t11703, i32 0, i32 7 %t11705 = load ptr, ptr %t11704 %t11706 = getelementptr inbounds %LSlice, ptr %t11705, i32 0, i32 1 %t11707 = load i32, ptr %t11706 %t11708 = icmp eq i32 %t11707, 2 %t11709 = zext i1 %t11708 to i32 %t11710 = icmp ne i32 %t11709, 0 br i1 %t11710, label %then2408, label %else2409 then2408: store ptr @.str8605, ptr %t403 %t11711 = load ptr, ptr %t410 %t11712 = getelementptr inbounds %LSlice, ptr %t11711, i32 0, i32 1 %t11713 = getelementptr inbounds %LSlice, ptr %t11711, i32 0, i32 2 %t11714 = getelementptr inbounds %LSlice, ptr %t11711, i32 0, i32 0 %t11715 = load i32, ptr %t11712 %t11716 = load i32, ptr %t11713 %t11717 = icmp sge i32 %t11715, %t11716 br i1 %t11717, label %grow2411, label %put2412 grow2411: %t11718 = mul i32 %t11716, 2 %t11719 = icmp eq i32 %t11716, 0 %t11720 = select i1 %t11719, i32 8, i32 %t11718 %t11721 = getelementptr ptr, ptr null, i32 1 %t11722 = ptrtoint ptr %t11721 to i64 %t11723 = zext i32 %t11720 to i64 %t11724 = mul i64 %t11723, %t11722 %t11725 = load ptr, ptr %t11714 %t11726 = call ptr @realloc(ptr %t11725, i64 %t11724) store ptr %t11726, ptr %t11714 store i32 %t11720, ptr %t11713 br label %put2412 put2412: %t11727 = load ptr, ptr %t11714 %t11728 = getelementptr inbounds ptr, ptr %t11727, i32 %t11715 store ptr @.str8606, ptr %t11728 %t11729 = add i32 %t11715, 1 store i32 %t11729, ptr %t11712 %t11730 = load ptr, ptr %t410 %t11731 = getelementptr inbounds %LSlice, ptr %t11730, i32 0, i32 1 %t11732 = getelementptr inbounds %LSlice, ptr %t11730, i32 0, i32 2 %t11733 = getelementptr inbounds %LSlice, ptr %t11730, i32 0, i32 0 %t11734 = load i32, ptr %t11731 %t11735 = load i32, ptr %t11732 %t11736 = icmp sge i32 %t11734, %t11735 br i1 %t11736, label %grow2413, label %put2414 grow2413: %t11737 = mul i32 %t11735, 2 %t11738 = icmp eq i32 %t11735, 0 %t11739 = select i1 %t11738, i32 8, i32 %t11737 %t11740 = getelementptr ptr, ptr null, i32 1 %t11741 = ptrtoint ptr %t11740 to i64 %t11742 = zext i32 %t11739 to i64 %t11743 = mul i64 %t11742, %t11741 %t11744 = load ptr, ptr %t11733 %t11745 = call ptr @realloc(ptr %t11744, i64 %t11743) store ptr %t11745, ptr %t11733 store i32 %t11739, ptr %t11732 br label %put2414 put2414: %t11746 = load ptr, ptr %t11733 %t11747 = getelementptr inbounds ptr, ptr %t11746, i32 %t11734 store ptr @.str8607, ptr %t11747 %t11748 = add i32 %t11734, 1 store i32 %t11748, ptr %t11731 br label %ifend2410 else2409: store ptr @.str8608, ptr %t403 %t11749 = load ptr, ptr %t410 %t11750 = getelementptr inbounds %LSlice, ptr %t11749, i32 0, i32 1 %t11751 = getelementptr inbounds %LSlice, ptr %t11749, i32 0, i32 2 %t11752 = getelementptr inbounds %LSlice, ptr %t11749, i32 0, i32 0 %t11753 = load i32, ptr %t11750 %t11754 = load i32, ptr %t11751 %t11755 = icmp sge i32 %t11753, %t11754 br i1 %t11755, label %grow2415, label %put2416 grow2415: %t11756 = mul i32 %t11754, 2 %t11757 = icmp eq i32 %t11754, 0 %t11758 = select i1 %t11757, i32 8, i32 %t11756 %t11759 = getelementptr ptr, ptr null, i32 1 %t11760 = ptrtoint ptr %t11759 to i64 %t11761 = zext i32 %t11758 to i64 %t11762 = mul i64 %t11761, %t11760 %t11763 = load ptr, ptr %t11752 %t11764 = call ptr @realloc(ptr %t11763, i64 %t11762) store ptr %t11764, ptr %t11752 store i32 %t11758, ptr %t11751 br label %put2416 put2416: %t11765 = load ptr, ptr %t11752 %t11766 = getelementptr inbounds ptr, ptr %t11765, i32 %t11753 store ptr @.str8609, ptr %t11766 %t11767 = add i32 %t11753, 1 store i32 %t11767, ptr %t11750 %t11768 = load ptr, ptr %t410 %t11769 = getelementptr inbounds %LSlice, ptr %t11768, i32 0, i32 1 %t11770 = getelementptr inbounds %LSlice, ptr %t11768, i32 0, i32 2 %t11771 = getelementptr inbounds %LSlice, ptr %t11768, i32 0, i32 0 %t11772 = load i32, ptr %t11769 %t11773 = load i32, ptr %t11770 %t11774 = icmp sge i32 %t11772, %t11773 br i1 %t11774, label %grow2417, label %put2418 grow2417: %t11775 = mul i32 %t11773, 2 %t11776 = icmp eq i32 %t11773, 0 %t11777 = select i1 %t11776, i32 8, i32 %t11775 %t11778 = getelementptr ptr, ptr null, i32 1 %t11779 = ptrtoint ptr %t11778 to i64 %t11780 = zext i32 %t11777 to i64 %t11781 = mul i64 %t11780, %t11779 %t11782 = load ptr, ptr %t11771 %t11783 = call ptr @realloc(ptr %t11782, i64 %t11781) store ptr %t11783, ptr %t11771 store i32 %t11777, ptr %t11770 br label %put2418 put2418: %t11784 = load ptr, ptr %t11771 %t11785 = getelementptr inbounds ptr, ptr %t11784, i32 %t11772 store ptr @.str8610, ptr %t11785 %t11786 = add i32 %t11772, 1 store i32 %t11786, ptr %t11769 %t11787 = load ptr, ptr %t410 %t11788 = getelementptr inbounds %LSlice, ptr %t11787, i32 0, i32 1 %t11789 = getelementptr inbounds %LSlice, ptr %t11787, i32 0, i32 2 %t11790 = getelementptr inbounds %LSlice, ptr %t11787, i32 0, i32 0 %t11791 = load i32, ptr %t11788 %t11792 = load i32, ptr %t11789 %t11793 = icmp sge i32 %t11791, %t11792 br i1 %t11793, label %grow2419, label %put2420 grow2419: %t11794 = mul i32 %t11792, 2 %t11795 = icmp eq i32 %t11792, 0 %t11796 = select i1 %t11795, i32 8, i32 %t11794 %t11797 = getelementptr ptr, ptr null, i32 1 %t11798 = ptrtoint ptr %t11797 to i64 %t11799 = zext i32 %t11796 to i64 %t11800 = mul i64 %t11799, %t11798 %t11801 = load ptr, ptr %t11790 %t11802 = call ptr @realloc(ptr %t11801, i64 %t11800) store ptr %t11802, ptr %t11790 store i32 %t11796, ptr %t11789 br label %put2420 put2420: %t11803 = load ptr, ptr %t11790 %t11804 = getelementptr inbounds ptr, ptr %t11803, i32 %t11791 store ptr @.str8611, ptr %t11804 %t11805 = add i32 %t11791, 1 store i32 %t11805, ptr %t11788 %t11806 = load ptr, ptr %t410 %t11807 = getelementptr inbounds %LSlice, ptr %t11806, i32 0, i32 1 %t11808 = getelementptr inbounds %LSlice, ptr %t11806, i32 0, i32 2 %t11809 = getelementptr inbounds %LSlice, ptr %t11806, i32 0, i32 0 %t11810 = load i32, ptr %t11807 %t11811 = load i32, ptr %t11808 %t11812 = icmp sge i32 %t11810, %t11811 br i1 %t11812, label %grow2421, label %put2422 grow2421: %t11813 = mul i32 %t11811, 2 %t11814 = icmp eq i32 %t11811, 0 %t11815 = select i1 %t11814, i32 8, i32 %t11813 %t11816 = getelementptr ptr, ptr null, i32 1 %t11817 = ptrtoint ptr %t11816 to i64 %t11818 = zext i32 %t11815 to i64 %t11819 = mul i64 %t11818, %t11817 %t11820 = load ptr, ptr %t11809 %t11821 = call ptr @realloc(ptr %t11820, i64 %t11819) store ptr %t11821, ptr %t11809 store i32 %t11815, ptr %t11808 br label %put2422 put2422: %t11822 = load ptr, ptr %t11809 %t11823 = getelementptr inbounds ptr, ptr %t11822, i32 %t11810 store ptr @.str8612, ptr %t11823 %t11824 = add i32 %t11810, 1 store i32 %t11824, ptr %t11807 br label %ifend2410 ifend2410: br label %ifend2407 ifend2407: br label %ifend2381 ifend2381: %t11825 = load ptr, ptr %t0 %t11826 = call i32 @lp_str_eq(ptr %t11825, ptr @.str8613) %t11827 = icmp ne i32 %t11826, 0 br i1 %t11827, label %then2423, label %ifend2425 then2423: %t11828 = load ptr, ptr %t1 %t11829 = call i32 @lp_str_eq(ptr %t11828, ptr @.str8614) %t11830 = icmp ne i32 %t11829, 0 br i1 %t11830, label %then2426, label %ifend2428 then2426: store ptr @.str8615, ptr %t403 %t11831 = load ptr, ptr %t410 %t11832 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 1 %t11833 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 2 %t11834 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 0 %t11835 = load i32, ptr %t11832 %t11836 = load i32, ptr %t11833 %t11837 = icmp sge i32 %t11835, %t11836 br i1 %t11837, label %grow2429, label %put2430 grow2429: %t11838 = mul i32 %t11836, 2 %t11839 = icmp eq i32 %t11836, 0 %t11840 = select i1 %t11839, i32 8, i32 %t11838 %t11841 = getelementptr ptr, ptr null, i32 1 %t11842 = ptrtoint ptr %t11841 to i64 %t11843 = zext i32 %t11840 to i64 %t11844 = mul i64 %t11843, %t11842 %t11845 = load ptr, ptr %t11834 %t11846 = call ptr @realloc(ptr %t11845, i64 %t11844) store ptr %t11846, ptr %t11834 store i32 %t11840, ptr %t11833 br label %put2430 put2430: %t11847 = load ptr, ptr %t11834 %t11848 = getelementptr inbounds ptr, ptr %t11847, i32 %t11835 store ptr @.str8616, ptr %t11848 %t11849 = add i32 %t11835, 1 store i32 %t11849, ptr %t11832 %t11850 = load ptr, ptr %t410 %t11851 = getelementptr inbounds %LSlice, ptr %t11850, i32 0, i32 1 %t11852 = getelementptr inbounds %LSlice, ptr %t11850, i32 0, i32 2 %t11853 = getelementptr inbounds %LSlice, ptr %t11850, i32 0, i32 0 %t11854 = load i32, ptr %t11851 %t11855 = load i32, ptr %t11852 %t11856 = icmp sge i32 %t11854, %t11855 br i1 %t11856, label %grow2431, label %put2432 grow2431: %t11857 = mul i32 %t11855, 2 %t11858 = icmp eq i32 %t11855, 0 %t11859 = select i1 %t11858, i32 8, i32 %t11857 %t11860 = getelementptr ptr, ptr null, i32 1 %t11861 = ptrtoint ptr %t11860 to i64 %t11862 = zext i32 %t11859 to i64 %t11863 = mul i64 %t11862, %t11861 %t11864 = load ptr, ptr %t11853 %t11865 = call ptr @realloc(ptr %t11864, i64 %t11863) store ptr %t11865, ptr %t11853 store i32 %t11859, ptr %t11852 br label %put2432 put2432: %t11866 = load ptr, ptr %t11853 %t11867 = getelementptr inbounds ptr, ptr %t11866, i32 %t11854 store ptr @.str8617, ptr %t11867 %t11868 = add i32 %t11854, 1 store i32 %t11868, ptr %t11851 %t11869 = load ptr, ptr %t410 %t11870 = getelementptr inbounds %LSlice, ptr %t11869, i32 0, i32 1 %t11871 = getelementptr inbounds %LSlice, ptr %t11869, i32 0, i32 2 %t11872 = getelementptr inbounds %LSlice, ptr %t11869, i32 0, i32 0 %t11873 = load i32, ptr %t11870 %t11874 = load i32, ptr %t11871 %t11875 = icmp sge i32 %t11873, %t11874 br i1 %t11875, label %grow2433, label %put2434 grow2433: %t11876 = mul i32 %t11874, 2 %t11877 = icmp eq i32 %t11874, 0 %t11878 = select i1 %t11877, i32 8, i32 %t11876 %t11879 = getelementptr ptr, ptr null, i32 1 %t11880 = ptrtoint ptr %t11879 to i64 %t11881 = zext i32 %t11878 to i64 %t11882 = mul i64 %t11881, %t11880 %t11883 = load ptr, ptr %t11872 %t11884 = call ptr @realloc(ptr %t11883, i64 %t11882) store ptr %t11884, ptr %t11872 store i32 %t11878, ptr %t11871 br label %put2434 put2434: %t11885 = load ptr, ptr %t11872 %t11886 = getelementptr inbounds ptr, ptr %t11885, i32 %t11873 store ptr @.str8618, ptr %t11886 %t11887 = add i32 %t11873, 1 store i32 %t11887, ptr %t11870 %t11888 = load ptr, ptr %t410 %t11889 = getelementptr inbounds %LSlice, ptr %t11888, i32 0, i32 1 %t11890 = getelementptr inbounds %LSlice, ptr %t11888, i32 0, i32 2 %t11891 = getelementptr inbounds %LSlice, ptr %t11888, i32 0, i32 0 %t11892 = load i32, ptr %t11889 %t11893 = load i32, ptr %t11890 %t11894 = icmp sge i32 %t11892, %t11893 br i1 %t11894, label %grow2435, label %put2436 grow2435: %t11895 = mul i32 %t11893, 2 %t11896 = icmp eq i32 %t11893, 0 %t11897 = select i1 %t11896, i32 8, i32 %t11895 %t11898 = getelementptr ptr, ptr null, i32 1 %t11899 = ptrtoint ptr %t11898 to i64 %t11900 = zext i32 %t11897 to i64 %t11901 = mul i64 %t11900, %t11899 %t11902 = load ptr, ptr %t11891 %t11903 = call ptr @realloc(ptr %t11902, i64 %t11901) store ptr %t11903, ptr %t11891 store i32 %t11897, ptr %t11890 br label %put2436 put2436: %t11904 = load ptr, ptr %t11891 %t11905 = getelementptr inbounds ptr, ptr %t11904, i32 %t11892 store ptr @.str8619, ptr %t11905 %t11906 = add i32 %t11892, 1 store i32 %t11906, ptr %t11889 %t11907 = load ptr, ptr %t410 %t11908 = getelementptr inbounds %LSlice, ptr %t11907, i32 0, i32 1 %t11909 = getelementptr inbounds %LSlice, ptr %t11907, i32 0, i32 2 %t11910 = getelementptr inbounds %LSlice, ptr %t11907, i32 0, i32 0 %t11911 = load i32, ptr %t11908 %t11912 = load i32, ptr %t11909 %t11913 = icmp sge i32 %t11911, %t11912 br i1 %t11913, label %grow2437, label %put2438 grow2437: %t11914 = mul i32 %t11912, 2 %t11915 = icmp eq i32 %t11912, 0 %t11916 = select i1 %t11915, i32 8, i32 %t11914 %t11917 = getelementptr ptr, ptr null, i32 1 %t11918 = ptrtoint ptr %t11917 to i64 %t11919 = zext i32 %t11916 to i64 %t11920 = mul i64 %t11919, %t11918 %t11921 = load ptr, ptr %t11910 %t11922 = call ptr @realloc(ptr %t11921, i64 %t11920) store ptr %t11922, ptr %t11910 store i32 %t11916, ptr %t11909 br label %put2438 put2438: %t11923 = load ptr, ptr %t11910 %t11924 = getelementptr inbounds ptr, ptr %t11923, i32 %t11911 store ptr @.str8620, ptr %t11924 %t11925 = add i32 %t11911, 1 store i32 %t11925, ptr %t11908 br label %ifend2428 ifend2428: br label %ifend2425 ifend2425: %t11926 = load ptr, ptr %t0 %t11927 = call i32 @lp_str_eq(ptr %t11926, ptr @.str8621) %t11928 = icmp ne i32 %t11927, 0 br i1 %t11928, label %then2439, label %ifend2441 then2439: %t11929 = load ptr, ptr %t1 %t11930 = call i32 @lp_str_eq(ptr %t11929, ptr @.str8622) %t11931 = icmp ne i32 %t11930, 0 br i1 %t11931, label %then2442, label %ifend2444 then2442: store ptr @.str8623, ptr %t403 %t11932 = load ptr, ptr %t410 %t11933 = getelementptr inbounds %LSlice, ptr %t11932, i32 0, i32 1 %t11934 = getelementptr inbounds %LSlice, ptr %t11932, i32 0, i32 2 %t11935 = getelementptr inbounds %LSlice, ptr %t11932, i32 0, i32 0 %t11936 = load i32, ptr %t11933 %t11937 = load i32, ptr %t11934 %t11938 = icmp sge i32 %t11936, %t11937 br i1 %t11938, label %grow2445, label %put2446 grow2445: %t11939 = mul i32 %t11937, 2 %t11940 = icmp eq i32 %t11937, 0 %t11941 = select i1 %t11940, i32 8, i32 %t11939 %t11942 = getelementptr ptr, ptr null, i32 1 %t11943 = ptrtoint ptr %t11942 to i64 %t11944 = zext i32 %t11941 to i64 %t11945 = mul i64 %t11944, %t11943 %t11946 = load ptr, ptr %t11935 %t11947 = call ptr @realloc(ptr %t11946, i64 %t11945) store ptr %t11947, ptr %t11935 store i32 %t11941, ptr %t11934 br label %put2446 put2446: %t11948 = load ptr, ptr %t11935 %t11949 = getelementptr inbounds ptr, ptr %t11948, i32 %t11936 store ptr @.str8624, ptr %t11949 %t11950 = add i32 %t11936, 1 store i32 %t11950, ptr %t11933 %t11951 = load ptr, ptr %t410 %t11952 = getelementptr inbounds %LSlice, ptr %t11951, i32 0, i32 1 %t11953 = getelementptr inbounds %LSlice, ptr %t11951, i32 0, i32 2 %t11954 = getelementptr inbounds %LSlice, ptr %t11951, i32 0, i32 0 %t11955 = load i32, ptr %t11952 %t11956 = load i32, ptr %t11953 %t11957 = icmp sge i32 %t11955, %t11956 br i1 %t11957, label %grow2447, label %put2448 grow2447: %t11958 = mul i32 %t11956, 2 %t11959 = icmp eq i32 %t11956, 0 %t11960 = select i1 %t11959, i32 8, i32 %t11958 %t11961 = getelementptr ptr, ptr null, i32 1 %t11962 = ptrtoint ptr %t11961 to i64 %t11963 = zext i32 %t11960 to i64 %t11964 = mul i64 %t11963, %t11962 %t11965 = load ptr, ptr %t11954 %t11966 = call ptr @realloc(ptr %t11965, i64 %t11964) store ptr %t11966, ptr %t11954 store i32 %t11960, ptr %t11953 br label %put2448 put2448: %t11967 = load ptr, ptr %t11954 %t11968 = getelementptr inbounds ptr, ptr %t11967, i32 %t11955 store ptr @.str8625, ptr %t11968 %t11969 = add i32 %t11955, 1 store i32 %t11969, ptr %t11952 %t11970 = load ptr, ptr %t410 %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 %grow2449, label %put2450 grow2449: %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 %put2450 put2450: %t11986 = load ptr, ptr %t11973 %t11987 = getelementptr inbounds ptr, ptr %t11986, i32 %t11974 store ptr @.str8626, ptr %t11987 %t11988 = add i32 %t11974, 1 store i32 %t11988, ptr %t11971 %t11989 = load ptr, ptr %t410 %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 %grow2451, label %put2452 grow2451: %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 %put2452 put2452: %t12005 = load ptr, ptr %t11992 %t12006 = getelementptr inbounds ptr, ptr %t12005, i32 %t11993 store ptr @.str8627, ptr %t12006 %t12007 = add i32 %t11993, 1 store i32 %t12007, ptr %t11990 br label %ifend2444 ifend2444: %t12008 = load ptr, ptr %t1 %t12009 = call i32 @lp_str_eq(ptr %t12008, ptr @.str8628) %t12010 = icmp ne i32 %t12009, 0 br i1 %t12010, label %then2453, label %ifend2455 then2453: store ptr @.str8629, ptr %t403 %t12011 = load ptr, ptr %t410 %t12012 = getelementptr inbounds %LSlice, ptr %t12011, i32 0, i32 1 %t12013 = getelementptr inbounds %LSlice, ptr %t12011, i32 0, i32 2 %t12014 = getelementptr inbounds %LSlice, ptr %t12011, i32 0, i32 0 %t12015 = load i32, ptr %t12012 %t12016 = load i32, ptr %t12013 %t12017 = icmp sge i32 %t12015, %t12016 br i1 %t12017, label %grow2456, label %put2457 grow2456: %t12018 = mul i32 %t12016, 2 %t12019 = icmp eq i32 %t12016, 0 %t12020 = select i1 %t12019, i32 8, i32 %t12018 %t12021 = getelementptr ptr, ptr null, i32 1 %t12022 = ptrtoint ptr %t12021 to i64 %t12023 = zext i32 %t12020 to i64 %t12024 = mul i64 %t12023, %t12022 %t12025 = load ptr, ptr %t12014 %t12026 = call ptr @realloc(ptr %t12025, i64 %t12024) store ptr %t12026, ptr %t12014 store i32 %t12020, ptr %t12013 br label %put2457 put2457: %t12027 = load ptr, ptr %t12014 %t12028 = getelementptr inbounds ptr, ptr %t12027, i32 %t12015 store ptr @.str8630, ptr %t12028 %t12029 = add i32 %t12015, 1 store i32 %t12029, ptr %t12012 %t12030 = load ptr, ptr %t410 %t12031 = getelementptr inbounds %LSlice, ptr %t12030, i32 0, i32 1 %t12032 = getelementptr inbounds %LSlice, ptr %t12030, i32 0, i32 2 %t12033 = getelementptr inbounds %LSlice, ptr %t12030, i32 0, i32 0 %t12034 = load i32, ptr %t12031 %t12035 = load i32, ptr %t12032 %t12036 = icmp sge i32 %t12034, %t12035 br i1 %t12036, label %grow2458, label %put2459 grow2458: %t12037 = mul i32 %t12035, 2 %t12038 = icmp eq i32 %t12035, 0 %t12039 = select i1 %t12038, i32 8, i32 %t12037 %t12040 = getelementptr ptr, ptr null, i32 1 %t12041 = ptrtoint ptr %t12040 to i64 %t12042 = zext i32 %t12039 to i64 %t12043 = mul i64 %t12042, %t12041 %t12044 = load ptr, ptr %t12033 %t12045 = call ptr @realloc(ptr %t12044, i64 %t12043) store ptr %t12045, ptr %t12033 store i32 %t12039, ptr %t12032 br label %put2459 put2459: %t12046 = load ptr, ptr %t12033 %t12047 = getelementptr inbounds ptr, ptr %t12046, i32 %t12034 store ptr @.str8631, ptr %t12047 %t12048 = add i32 %t12034, 1 store i32 %t12048, ptr %t12031 %t12049 = load ptr, ptr %t410 %t12050 = getelementptr inbounds %LSlice, ptr %t12049, i32 0, i32 1 %t12051 = getelementptr inbounds %LSlice, ptr %t12049, i32 0, i32 2 %t12052 = getelementptr inbounds %LSlice, ptr %t12049, i32 0, i32 0 %t12053 = load i32, ptr %t12050 %t12054 = load i32, ptr %t12051 %t12055 = icmp sge i32 %t12053, %t12054 br i1 %t12055, label %grow2460, label %put2461 grow2460: %t12056 = mul i32 %t12054, 2 %t12057 = icmp eq i32 %t12054, 0 %t12058 = select i1 %t12057, i32 8, i32 %t12056 %t12059 = getelementptr ptr, ptr null, i32 1 %t12060 = ptrtoint ptr %t12059 to i64 %t12061 = zext i32 %t12058 to i64 %t12062 = mul i64 %t12061, %t12060 %t12063 = load ptr, ptr %t12052 %t12064 = call ptr @realloc(ptr %t12063, i64 %t12062) store ptr %t12064, ptr %t12052 store i32 %t12058, ptr %t12051 br label %put2461 put2461: %t12065 = load ptr, ptr %t12052 %t12066 = getelementptr inbounds ptr, ptr %t12065, i32 %t12053 store ptr @.str8632, ptr %t12066 %t12067 = add i32 %t12053, 1 store i32 %t12067, ptr %t12050 %t12068 = load ptr, ptr %t410 %t12069 = getelementptr inbounds %LSlice, ptr %t12068, i32 0, i32 1 %t12070 = getelementptr inbounds %LSlice, ptr %t12068, i32 0, i32 2 %t12071 = getelementptr inbounds %LSlice, ptr %t12068, i32 0, i32 0 %t12072 = load i32, ptr %t12069 %t12073 = load i32, ptr %t12070 %t12074 = icmp sge i32 %t12072, %t12073 br i1 %t12074, label %grow2462, label %put2463 grow2462: %t12075 = mul i32 %t12073, 2 %t12076 = icmp eq i32 %t12073, 0 %t12077 = select i1 %t12076, i32 8, i32 %t12075 %t12078 = getelementptr ptr, ptr null, i32 1 %t12079 = ptrtoint ptr %t12078 to i64 %t12080 = zext i32 %t12077 to i64 %t12081 = mul i64 %t12080, %t12079 %t12082 = load ptr, ptr %t12071 %t12083 = call ptr @realloc(ptr %t12082, i64 %t12081) store ptr %t12083, ptr %t12071 store i32 %t12077, ptr %t12070 br label %put2463 put2463: %t12084 = load ptr, ptr %t12071 %t12085 = getelementptr inbounds ptr, ptr %t12084, i32 %t12072 store ptr @.str8633, ptr %t12085 %t12086 = add i32 %t12072, 1 store i32 %t12086, ptr %t12069 br label %ifend2455 ifend2455: %t12087 = load ptr, ptr %t1 %t12088 = call i32 @lp_str_eq(ptr %t12087, ptr @.str8634) %t12089 = icmp ne i32 %t12088, 0 br i1 %t12089, label %then2464, label %ifend2466 then2464: store ptr @.str8635, ptr %t403 %t12090 = load ptr, ptr %t410 %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 %grow2467, label %put2468 grow2467: %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 %put2468 put2468: %t12106 = load ptr, ptr %t12093 %t12107 = getelementptr inbounds ptr, ptr %t12106, i32 %t12094 store ptr @.str8636, ptr %t12107 %t12108 = add i32 %t12094, 1 store i32 %t12108, ptr %t12091 %t12109 = load ptr, ptr %t410 %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 %grow2469, label %put2470 grow2469: %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 %put2470 put2470: %t12125 = load ptr, ptr %t12112 %t12126 = getelementptr inbounds ptr, ptr %t12125, i32 %t12113 store ptr @.str8637, ptr %t12126 %t12127 = add i32 %t12113, 1 store i32 %t12127, ptr %t12110 br label %ifend2466 ifend2466: %t12128 = load ptr, ptr %t1 %t12129 = call i32 @lp_str_eq(ptr %t12128, ptr @.str8638) %t12130 = icmp ne i32 %t12129, 0 br i1 %t12130, label %then2471, label %ifend2473 then2471: store ptr @.str8639, ptr %t403 %t12131 = load ptr, ptr %t410 %t12132 = getelementptr inbounds %LSlice, ptr %t12131, i32 0, i32 1 %t12133 = getelementptr inbounds %LSlice, ptr %t12131, i32 0, i32 2 %t12134 = getelementptr inbounds %LSlice, ptr %t12131, i32 0, i32 0 %t12135 = load i32, ptr %t12132 %t12136 = load i32, ptr %t12133 %t12137 = icmp sge i32 %t12135, %t12136 br i1 %t12137, label %grow2474, label %put2475 grow2474: %t12138 = mul i32 %t12136, 2 %t12139 = icmp eq i32 %t12136, 0 %t12140 = select i1 %t12139, i32 8, i32 %t12138 %t12141 = getelementptr ptr, ptr null, i32 1 %t12142 = ptrtoint ptr %t12141 to i64 %t12143 = zext i32 %t12140 to i64 %t12144 = mul i64 %t12143, %t12142 %t12145 = load ptr, ptr %t12134 %t12146 = call ptr @realloc(ptr %t12145, i64 %t12144) store ptr %t12146, ptr %t12134 store i32 %t12140, ptr %t12133 br label %put2475 put2475: %t12147 = load ptr, ptr %t12134 %t12148 = getelementptr inbounds ptr, ptr %t12147, i32 %t12135 store ptr @.str8640, ptr %t12148 %t12149 = add i32 %t12135, 1 store i32 %t12149, ptr %t12132 br label %ifend2473 ifend2473: %t12150 = load ptr, ptr %t1 %t12151 = call i32 @lp_str_eq(ptr %t12150, ptr @.str8641) %t12152 = icmp ne i32 %t12151, 0 br i1 %t12152, label %then2476, label %ifend2478 then2476: store ptr @.str8642, ptr %t403 %t12153 = load ptr, ptr %t410 %t12154 = getelementptr inbounds %LSlice, ptr %t12153, i32 0, i32 1 %t12155 = getelementptr inbounds %LSlice, ptr %t12153, i32 0, i32 2 %t12156 = getelementptr inbounds %LSlice, ptr %t12153, i32 0, i32 0 %t12157 = load i32, ptr %t12154 %t12158 = load i32, ptr %t12155 %t12159 = icmp sge i32 %t12157, %t12158 br i1 %t12159, label %grow2479, label %put2480 grow2479: %t12160 = mul i32 %t12158, 2 %t12161 = icmp eq i32 %t12158, 0 %t12162 = select i1 %t12161, i32 8, i32 %t12160 %t12163 = getelementptr ptr, ptr null, i32 1 %t12164 = ptrtoint ptr %t12163 to i64 %t12165 = zext i32 %t12162 to i64 %t12166 = mul i64 %t12165, %t12164 %t12167 = load ptr, ptr %t12156 %t12168 = call ptr @realloc(ptr %t12167, i64 %t12166) store ptr %t12168, ptr %t12156 store i32 %t12162, ptr %t12155 br label %put2480 put2480: %t12169 = load ptr, ptr %t12156 %t12170 = getelementptr inbounds ptr, ptr %t12169, i32 %t12157 store ptr @.str8643, ptr %t12170 %t12171 = add i32 %t12157, 1 store i32 %t12171, ptr %t12154 br label %ifend2478 ifend2478: %t12172 = load ptr, ptr %t1 %t12173 = call i32 @lp_str_eq(ptr %t12172, ptr @.str8644) %t12174 = icmp ne i32 %t12173, 0 br i1 %t12174, label %then2481, label %ifend2483 then2481: store ptr @.str8645, ptr %t403 %t12175 = load ptr, ptr %t410 %t12176 = getelementptr inbounds %LSlice, ptr %t12175, i32 0, i32 1 %t12177 = getelementptr inbounds %LSlice, ptr %t12175, i32 0, i32 2 %t12178 = getelementptr inbounds %LSlice, ptr %t12175, i32 0, i32 0 %t12179 = load i32, ptr %t12176 %t12180 = load i32, ptr %t12177 %t12181 = icmp sge i32 %t12179, %t12180 br i1 %t12181, label %grow2484, label %put2485 grow2484: %t12182 = mul i32 %t12180, 2 %t12183 = icmp eq i32 %t12180, 0 %t12184 = select i1 %t12183, i32 8, i32 %t12182 %t12185 = getelementptr ptr, ptr null, i32 1 %t12186 = ptrtoint ptr %t12185 to i64 %t12187 = zext i32 %t12184 to i64 %t12188 = mul i64 %t12187, %t12186 %t12189 = load ptr, ptr %t12178 %t12190 = call ptr @realloc(ptr %t12189, i64 %t12188) store ptr %t12190, ptr %t12178 store i32 %t12184, ptr %t12177 br label %put2485 put2485: %t12191 = load ptr, ptr %t12178 %t12192 = getelementptr inbounds ptr, ptr %t12191, i32 %t12179 store ptr @.str8646, ptr %t12192 %t12193 = add i32 %t12179, 1 store i32 %t12193, ptr %t12176 %t12194 = load ptr, ptr %t410 %t12195 = getelementptr inbounds %LSlice, ptr %t12194, i32 0, i32 1 %t12196 = getelementptr inbounds %LSlice, ptr %t12194, i32 0, i32 2 %t12197 = getelementptr inbounds %LSlice, ptr %t12194, i32 0, i32 0 %t12198 = load i32, ptr %t12195 %t12199 = load i32, ptr %t12196 %t12200 = icmp sge i32 %t12198, %t12199 br i1 %t12200, label %grow2486, label %put2487 grow2486: %t12201 = mul i32 %t12199, 2 %t12202 = icmp eq i32 %t12199, 0 %t12203 = select i1 %t12202, i32 8, i32 %t12201 %t12204 = getelementptr ptr, ptr null, i32 1 %t12205 = ptrtoint ptr %t12204 to i64 %t12206 = zext i32 %t12203 to i64 %t12207 = mul i64 %t12206, %t12205 %t12208 = load ptr, ptr %t12197 %t12209 = call ptr @realloc(ptr %t12208, i64 %t12207) store ptr %t12209, ptr %t12197 store i32 %t12203, ptr %t12196 br label %put2487 put2487: %t12210 = load ptr, ptr %t12197 %t12211 = getelementptr inbounds ptr, ptr %t12210, i32 %t12198 store ptr @.str8647, ptr %t12211 %t12212 = add i32 %t12198, 1 store i32 %t12212, ptr %t12195 br label %ifend2483 ifend2483: br label %ifend2441 ifend2441: %t12213 = load ptr, ptr %t0 %t12214 = call i32 @lp_str_eq(ptr %t12213, ptr @.str8648) %t12215 = icmp ne i32 %t12214, 0 br i1 %t12215, label %then2488, label %ifend2490 then2488: %t12216 = load ptr, ptr %t1 %t12217 = call i32 @lp_str_eq(ptr %t12216, ptr @.str8649) %t12218 = icmp ne i32 %t12217, 0 br i1 %t12218, label %then2491, label %ifend2493 then2491: store ptr @.str8650, ptr %t403 %t12219 = load ptr, ptr %t410 %t12220 = getelementptr inbounds %LSlice, ptr %t12219, i32 0, i32 1 %t12221 = getelementptr inbounds %LSlice, ptr %t12219, i32 0, i32 2 %t12222 = getelementptr inbounds %LSlice, ptr %t12219, i32 0, i32 0 %t12223 = load i32, ptr %t12220 %t12224 = load i32, ptr %t12221 %t12225 = icmp sge i32 %t12223, %t12224 br i1 %t12225, label %grow2494, label %put2495 grow2494: %t12226 = mul i32 %t12224, 2 %t12227 = icmp eq i32 %t12224, 0 %t12228 = select i1 %t12227, i32 8, i32 %t12226 %t12229 = getelementptr ptr, ptr null, i32 1 %t12230 = ptrtoint ptr %t12229 to i64 %t12231 = zext i32 %t12228 to i64 %t12232 = mul i64 %t12231, %t12230 %t12233 = load ptr, ptr %t12222 %t12234 = call ptr @realloc(ptr %t12233, i64 %t12232) store ptr %t12234, ptr %t12222 store i32 %t12228, ptr %t12221 br label %put2495 put2495: %t12235 = load ptr, ptr %t12222 %t12236 = getelementptr inbounds ptr, ptr %t12235, i32 %t12223 store ptr @.str8651, ptr %t12236 %t12237 = add i32 %t12223, 1 store i32 %t12237, ptr %t12220 br label %ifend2493 ifend2493: %t12238 = load ptr, ptr %t1 %t12239 = call i32 @lp_str_eq(ptr %t12238, ptr @.str8652) %t12240 = icmp ne i32 %t12239, 0 br i1 %t12240, label %then2496, label %ifend2498 then2496: store ptr @.str8653, ptr %t403 %t12241 = load ptr, ptr %t410 %t12242 = getelementptr inbounds %LSlice, ptr %t12241, i32 0, i32 1 %t12243 = getelementptr inbounds %LSlice, ptr %t12241, i32 0, i32 2 %t12244 = getelementptr inbounds %LSlice, ptr %t12241, i32 0, i32 0 %t12245 = load i32, ptr %t12242 %t12246 = load i32, ptr %t12243 %t12247 = icmp sge i32 %t12245, %t12246 br i1 %t12247, label %grow2499, label %put2500 grow2499: %t12248 = mul i32 %t12246, 2 %t12249 = icmp eq i32 %t12246, 0 %t12250 = select i1 %t12249, i32 8, i32 %t12248 %t12251 = getelementptr ptr, ptr null, i32 1 %t12252 = ptrtoint ptr %t12251 to i64 %t12253 = zext i32 %t12250 to i64 %t12254 = mul i64 %t12253, %t12252 %t12255 = load ptr, ptr %t12244 %t12256 = call ptr @realloc(ptr %t12255, i64 %t12254) store ptr %t12256, ptr %t12244 store i32 %t12250, ptr %t12243 br label %put2500 put2500: %t12257 = load ptr, ptr %t12244 %t12258 = getelementptr inbounds ptr, ptr %t12257, i32 %t12245 store ptr @.str8654, ptr %t12258 %t12259 = add i32 %t12245, 1 store i32 %t12259, ptr %t12242 br label %ifend2498 ifend2498: %t12260 = load ptr, ptr %t1 %t12261 = call i32 @lp_str_eq(ptr %t12260, ptr @.str8655) %t12262 = icmp ne i32 %t12261, 0 br i1 %t12262, label %then2501, label %ifend2503 then2501: store ptr @.str8656, ptr %t403 %t12263 = load ptr, ptr %t410 %t12264 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 1 %t12265 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 2 %t12266 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 0 %t12267 = load i32, ptr %t12264 %t12268 = load i32, ptr %t12265 %t12269 = icmp sge i32 %t12267, %t12268 br i1 %t12269, label %grow2504, label %put2505 grow2504: %t12270 = mul i32 %t12268, 2 %t12271 = icmp eq i32 %t12268, 0 %t12272 = select i1 %t12271, i32 8, i32 %t12270 %t12273 = getelementptr ptr, ptr null, i32 1 %t12274 = ptrtoint ptr %t12273 to i64 %t12275 = zext i32 %t12272 to i64 %t12276 = mul i64 %t12275, %t12274 %t12277 = load ptr, ptr %t12266 %t12278 = call ptr @realloc(ptr %t12277, i64 %t12276) store ptr %t12278, ptr %t12266 store i32 %t12272, ptr %t12265 br label %put2505 put2505: %t12279 = load ptr, ptr %t12266 %t12280 = getelementptr inbounds ptr, ptr %t12279, i32 %t12267 store ptr @.str8657, ptr %t12280 %t12281 = add i32 %t12267, 1 store i32 %t12281, ptr %t12264 %t12282 = load ptr, ptr %t410 %t12283 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 1 %t12284 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 2 %t12285 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 0 %t12286 = load i32, ptr %t12283 %t12287 = load i32, ptr %t12284 %t12288 = icmp sge i32 %t12286, %t12287 br i1 %t12288, label %grow2506, label %put2507 grow2506: %t12289 = mul i32 %t12287, 2 %t12290 = icmp eq i32 %t12287, 0 %t12291 = select i1 %t12290, i32 8, i32 %t12289 %t12292 = getelementptr ptr, ptr null, i32 1 %t12293 = ptrtoint ptr %t12292 to i64 %t12294 = zext i32 %t12291 to i64 %t12295 = mul i64 %t12294, %t12293 %t12296 = load ptr, ptr %t12285 %t12297 = call ptr @realloc(ptr %t12296, i64 %t12295) store ptr %t12297, ptr %t12285 store i32 %t12291, ptr %t12284 br label %put2507 put2507: %t12298 = load ptr, ptr %t12285 %t12299 = getelementptr inbounds ptr, ptr %t12298, i32 %t12286 store ptr @.str8658, ptr %t12299 %t12300 = add i32 %t12286, 1 store i32 %t12300, ptr %t12283 %t12301 = load ptr, ptr %t410 %t12302 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 1 %t12303 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 2 %t12304 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 0 %t12305 = load i32, ptr %t12302 %t12306 = load i32, ptr %t12303 %t12307 = icmp sge i32 %t12305, %t12306 br i1 %t12307, label %grow2508, label %put2509 grow2508: %t12308 = mul i32 %t12306, 2 %t12309 = icmp eq i32 %t12306, 0 %t12310 = select i1 %t12309, i32 8, i32 %t12308 %t12311 = getelementptr ptr, ptr null, i32 1 %t12312 = ptrtoint ptr %t12311 to i64 %t12313 = zext i32 %t12310 to i64 %t12314 = mul i64 %t12313, %t12312 %t12315 = load ptr, ptr %t12304 %t12316 = call ptr @realloc(ptr %t12315, i64 %t12314) store ptr %t12316, ptr %t12304 store i32 %t12310, ptr %t12303 br label %put2509 put2509: %t12317 = load ptr, ptr %t12304 %t12318 = getelementptr inbounds ptr, ptr %t12317, i32 %t12305 store ptr @.str8659, ptr %t12318 %t12319 = add i32 %t12305, 1 store i32 %t12319, ptr %t12302 %t12320 = load ptr, ptr %t410 %t12321 = getelementptr inbounds %LSlice, ptr %t12320, i32 0, i32 1 %t12322 = getelementptr inbounds %LSlice, ptr %t12320, i32 0, i32 2 %t12323 = getelementptr inbounds %LSlice, ptr %t12320, i32 0, i32 0 %t12324 = load i32, ptr %t12321 %t12325 = load i32, ptr %t12322 %t12326 = icmp sge i32 %t12324, %t12325 br i1 %t12326, label %grow2510, label %put2511 grow2510: %t12327 = mul i32 %t12325, 2 %t12328 = icmp eq i32 %t12325, 0 %t12329 = select i1 %t12328, i32 8, i32 %t12327 %t12330 = getelementptr ptr, ptr null, i32 1 %t12331 = ptrtoint ptr %t12330 to i64 %t12332 = zext i32 %t12329 to i64 %t12333 = mul i64 %t12332, %t12331 %t12334 = load ptr, ptr %t12323 %t12335 = call ptr @realloc(ptr %t12334, i64 %t12333) store ptr %t12335, ptr %t12323 store i32 %t12329, ptr %t12322 br label %put2511 put2511: %t12336 = load ptr, ptr %t12323 %t12337 = getelementptr inbounds ptr, ptr %t12336, i32 %t12324 store ptr @.str8660, ptr %t12337 %t12338 = add i32 %t12324, 1 store i32 %t12338, ptr %t12321 %t12339 = load ptr, ptr %t410 %t12340 = getelementptr inbounds %LSlice, ptr %t12339, i32 0, i32 1 %t12341 = getelementptr inbounds %LSlice, ptr %t12339, i32 0, i32 2 %t12342 = getelementptr inbounds %LSlice, ptr %t12339, i32 0, i32 0 %t12343 = load i32, ptr %t12340 %t12344 = load i32, ptr %t12341 %t12345 = icmp sge i32 %t12343, %t12344 br i1 %t12345, label %grow2512, label %put2513 grow2512: %t12346 = mul i32 %t12344, 2 %t12347 = icmp eq i32 %t12344, 0 %t12348 = select i1 %t12347, i32 8, i32 %t12346 %t12349 = getelementptr ptr, ptr null, i32 1 %t12350 = ptrtoint ptr %t12349 to i64 %t12351 = zext i32 %t12348 to i64 %t12352 = mul i64 %t12351, %t12350 %t12353 = load ptr, ptr %t12342 %t12354 = call ptr @realloc(ptr %t12353, i64 %t12352) store ptr %t12354, ptr %t12342 store i32 %t12348, ptr %t12341 br label %put2513 put2513: %t12355 = load ptr, ptr %t12342 %t12356 = getelementptr inbounds ptr, ptr %t12355, i32 %t12343 store ptr @.str8661, ptr %t12356 %t12357 = add i32 %t12343, 1 store i32 %t12357, ptr %t12340 %t12358 = load ptr, ptr %t410 %t12359 = getelementptr inbounds %LSlice, ptr %t12358, i32 0, i32 1 %t12360 = getelementptr inbounds %LSlice, ptr %t12358, i32 0, i32 2 %t12361 = getelementptr inbounds %LSlice, ptr %t12358, i32 0, i32 0 %t12362 = load i32, ptr %t12359 %t12363 = load i32, ptr %t12360 %t12364 = icmp sge i32 %t12362, %t12363 br i1 %t12364, label %grow2514, label %put2515 grow2514: %t12365 = mul i32 %t12363, 2 %t12366 = icmp eq i32 %t12363, 0 %t12367 = select i1 %t12366, i32 8, i32 %t12365 %t12368 = getelementptr ptr, ptr null, i32 1 %t12369 = ptrtoint ptr %t12368 to i64 %t12370 = zext i32 %t12367 to i64 %t12371 = mul i64 %t12370, %t12369 %t12372 = load ptr, ptr %t12361 %t12373 = call ptr @realloc(ptr %t12372, i64 %t12371) store ptr %t12373, ptr %t12361 store i32 %t12367, ptr %t12360 br label %put2515 put2515: %t12374 = load ptr, ptr %t12361 %t12375 = getelementptr inbounds ptr, ptr %t12374, i32 %t12362 store ptr @.str8662, ptr %t12375 %t12376 = add i32 %t12362, 1 store i32 %t12376, ptr %t12359 br label %ifend2503 ifend2503: %t12377 = load ptr, ptr %t1 %t12378 = call i32 @lp_str_eq(ptr %t12377, ptr @.str8663) %t12379 = icmp ne i32 %t12378, 0 br i1 %t12379, label %then2516, label %ifend2518 then2516: store ptr @.str8664, ptr %t403 %t12380 = load ptr, ptr %t410 %t12381 = getelementptr inbounds %LSlice, ptr %t12380, i32 0, i32 1 %t12382 = getelementptr inbounds %LSlice, ptr %t12380, i32 0, i32 2 %t12383 = getelementptr inbounds %LSlice, ptr %t12380, i32 0, i32 0 %t12384 = load i32, ptr %t12381 %t12385 = load i32, ptr %t12382 %t12386 = icmp sge i32 %t12384, %t12385 br i1 %t12386, label %grow2519, label %put2520 grow2519: %t12387 = mul i32 %t12385, 2 %t12388 = icmp eq i32 %t12385, 0 %t12389 = select i1 %t12388, i32 8, i32 %t12387 %t12390 = getelementptr ptr, ptr null, i32 1 %t12391 = ptrtoint ptr %t12390 to i64 %t12392 = zext i32 %t12389 to i64 %t12393 = mul i64 %t12392, %t12391 %t12394 = load ptr, ptr %t12383 %t12395 = call ptr @realloc(ptr %t12394, i64 %t12393) store ptr %t12395, ptr %t12383 store i32 %t12389, ptr %t12382 br label %put2520 put2520: %t12396 = load ptr, ptr %t12383 %t12397 = getelementptr inbounds ptr, ptr %t12396, i32 %t12384 store ptr @.str8665, ptr %t12397 %t12398 = add i32 %t12384, 1 store i32 %t12398, ptr %t12381 %t12399 = load ptr, ptr %t410 %t12400 = getelementptr inbounds %LSlice, ptr %t12399, i32 0, i32 1 %t12401 = getelementptr inbounds %LSlice, ptr %t12399, i32 0, i32 2 %t12402 = getelementptr inbounds %LSlice, ptr %t12399, i32 0, i32 0 %t12403 = load i32, ptr %t12400 %t12404 = load i32, ptr %t12401 %t12405 = icmp sge i32 %t12403, %t12404 br i1 %t12405, label %grow2521, label %put2522 grow2521: %t12406 = mul i32 %t12404, 2 %t12407 = icmp eq i32 %t12404, 0 %t12408 = select i1 %t12407, i32 8, i32 %t12406 %t12409 = getelementptr ptr, ptr null, i32 1 %t12410 = ptrtoint ptr %t12409 to i64 %t12411 = zext i32 %t12408 to i64 %t12412 = mul i64 %t12411, %t12410 %t12413 = load ptr, ptr %t12402 %t12414 = call ptr @realloc(ptr %t12413, i64 %t12412) store ptr %t12414, ptr %t12402 store i32 %t12408, ptr %t12401 br label %put2522 put2522: %t12415 = load ptr, ptr %t12402 %t12416 = getelementptr inbounds ptr, ptr %t12415, i32 %t12403 store ptr @.str8666, ptr %t12416 %t12417 = add i32 %t12403, 1 store i32 %t12417, ptr %t12400 %t12418 = load ptr, ptr %t410 %t12419 = getelementptr inbounds %LSlice, ptr %t12418, i32 0, i32 1 %t12420 = getelementptr inbounds %LSlice, ptr %t12418, i32 0, i32 2 %t12421 = getelementptr inbounds %LSlice, ptr %t12418, i32 0, i32 0 %t12422 = load i32, ptr %t12419 %t12423 = load i32, ptr %t12420 %t12424 = icmp sge i32 %t12422, %t12423 br i1 %t12424, label %grow2523, label %put2524 grow2523: %t12425 = mul i32 %t12423, 2 %t12426 = icmp eq i32 %t12423, 0 %t12427 = select i1 %t12426, i32 8, i32 %t12425 %t12428 = getelementptr ptr, ptr null, i32 1 %t12429 = ptrtoint ptr %t12428 to i64 %t12430 = zext i32 %t12427 to i64 %t12431 = mul i64 %t12430, %t12429 %t12432 = load ptr, ptr %t12421 %t12433 = call ptr @realloc(ptr %t12432, i64 %t12431) store ptr %t12433, ptr %t12421 store i32 %t12427, ptr %t12420 br label %put2524 put2524: %t12434 = load ptr, ptr %t12421 %t12435 = getelementptr inbounds ptr, ptr %t12434, i32 %t12422 store ptr @.str8667, ptr %t12435 %t12436 = add i32 %t12422, 1 store i32 %t12436, ptr %t12419 %t12437 = load ptr, ptr %t410 %t12438 = getelementptr inbounds %LSlice, ptr %t12437, i32 0, i32 1 %t12439 = getelementptr inbounds %LSlice, ptr %t12437, i32 0, i32 2 %t12440 = getelementptr inbounds %LSlice, ptr %t12437, i32 0, i32 0 %t12441 = load i32, ptr %t12438 %t12442 = load i32, ptr %t12439 %t12443 = icmp sge i32 %t12441, %t12442 br i1 %t12443, label %grow2525, label %put2526 grow2525: %t12444 = mul i32 %t12442, 2 %t12445 = icmp eq i32 %t12442, 0 %t12446 = select i1 %t12445, i32 8, i32 %t12444 %t12447 = getelementptr ptr, ptr null, i32 1 %t12448 = ptrtoint ptr %t12447 to i64 %t12449 = zext i32 %t12446 to i64 %t12450 = mul i64 %t12449, %t12448 %t12451 = load ptr, ptr %t12440 %t12452 = call ptr @realloc(ptr %t12451, i64 %t12450) store ptr %t12452, ptr %t12440 store i32 %t12446, ptr %t12439 br label %put2526 put2526: %t12453 = load ptr, ptr %t12440 %t12454 = getelementptr inbounds ptr, ptr %t12453, i32 %t12441 store ptr @.str8668, ptr %t12454 %t12455 = add i32 %t12441, 1 store i32 %t12455, ptr %t12438 %t12456 = load ptr, ptr %t410 %t12457 = getelementptr inbounds %LSlice, ptr %t12456, i32 0, i32 1 %t12458 = getelementptr inbounds %LSlice, ptr %t12456, i32 0, i32 2 %t12459 = getelementptr inbounds %LSlice, ptr %t12456, i32 0, i32 0 %t12460 = load i32, ptr %t12457 %t12461 = load i32, ptr %t12458 %t12462 = icmp sge i32 %t12460, %t12461 br i1 %t12462, label %grow2527, label %put2528 grow2527: %t12463 = mul i32 %t12461, 2 %t12464 = icmp eq i32 %t12461, 0 %t12465 = select i1 %t12464, i32 8, i32 %t12463 %t12466 = getelementptr ptr, ptr null, i32 1 %t12467 = ptrtoint ptr %t12466 to i64 %t12468 = zext i32 %t12465 to i64 %t12469 = mul i64 %t12468, %t12467 %t12470 = load ptr, ptr %t12459 %t12471 = call ptr @realloc(ptr %t12470, i64 %t12469) store ptr %t12471, ptr %t12459 store i32 %t12465, ptr %t12458 br label %put2528 put2528: %t12472 = load ptr, ptr %t12459 %t12473 = getelementptr inbounds ptr, ptr %t12472, i32 %t12460 store ptr @.str8669, ptr %t12473 %t12474 = add i32 %t12460, 1 store i32 %t12474, ptr %t12457 %t12475 = load ptr, ptr %t410 %t12476 = getelementptr inbounds %LSlice, ptr %t12475, i32 0, i32 1 %t12477 = getelementptr inbounds %LSlice, ptr %t12475, i32 0, i32 2 %t12478 = getelementptr inbounds %LSlice, ptr %t12475, i32 0, i32 0 %t12479 = load i32, ptr %t12476 %t12480 = load i32, ptr %t12477 %t12481 = icmp sge i32 %t12479, %t12480 br i1 %t12481, label %grow2529, label %put2530 grow2529: %t12482 = mul i32 %t12480, 2 %t12483 = icmp eq i32 %t12480, 0 %t12484 = select i1 %t12483, i32 8, i32 %t12482 %t12485 = getelementptr ptr, ptr null, i32 1 %t12486 = ptrtoint ptr %t12485 to i64 %t12487 = zext i32 %t12484 to i64 %t12488 = mul i64 %t12487, %t12486 %t12489 = load ptr, ptr %t12478 %t12490 = call ptr @realloc(ptr %t12489, i64 %t12488) store ptr %t12490, ptr %t12478 store i32 %t12484, ptr %t12477 br label %put2530 put2530: %t12491 = load ptr, ptr %t12478 %t12492 = getelementptr inbounds ptr, ptr %t12491, i32 %t12479 store ptr @.str8670, ptr %t12492 %t12493 = add i32 %t12479, 1 store i32 %t12493, ptr %t12476 %t12494 = load ptr, ptr %t410 %t12495 = getelementptr inbounds %LSlice, ptr %t12494, i32 0, i32 1 %t12496 = getelementptr inbounds %LSlice, ptr %t12494, i32 0, i32 2 %t12497 = getelementptr inbounds %LSlice, ptr %t12494, i32 0, i32 0 %t12498 = load i32, ptr %t12495 %t12499 = load i32, ptr %t12496 %t12500 = icmp sge i32 %t12498, %t12499 br i1 %t12500, label %grow2531, label %put2532 grow2531: %t12501 = mul i32 %t12499, 2 %t12502 = icmp eq i32 %t12499, 0 %t12503 = select i1 %t12502, i32 8, i32 %t12501 %t12504 = getelementptr ptr, ptr null, i32 1 %t12505 = ptrtoint ptr %t12504 to i64 %t12506 = zext i32 %t12503 to i64 %t12507 = mul i64 %t12506, %t12505 %t12508 = load ptr, ptr %t12497 %t12509 = call ptr @realloc(ptr %t12508, i64 %t12507) store ptr %t12509, ptr %t12497 store i32 %t12503, ptr %t12496 br label %put2532 put2532: %t12510 = load ptr, ptr %t12497 %t12511 = getelementptr inbounds ptr, ptr %t12510, i32 %t12498 store ptr @.str8671, ptr %t12511 %t12512 = add i32 %t12498, 1 store i32 %t12512, ptr %t12495 br label %ifend2518 ifend2518: br label %ifend2490 ifend2490: %t12513 = load ptr, ptr %t0 %t12514 = call i32 @lp_str_eq(ptr %t12513, ptr @.str8672) %t12515 = icmp ne i32 %t12514, 0 br i1 %t12515, label %then2533, label %ifend2535 then2533: %t12516 = load ptr, ptr %t1 %t12517 = call i32 @lp_str_eq(ptr %t12516, ptr @.str8673) %t12518 = icmp ne i32 %t12517, 0 br i1 %t12518, label %then2536, label %ifend2538 then2536: store ptr @.str8674, ptr %t403 %t12519 = load ptr, ptr %t410 %t12520 = getelementptr inbounds %LSlice, ptr %t12519, i32 0, i32 1 %t12521 = getelementptr inbounds %LSlice, ptr %t12519, i32 0, i32 2 %t12522 = getelementptr inbounds %LSlice, ptr %t12519, i32 0, i32 0 %t12523 = load i32, ptr %t12520 %t12524 = load i32, ptr %t12521 %t12525 = icmp sge i32 %t12523, %t12524 br i1 %t12525, label %grow2539, label %put2540 grow2539: %t12526 = mul i32 %t12524, 2 %t12527 = icmp eq i32 %t12524, 0 %t12528 = select i1 %t12527, i32 8, i32 %t12526 %t12529 = getelementptr ptr, ptr null, i32 1 %t12530 = ptrtoint ptr %t12529 to i64 %t12531 = zext i32 %t12528 to i64 %t12532 = mul i64 %t12531, %t12530 %t12533 = load ptr, ptr %t12522 %t12534 = call ptr @realloc(ptr %t12533, i64 %t12532) store ptr %t12534, ptr %t12522 store i32 %t12528, ptr %t12521 br label %put2540 put2540: %t12535 = load ptr, ptr %t12522 %t12536 = getelementptr inbounds ptr, ptr %t12535, i32 %t12523 store ptr @.str8675, ptr %t12536 %t12537 = add i32 %t12523, 1 store i32 %t12537, ptr %t12520 br label %ifend2538 ifend2538: %t12538 = load ptr, ptr %t1 %t12539 = call i32 @lp_str_eq(ptr %t12538, ptr @.str8676) %t12540 = icmp ne i32 %t12539, 0 br i1 %t12540, label %then2541, label %ifend2543 then2541: store ptr @.str8677, ptr %t403 %t12541 = load ptr, ptr %t410 %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 %grow2544, label %put2545 grow2544: %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 %put2545 put2545: %t12557 = load ptr, ptr %t12544 %t12558 = getelementptr inbounds ptr, ptr %t12557, i32 %t12545 store ptr @.str8678, ptr %t12558 %t12559 = add i32 %t12545, 1 store i32 %t12559, ptr %t12542 %t12560 = load ptr, ptr %t410 %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 %grow2546, label %put2547 grow2546: %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 %put2547 put2547: %t12576 = load ptr, ptr %t12563 %t12577 = getelementptr inbounds ptr, ptr %t12576, i32 %t12564 store ptr @.str8679, ptr %t12577 %t12578 = add i32 %t12564, 1 store i32 %t12578, ptr %t12561 br label %ifend2543 ifend2543: %t12579 = load ptr, ptr %t1 %t12580 = call i32 @lp_str_eq(ptr %t12579, ptr @.str8680) %t12581 = icmp ne i32 %t12580, 0 br i1 %t12581, label %then2548, label %ifend2550 then2548: store ptr @.str8681, ptr %t403 br label %ifend2550 ifend2550: %t12582 = load ptr, ptr %t1 %t12583 = call i32 @lp_str_eq(ptr %t12582, ptr @.str8682) %t12584 = icmp ne i32 %t12583, 0 br i1 %t12584, label %then2551, label %ifend2553 then2551: store ptr @.str8683, ptr %t403 %t12585 = load ptr, ptr %t410 %t12586 = getelementptr inbounds %LSlice, ptr %t12585, i32 0, i32 1 %t12587 = getelementptr inbounds %LSlice, ptr %t12585, i32 0, i32 2 %t12588 = getelementptr inbounds %LSlice, ptr %t12585, i32 0, i32 0 %t12589 = load i32, ptr %t12586 %t12590 = load i32, ptr %t12587 %t12591 = icmp sge i32 %t12589, %t12590 br i1 %t12591, label %grow2554, label %put2555 grow2554: %t12592 = mul i32 %t12590, 2 %t12593 = icmp eq i32 %t12590, 0 %t12594 = select i1 %t12593, i32 8, i32 %t12592 %t12595 = getelementptr ptr, ptr null, i32 1 %t12596 = ptrtoint ptr %t12595 to i64 %t12597 = zext i32 %t12594 to i64 %t12598 = mul i64 %t12597, %t12596 %t12599 = load ptr, ptr %t12588 %t12600 = call ptr @realloc(ptr %t12599, i64 %t12598) store ptr %t12600, ptr %t12588 store i32 %t12594, ptr %t12587 br label %put2555 put2555: %t12601 = load ptr, ptr %t12588 %t12602 = getelementptr inbounds ptr, ptr %t12601, i32 %t12589 store ptr @.str8684, ptr %t12602 %t12603 = add i32 %t12589, 1 store i32 %t12603, ptr %t12586 br label %ifend2553 ifend2553: %t12604 = load ptr, ptr %t1 %t12605 = call i32 @lp_str_eq(ptr %t12604, ptr @.str8685) %t12606 = icmp ne i32 %t12605, 0 br i1 %t12606, label %then2556, label %ifend2558 then2556: store ptr @.str8686, ptr %t403 %t12607 = load ptr, ptr %t410 %t12608 = getelementptr inbounds %LSlice, ptr %t12607, i32 0, i32 1 %t12609 = getelementptr inbounds %LSlice, ptr %t12607, i32 0, i32 2 %t12610 = getelementptr inbounds %LSlice, ptr %t12607, i32 0, i32 0 %t12611 = load i32, ptr %t12608 %t12612 = load i32, ptr %t12609 %t12613 = icmp sge i32 %t12611, %t12612 br i1 %t12613, label %grow2559, label %put2560 grow2559: %t12614 = mul i32 %t12612, 2 %t12615 = icmp eq i32 %t12612, 0 %t12616 = select i1 %t12615, i32 8, i32 %t12614 %t12617 = getelementptr ptr, ptr null, i32 1 %t12618 = ptrtoint ptr %t12617 to i64 %t12619 = zext i32 %t12616 to i64 %t12620 = mul i64 %t12619, %t12618 %t12621 = load ptr, ptr %t12610 %t12622 = call ptr @realloc(ptr %t12621, i64 %t12620) store ptr %t12622, ptr %t12610 store i32 %t12616, ptr %t12609 br label %put2560 put2560: %t12623 = load ptr, ptr %t12610 %t12624 = getelementptr inbounds ptr, ptr %t12623, i32 %t12611 store ptr @.str8687, ptr %t12624 %t12625 = add i32 %t12611, 1 store i32 %t12625, ptr %t12608 br label %ifend2558 ifend2558: %t12626 = load ptr, ptr %t1 %t12627 = call i32 @lp_str_eq(ptr %t12626, ptr @.str8688) %t12628 = icmp ne i32 %t12627, 0 br i1 %t12628, label %then2561, label %ifend2563 then2561: store ptr @.str8689, ptr %t403 %t12629 = load ptr, ptr %t410 %t12630 = getelementptr inbounds %LSlice, ptr %t12629, i32 0, i32 1 %t12631 = getelementptr inbounds %LSlice, ptr %t12629, i32 0, i32 2 %t12632 = getelementptr inbounds %LSlice, ptr %t12629, i32 0, i32 0 %t12633 = load i32, ptr %t12630 %t12634 = load i32, ptr %t12631 %t12635 = icmp sge i32 %t12633, %t12634 br i1 %t12635, label %grow2564, label %put2565 grow2564: %t12636 = mul i32 %t12634, 2 %t12637 = icmp eq i32 %t12634, 0 %t12638 = select i1 %t12637, i32 8, i32 %t12636 %t12639 = getelementptr ptr, ptr null, i32 1 %t12640 = ptrtoint ptr %t12639 to i64 %t12641 = zext i32 %t12638 to i64 %t12642 = mul i64 %t12641, %t12640 %t12643 = load ptr, ptr %t12632 %t12644 = call ptr @realloc(ptr %t12643, i64 %t12642) store ptr %t12644, ptr %t12632 store i32 %t12638, ptr %t12631 br label %put2565 put2565: %t12645 = load ptr, ptr %t12632 %t12646 = getelementptr inbounds ptr, ptr %t12645, i32 %t12633 store ptr @.str8690, ptr %t12646 %t12647 = add i32 %t12633, 1 store i32 %t12647, ptr %t12630 %t12648 = load ptr, ptr %t410 %t12649 = getelementptr inbounds %LSlice, ptr %t12648, i32 0, i32 1 %t12650 = getelementptr inbounds %LSlice, ptr %t12648, i32 0, i32 2 %t12651 = getelementptr inbounds %LSlice, ptr %t12648, i32 0, i32 0 %t12652 = load i32, ptr %t12649 %t12653 = load i32, ptr %t12650 %t12654 = icmp sge i32 %t12652, %t12653 br i1 %t12654, label %grow2566, label %put2567 grow2566: %t12655 = mul i32 %t12653, 2 %t12656 = icmp eq i32 %t12653, 0 %t12657 = select i1 %t12656, i32 8, i32 %t12655 %t12658 = getelementptr ptr, ptr null, i32 1 %t12659 = ptrtoint ptr %t12658 to i64 %t12660 = zext i32 %t12657 to i64 %t12661 = mul i64 %t12660, %t12659 %t12662 = load ptr, ptr %t12651 %t12663 = call ptr @realloc(ptr %t12662, i64 %t12661) store ptr %t12663, ptr %t12651 store i32 %t12657, ptr %t12650 br label %put2567 put2567: %t12664 = load ptr, ptr %t12651 %t12665 = getelementptr inbounds ptr, ptr %t12664, i32 %t12652 store ptr @.str8691, ptr %t12665 %t12666 = add i32 %t12652, 1 store i32 %t12666, ptr %t12649 br label %ifend2563 ifend2563: %t12667 = load ptr, ptr %t1 %t12668 = call i32 @lp_str_eq(ptr %t12667, ptr @.str8692) %t12669 = icmp ne i32 %t12668, 0 br i1 %t12669, label %then2568, label %ifend2570 then2568: store ptr @.str8693, ptr %t403 %t12670 = load ptr, ptr %t410 %t12671 = getelementptr inbounds %LSlice, ptr %t12670, i32 0, i32 1 %t12672 = getelementptr inbounds %LSlice, ptr %t12670, i32 0, i32 2 %t12673 = getelementptr inbounds %LSlice, ptr %t12670, i32 0, i32 0 %t12674 = load i32, ptr %t12671 %t12675 = load i32, ptr %t12672 %t12676 = icmp sge i32 %t12674, %t12675 br i1 %t12676, label %grow2571, label %put2572 grow2571: %t12677 = mul i32 %t12675, 2 %t12678 = icmp eq i32 %t12675, 0 %t12679 = select i1 %t12678, i32 8, i32 %t12677 %t12680 = getelementptr ptr, ptr null, i32 1 %t12681 = ptrtoint ptr %t12680 to i64 %t12682 = zext i32 %t12679 to i64 %t12683 = mul i64 %t12682, %t12681 %t12684 = load ptr, ptr %t12673 %t12685 = call ptr @realloc(ptr %t12684, i64 %t12683) store ptr %t12685, ptr %t12673 store i32 %t12679, ptr %t12672 br label %put2572 put2572: %t12686 = load ptr, ptr %t12673 %t12687 = getelementptr inbounds ptr, ptr %t12686, i32 %t12674 store ptr @.str8694, ptr %t12687 %t12688 = add i32 %t12674, 1 store i32 %t12688, ptr %t12671 %t12689 = load ptr, ptr %t410 %t12690 = getelementptr inbounds %LSlice, ptr %t12689, i32 0, i32 1 %t12691 = getelementptr inbounds %LSlice, ptr %t12689, i32 0, i32 2 %t12692 = getelementptr inbounds %LSlice, ptr %t12689, i32 0, i32 0 %t12693 = load i32, ptr %t12690 %t12694 = load i32, ptr %t12691 %t12695 = icmp sge i32 %t12693, %t12694 br i1 %t12695, label %grow2573, label %put2574 grow2573: %t12696 = mul i32 %t12694, 2 %t12697 = icmp eq i32 %t12694, 0 %t12698 = select i1 %t12697, i32 8, i32 %t12696 %t12699 = getelementptr ptr, ptr null, i32 1 %t12700 = ptrtoint ptr %t12699 to i64 %t12701 = zext i32 %t12698 to i64 %t12702 = mul i64 %t12701, %t12700 %t12703 = load ptr, ptr %t12692 %t12704 = call ptr @realloc(ptr %t12703, i64 %t12702) store ptr %t12704, ptr %t12692 store i32 %t12698, ptr %t12691 br label %put2574 put2574: %t12705 = load ptr, ptr %t12692 %t12706 = getelementptr inbounds ptr, ptr %t12705, i32 %t12693 store ptr @.str8695, ptr %t12706 %t12707 = add i32 %t12693, 1 store i32 %t12707, ptr %t12690 br label %ifend2570 ifend2570: %t12708 = load ptr, ptr %t1 %t12709 = call i32 @lp_str_eq(ptr %t12708, ptr @.str8696) %t12710 = icmp ne i32 %t12709, 0 br i1 %t12710, label %then2575, label %ifend2577 then2575: store ptr @.str8697, ptr %t403 %t12711 = load ptr, ptr %t410 %t12712 = getelementptr inbounds %LSlice, ptr %t12711, i32 0, i32 1 %t12713 = getelementptr inbounds %LSlice, ptr %t12711, i32 0, i32 2 %t12714 = getelementptr inbounds %LSlice, ptr %t12711, i32 0, i32 0 %t12715 = load i32, ptr %t12712 %t12716 = load i32, ptr %t12713 %t12717 = icmp sge i32 %t12715, %t12716 br i1 %t12717, label %grow2578, label %put2579 grow2578: %t12718 = mul i32 %t12716, 2 %t12719 = icmp eq i32 %t12716, 0 %t12720 = select i1 %t12719, i32 8, i32 %t12718 %t12721 = getelementptr ptr, ptr null, i32 1 %t12722 = ptrtoint ptr %t12721 to i64 %t12723 = zext i32 %t12720 to i64 %t12724 = mul i64 %t12723, %t12722 %t12725 = load ptr, ptr %t12714 %t12726 = call ptr @realloc(ptr %t12725, i64 %t12724) store ptr %t12726, ptr %t12714 store i32 %t12720, ptr %t12713 br label %put2579 put2579: %t12727 = load ptr, ptr %t12714 %t12728 = getelementptr inbounds ptr, ptr %t12727, i32 %t12715 store ptr @.str8698, ptr %t12728 %t12729 = add i32 %t12715, 1 store i32 %t12729, ptr %t12712 %t12730 = load ptr, ptr %t410 %t12731 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 1 %t12732 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 2 %t12733 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 0 %t12734 = load i32, ptr %t12731 %t12735 = load i32, ptr %t12732 %t12736 = icmp sge i32 %t12734, %t12735 br i1 %t12736, label %grow2580, label %put2581 grow2580: %t12737 = mul i32 %t12735, 2 %t12738 = icmp eq i32 %t12735, 0 %t12739 = select i1 %t12738, i32 8, i32 %t12737 %t12740 = getelementptr ptr, ptr null, i32 1 %t12741 = ptrtoint ptr %t12740 to i64 %t12742 = zext i32 %t12739 to i64 %t12743 = mul i64 %t12742, %t12741 %t12744 = load ptr, ptr %t12733 %t12745 = call ptr @realloc(ptr %t12744, i64 %t12743) store ptr %t12745, ptr %t12733 store i32 %t12739, ptr %t12732 br label %put2581 put2581: %t12746 = load ptr, ptr %t12733 %t12747 = getelementptr inbounds ptr, ptr %t12746, i32 %t12734 store ptr @.str8699, ptr %t12747 %t12748 = add i32 %t12734, 1 store i32 %t12748, ptr %t12731 %t12749 = load ptr, ptr %t410 %t12750 = getelementptr inbounds %LSlice, ptr %t12749, i32 0, i32 1 %t12751 = getelementptr inbounds %LSlice, ptr %t12749, i32 0, i32 2 %t12752 = getelementptr inbounds %LSlice, ptr %t12749, i32 0, i32 0 %t12753 = load i32, ptr %t12750 %t12754 = load i32, ptr %t12751 %t12755 = icmp sge i32 %t12753, %t12754 br i1 %t12755, label %grow2582, label %put2583 grow2582: %t12756 = mul i32 %t12754, 2 %t12757 = icmp eq i32 %t12754, 0 %t12758 = select i1 %t12757, i32 8, i32 %t12756 %t12759 = getelementptr ptr, ptr null, i32 1 %t12760 = ptrtoint ptr %t12759 to i64 %t12761 = zext i32 %t12758 to i64 %t12762 = mul i64 %t12761, %t12760 %t12763 = load ptr, ptr %t12752 %t12764 = call ptr @realloc(ptr %t12763, i64 %t12762) store ptr %t12764, ptr %t12752 store i32 %t12758, ptr %t12751 br label %put2583 put2583: %t12765 = load ptr, ptr %t12752 %t12766 = getelementptr inbounds ptr, ptr %t12765, i32 %t12753 store ptr @.str8700, ptr %t12766 %t12767 = add i32 %t12753, 1 store i32 %t12767, ptr %t12750 br label %ifend2577 ifend2577: %t12768 = load ptr, ptr %t1 %t12769 = call i32 @lp_str_eq(ptr %t12768, ptr @.str8701) %t12770 = icmp ne i32 %t12769, 0 br i1 %t12770, label %then2584, label %ifend2586 then2584: store ptr @.str8702, ptr %t403 %t12771 = load ptr, ptr %t410 %t12772 = getelementptr inbounds %LSlice, ptr %t12771, i32 0, i32 1 %t12773 = getelementptr inbounds %LSlice, ptr %t12771, i32 0, i32 2 %t12774 = getelementptr inbounds %LSlice, ptr %t12771, i32 0, i32 0 %t12775 = load i32, ptr %t12772 %t12776 = load i32, ptr %t12773 %t12777 = icmp sge i32 %t12775, %t12776 br i1 %t12777, label %grow2587, label %put2588 grow2587: %t12778 = mul i32 %t12776, 2 %t12779 = icmp eq i32 %t12776, 0 %t12780 = select i1 %t12779, i32 8, i32 %t12778 %t12781 = getelementptr ptr, ptr null, i32 1 %t12782 = ptrtoint ptr %t12781 to i64 %t12783 = zext i32 %t12780 to i64 %t12784 = mul i64 %t12783, %t12782 %t12785 = load ptr, ptr %t12774 %t12786 = call ptr @realloc(ptr %t12785, i64 %t12784) store ptr %t12786, ptr %t12774 store i32 %t12780, ptr %t12773 br label %put2588 put2588: %t12787 = load ptr, ptr %t12774 %t12788 = getelementptr inbounds ptr, ptr %t12787, i32 %t12775 store ptr @.str8703, ptr %t12788 %t12789 = add i32 %t12775, 1 store i32 %t12789, ptr %t12772 %t12790 = load ptr, ptr %t410 %t12791 = getelementptr inbounds %LSlice, ptr %t12790, i32 0, i32 1 %t12792 = getelementptr inbounds %LSlice, ptr %t12790, i32 0, i32 2 %t12793 = getelementptr inbounds %LSlice, ptr %t12790, i32 0, i32 0 %t12794 = load i32, ptr %t12791 %t12795 = load i32, ptr %t12792 %t12796 = icmp sge i32 %t12794, %t12795 br i1 %t12796, label %grow2589, label %put2590 grow2589: %t12797 = mul i32 %t12795, 2 %t12798 = icmp eq i32 %t12795, 0 %t12799 = select i1 %t12798, i32 8, i32 %t12797 %t12800 = getelementptr ptr, ptr null, i32 1 %t12801 = ptrtoint ptr %t12800 to i64 %t12802 = zext i32 %t12799 to i64 %t12803 = mul i64 %t12802, %t12801 %t12804 = load ptr, ptr %t12793 %t12805 = call ptr @realloc(ptr %t12804, i64 %t12803) store ptr %t12805, ptr %t12793 store i32 %t12799, ptr %t12792 br label %put2590 put2590: %t12806 = load ptr, ptr %t12793 %t12807 = getelementptr inbounds ptr, ptr %t12806, i32 %t12794 store ptr @.str8704, ptr %t12807 %t12808 = add i32 %t12794, 1 store i32 %t12808, ptr %t12791 %t12809 = load ptr, ptr %t410 %t12810 = getelementptr inbounds %LSlice, ptr %t12809, i32 0, i32 1 %t12811 = getelementptr inbounds %LSlice, ptr %t12809, i32 0, i32 2 %t12812 = getelementptr inbounds %LSlice, ptr %t12809, i32 0, i32 0 %t12813 = load i32, ptr %t12810 %t12814 = load i32, ptr %t12811 %t12815 = icmp sge i32 %t12813, %t12814 br i1 %t12815, label %grow2591, label %put2592 grow2591: %t12816 = mul i32 %t12814, 2 %t12817 = icmp eq i32 %t12814, 0 %t12818 = select i1 %t12817, i32 8, i32 %t12816 %t12819 = getelementptr ptr, ptr null, i32 1 %t12820 = ptrtoint ptr %t12819 to i64 %t12821 = zext i32 %t12818 to i64 %t12822 = mul i64 %t12821, %t12820 %t12823 = load ptr, ptr %t12812 %t12824 = call ptr @realloc(ptr %t12823, i64 %t12822) store ptr %t12824, ptr %t12812 store i32 %t12818, ptr %t12811 br label %put2592 put2592: %t12825 = load ptr, ptr %t12812 %t12826 = getelementptr inbounds ptr, ptr %t12825, i32 %t12813 store ptr @.str8705, ptr %t12826 %t12827 = add i32 %t12813, 1 store i32 %t12827, ptr %t12810 %t12828 = load ptr, ptr %t410 %t12829 = getelementptr inbounds %LSlice, ptr %t12828, i32 0, i32 1 %t12830 = getelementptr inbounds %LSlice, ptr %t12828, i32 0, i32 2 %t12831 = getelementptr inbounds %LSlice, ptr %t12828, i32 0, i32 0 %t12832 = load i32, ptr %t12829 %t12833 = load i32, ptr %t12830 %t12834 = icmp sge i32 %t12832, %t12833 br i1 %t12834, label %grow2593, label %put2594 grow2593: %t12835 = mul i32 %t12833, 2 %t12836 = icmp eq i32 %t12833, 0 %t12837 = select i1 %t12836, i32 8, i32 %t12835 %t12838 = getelementptr ptr, ptr null, i32 1 %t12839 = ptrtoint ptr %t12838 to i64 %t12840 = zext i32 %t12837 to i64 %t12841 = mul i64 %t12840, %t12839 %t12842 = load ptr, ptr %t12831 %t12843 = call ptr @realloc(ptr %t12842, i64 %t12841) store ptr %t12843, ptr %t12831 store i32 %t12837, ptr %t12830 br label %put2594 put2594: %t12844 = load ptr, ptr %t12831 %t12845 = getelementptr inbounds ptr, ptr %t12844, i32 %t12832 store ptr @.str8706, ptr %t12845 %t12846 = add i32 %t12832, 1 store i32 %t12846, ptr %t12829 br label %ifend2586 ifend2586: %t12847 = load ptr, ptr %t1 %t12848 = call i32 @lp_str_eq(ptr %t12847, ptr @.str8707) %t12849 = icmp ne i32 %t12848, 0 br i1 %t12849, label %then2595, label %ifend2597 then2595: store ptr @.str8708, ptr %t403 %t12850 = load ptr, ptr %t410 %t12851 = getelementptr inbounds %LSlice, ptr %t12850, i32 0, i32 1 %t12852 = getelementptr inbounds %LSlice, ptr %t12850, i32 0, i32 2 %t12853 = getelementptr inbounds %LSlice, ptr %t12850, i32 0, i32 0 %t12854 = load i32, ptr %t12851 %t12855 = load i32, ptr %t12852 %t12856 = icmp sge i32 %t12854, %t12855 br i1 %t12856, label %grow2598, label %put2599 grow2598: %t12857 = mul i32 %t12855, 2 %t12858 = icmp eq i32 %t12855, 0 %t12859 = select i1 %t12858, i32 8, i32 %t12857 %t12860 = getelementptr ptr, ptr null, i32 1 %t12861 = ptrtoint ptr %t12860 to i64 %t12862 = zext i32 %t12859 to i64 %t12863 = mul i64 %t12862, %t12861 %t12864 = load ptr, ptr %t12853 %t12865 = call ptr @realloc(ptr %t12864, i64 %t12863) store ptr %t12865, ptr %t12853 store i32 %t12859, ptr %t12852 br label %put2599 put2599: %t12866 = load ptr, ptr %t12853 %t12867 = getelementptr inbounds ptr, ptr %t12866, i32 %t12854 store ptr @.str8709, ptr %t12867 %t12868 = add i32 %t12854, 1 store i32 %t12868, ptr %t12851 %t12869 = load ptr, ptr %t410 %t12870 = getelementptr inbounds %LSlice, ptr %t12869, i32 0, i32 1 %t12871 = getelementptr inbounds %LSlice, ptr %t12869, i32 0, i32 2 %t12872 = getelementptr inbounds %LSlice, ptr %t12869, i32 0, i32 0 %t12873 = load i32, ptr %t12870 %t12874 = load i32, ptr %t12871 %t12875 = icmp sge i32 %t12873, %t12874 br i1 %t12875, label %grow2600, label %put2601 grow2600: %t12876 = mul i32 %t12874, 2 %t12877 = icmp eq i32 %t12874, 0 %t12878 = select i1 %t12877, i32 8, i32 %t12876 %t12879 = getelementptr ptr, ptr null, i32 1 %t12880 = ptrtoint ptr %t12879 to i64 %t12881 = zext i32 %t12878 to i64 %t12882 = mul i64 %t12881, %t12880 %t12883 = load ptr, ptr %t12872 %t12884 = call ptr @realloc(ptr %t12883, i64 %t12882) store ptr %t12884, ptr %t12872 store i32 %t12878, ptr %t12871 br label %put2601 put2601: %t12885 = load ptr, ptr %t12872 %t12886 = getelementptr inbounds ptr, ptr %t12885, i32 %t12873 store ptr @.str8710, ptr %t12886 %t12887 = add i32 %t12873, 1 store i32 %t12887, ptr %t12870 br label %ifend2597 ifend2597: %t12888 = load ptr, ptr %t1 %t12889 = call i32 @lp_str_eq(ptr %t12888, ptr @.str8711) %t12890 = icmp ne i32 %t12889, 0 br i1 %t12890, label %then2602, label %ifend2604 then2602: store ptr @.str8712, ptr %t403 %t12891 = load ptr, ptr %t410 %t12892 = getelementptr inbounds %LSlice, ptr %t12891, i32 0, i32 1 %t12893 = getelementptr inbounds %LSlice, ptr %t12891, i32 0, i32 2 %t12894 = getelementptr inbounds %LSlice, ptr %t12891, i32 0, i32 0 %t12895 = load i32, ptr %t12892 %t12896 = load i32, ptr %t12893 %t12897 = icmp sge i32 %t12895, %t12896 br i1 %t12897, label %grow2605, label %put2606 grow2605: %t12898 = mul i32 %t12896, 2 %t12899 = icmp eq i32 %t12896, 0 %t12900 = select i1 %t12899, i32 8, i32 %t12898 %t12901 = getelementptr ptr, ptr null, i32 1 %t12902 = ptrtoint ptr %t12901 to i64 %t12903 = zext i32 %t12900 to i64 %t12904 = mul i64 %t12903, %t12902 %t12905 = load ptr, ptr %t12894 %t12906 = call ptr @realloc(ptr %t12905, i64 %t12904) store ptr %t12906, ptr %t12894 store i32 %t12900, ptr %t12893 br label %put2606 put2606: %t12907 = load ptr, ptr %t12894 %t12908 = getelementptr inbounds ptr, ptr %t12907, i32 %t12895 store ptr @.str8713, ptr %t12908 %t12909 = add i32 %t12895, 1 store i32 %t12909, ptr %t12892 br label %ifend2604 ifend2604: %t12910 = load ptr, ptr %t1 %t12911 = call i32 @lp_str_eq(ptr %t12910, ptr @.str8714) %t12912 = icmp ne i32 %t12911, 0 br i1 %t12912, label %then2607, label %ifend2609 then2607: store ptr @.str8715, ptr %t403 %t12913 = load ptr, ptr %t410 %t12914 = getelementptr inbounds %LSlice, ptr %t12913, i32 0, i32 1 %t12915 = getelementptr inbounds %LSlice, ptr %t12913, i32 0, i32 2 %t12916 = getelementptr inbounds %LSlice, ptr %t12913, i32 0, i32 0 %t12917 = load i32, ptr %t12914 %t12918 = load i32, ptr %t12915 %t12919 = icmp sge i32 %t12917, %t12918 br i1 %t12919, label %grow2610, label %put2611 grow2610: %t12920 = mul i32 %t12918, 2 %t12921 = icmp eq i32 %t12918, 0 %t12922 = select i1 %t12921, i32 8, i32 %t12920 %t12923 = getelementptr ptr, ptr null, i32 1 %t12924 = ptrtoint ptr %t12923 to i64 %t12925 = zext i32 %t12922 to i64 %t12926 = mul i64 %t12925, %t12924 %t12927 = load ptr, ptr %t12916 %t12928 = call ptr @realloc(ptr %t12927, i64 %t12926) store ptr %t12928, ptr %t12916 store i32 %t12922, ptr %t12915 br label %put2611 put2611: %t12929 = load ptr, ptr %t12916 %t12930 = getelementptr inbounds ptr, ptr %t12929, i32 %t12917 store ptr @.str8716, ptr %t12930 %t12931 = add i32 %t12917, 1 store i32 %t12931, ptr %t12914 br label %ifend2609 ifend2609: %t12932 = load ptr, ptr %t1 %t12933 = call i32 @lp_str_eq(ptr %t12932, ptr @.str8717) %t12934 = icmp ne i32 %t12933, 0 br i1 %t12934, label %then2612, label %ifend2614 then2612: store ptr @.str8718, ptr %t403 %t12935 = load ptr, ptr %t410 %t12936 = getelementptr inbounds %LSlice, ptr %t12935, i32 0, i32 1 %t12937 = getelementptr inbounds %LSlice, ptr %t12935, i32 0, i32 2 %t12938 = getelementptr inbounds %LSlice, ptr %t12935, i32 0, i32 0 %t12939 = load i32, ptr %t12936 %t12940 = load i32, ptr %t12937 %t12941 = icmp sge i32 %t12939, %t12940 br i1 %t12941, label %grow2615, label %put2616 grow2615: %t12942 = mul i32 %t12940, 2 %t12943 = icmp eq i32 %t12940, 0 %t12944 = select i1 %t12943, i32 8, i32 %t12942 %t12945 = getelementptr ptr, ptr null, i32 1 %t12946 = ptrtoint ptr %t12945 to i64 %t12947 = zext i32 %t12944 to i64 %t12948 = mul i64 %t12947, %t12946 %t12949 = load ptr, ptr %t12938 %t12950 = call ptr @realloc(ptr %t12949, i64 %t12948) store ptr %t12950, ptr %t12938 store i32 %t12944, ptr %t12937 br label %put2616 put2616: %t12951 = load ptr, ptr %t12938 %t12952 = getelementptr inbounds ptr, ptr %t12951, i32 %t12939 store ptr @.str8719, ptr %t12952 %t12953 = add i32 %t12939, 1 store i32 %t12953, ptr %t12936 br label %ifend2614 ifend2614: %t12954 = load ptr, ptr %t1 %t12955 = call i32 @lp_str_eq(ptr %t12954, ptr @.str8720) %t12956 = icmp ne i32 %t12955, 0 br i1 %t12956, label %then2617, label %ifend2619 then2617: store ptr @.str8721, ptr %t403 %t12957 = load ptr, ptr %t410 %t12958 = getelementptr inbounds %LSlice, ptr %t12957, i32 0, i32 1 %t12959 = getelementptr inbounds %LSlice, ptr %t12957, i32 0, i32 2 %t12960 = getelementptr inbounds %LSlice, ptr %t12957, i32 0, i32 0 %t12961 = load i32, ptr %t12958 %t12962 = load i32, ptr %t12959 %t12963 = icmp sge i32 %t12961, %t12962 br i1 %t12963, label %grow2620, label %put2621 grow2620: %t12964 = mul i32 %t12962, 2 %t12965 = icmp eq i32 %t12962, 0 %t12966 = select i1 %t12965, i32 8, i32 %t12964 %t12967 = getelementptr ptr, ptr null, i32 1 %t12968 = ptrtoint ptr %t12967 to i64 %t12969 = zext i32 %t12966 to i64 %t12970 = mul i64 %t12969, %t12968 %t12971 = load ptr, ptr %t12960 %t12972 = call ptr @realloc(ptr %t12971, i64 %t12970) store ptr %t12972, ptr %t12960 store i32 %t12966, ptr %t12959 br label %put2621 put2621: %t12973 = load ptr, ptr %t12960 %t12974 = getelementptr inbounds ptr, ptr %t12973, i32 %t12961 store ptr @.str8722, ptr %t12974 %t12975 = add i32 %t12961, 1 store i32 %t12975, ptr %t12958 %t12976 = load ptr, ptr %t410 %t12977 = getelementptr inbounds %LSlice, ptr %t12976, i32 0, i32 1 %t12978 = getelementptr inbounds %LSlice, ptr %t12976, i32 0, i32 2 %t12979 = getelementptr inbounds %LSlice, ptr %t12976, i32 0, i32 0 %t12980 = load i32, ptr %t12977 %t12981 = load i32, ptr %t12978 %t12982 = icmp sge i32 %t12980, %t12981 br i1 %t12982, label %grow2622, label %put2623 grow2622: %t12983 = mul i32 %t12981, 2 %t12984 = icmp eq i32 %t12981, 0 %t12985 = select i1 %t12984, i32 8, i32 %t12983 %t12986 = getelementptr ptr, ptr null, i32 1 %t12987 = ptrtoint ptr %t12986 to i64 %t12988 = zext i32 %t12985 to i64 %t12989 = mul i64 %t12988, %t12987 %t12990 = load ptr, ptr %t12979 %t12991 = call ptr @realloc(ptr %t12990, i64 %t12989) store ptr %t12991, ptr %t12979 store i32 %t12985, ptr %t12978 br label %put2623 put2623: %t12992 = load ptr, ptr %t12979 %t12993 = getelementptr inbounds ptr, ptr %t12992, i32 %t12980 store ptr @.str8723, ptr %t12993 %t12994 = add i32 %t12980, 1 store i32 %t12994, ptr %t12977 br label %ifend2619 ifend2619: br label %ifend2535 ifend2535: %t12995 = load ptr, ptr %t0 %t12996 = call i32 @lp_str_eq(ptr %t12995, ptr @.str8724) %t12997 = icmp ne i32 %t12996, 0 br i1 %t12997, label %then2624, label %ifend2626 then2624: %t12998 = load ptr, ptr %t1 %t12999 = call i32 @lp_str_eq(ptr %t12998, ptr @.str8725) %t13000 = icmp ne i32 %t12999, 0 br i1 %t13000, label %then2627, label %ifend2629 then2627: store ptr @.str8726, ptr %t403 br label %ifend2629 ifend2629: %t13001 = load ptr, ptr %t1 %t13002 = call i32 @lp_str_eq(ptr %t13001, ptr @.str8727) %t13003 = icmp ne i32 %t13002, 0 br i1 %t13003, label %then2630, label %ifend2632 then2630: store ptr @.str8728, ptr %t403 %t13004 = load ptr, ptr %t410 %t13005 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 1 %t13006 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 2 %t13007 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 0 %t13008 = load i32, ptr %t13005 %t13009 = load i32, ptr %t13006 %t13010 = icmp sge i32 %t13008, %t13009 br i1 %t13010, label %grow2633, label %put2634 grow2633: %t13011 = mul i32 %t13009, 2 %t13012 = icmp eq i32 %t13009, 0 %t13013 = select i1 %t13012, i32 8, i32 %t13011 %t13014 = getelementptr ptr, ptr null, i32 1 %t13015 = ptrtoint ptr %t13014 to i64 %t13016 = zext i32 %t13013 to i64 %t13017 = mul i64 %t13016, %t13015 %t13018 = load ptr, ptr %t13007 %t13019 = call ptr @realloc(ptr %t13018, i64 %t13017) store ptr %t13019, ptr %t13007 store i32 %t13013, ptr %t13006 br label %put2634 put2634: %t13020 = load ptr, ptr %t13007 %t13021 = getelementptr inbounds ptr, ptr %t13020, i32 %t13008 store ptr @.str8729, ptr %t13021 %t13022 = add i32 %t13008, 1 store i32 %t13022, ptr %t13005 br label %ifend2632 ifend2632: %t13023 = load ptr, ptr %t1 %t13024 = call i32 @lp_str_eq(ptr %t13023, ptr @.str8730) %t13025 = icmp ne i32 %t13024, 0 br i1 %t13025, label %then2635, label %ifend2637 then2635: store ptr @.str8731, ptr %t403 %t13026 = load ptr, ptr %t410 %t13027 = getelementptr inbounds %LSlice, ptr %t13026, i32 0, i32 1 %t13028 = getelementptr inbounds %LSlice, ptr %t13026, i32 0, i32 2 %t13029 = getelementptr inbounds %LSlice, ptr %t13026, i32 0, i32 0 %t13030 = load i32, ptr %t13027 %t13031 = load i32, ptr %t13028 %t13032 = icmp sge i32 %t13030, %t13031 br i1 %t13032, label %grow2638, label %put2639 grow2638: %t13033 = mul i32 %t13031, 2 %t13034 = icmp eq i32 %t13031, 0 %t13035 = select i1 %t13034, i32 8, i32 %t13033 %t13036 = getelementptr ptr, ptr null, i32 1 %t13037 = ptrtoint ptr %t13036 to i64 %t13038 = zext i32 %t13035 to i64 %t13039 = mul i64 %t13038, %t13037 %t13040 = load ptr, ptr %t13029 %t13041 = call ptr @realloc(ptr %t13040, i64 %t13039) store ptr %t13041, ptr %t13029 store i32 %t13035, ptr %t13028 br label %put2639 put2639: %t13042 = load ptr, ptr %t13029 %t13043 = getelementptr inbounds ptr, ptr %t13042, i32 %t13030 store ptr @.str8732, ptr %t13043 %t13044 = add i32 %t13030, 1 store i32 %t13044, ptr %t13027 br label %ifend2637 ifend2637: %t13045 = load ptr, ptr %t1 %t13046 = call i32 @lp_str_eq(ptr %t13045, ptr @.str8733) %t13047 = icmp ne i32 %t13046, 0 br i1 %t13047, label %then2640, label %ifend2642 then2640: store ptr @.str8734, ptr %t403 %t13048 = load ptr, ptr %t410 %t13049 = getelementptr inbounds %LSlice, ptr %t13048, i32 0, i32 1 %t13050 = getelementptr inbounds %LSlice, ptr %t13048, i32 0, i32 2 %t13051 = getelementptr inbounds %LSlice, ptr %t13048, i32 0, i32 0 %t13052 = load i32, ptr %t13049 %t13053 = load i32, ptr %t13050 %t13054 = icmp sge i32 %t13052, %t13053 br i1 %t13054, label %grow2643, label %put2644 grow2643: %t13055 = mul i32 %t13053, 2 %t13056 = icmp eq i32 %t13053, 0 %t13057 = select i1 %t13056, i32 8, i32 %t13055 %t13058 = getelementptr ptr, ptr null, i32 1 %t13059 = ptrtoint ptr %t13058 to i64 %t13060 = zext i32 %t13057 to i64 %t13061 = mul i64 %t13060, %t13059 %t13062 = load ptr, ptr %t13051 %t13063 = call ptr @realloc(ptr %t13062, i64 %t13061) store ptr %t13063, ptr %t13051 store i32 %t13057, ptr %t13050 br label %put2644 put2644: %t13064 = load ptr, ptr %t13051 %t13065 = getelementptr inbounds ptr, ptr %t13064, i32 %t13052 store ptr @.str8735, ptr %t13065 %t13066 = add i32 %t13052, 1 store i32 %t13066, ptr %t13049 br label %ifend2642 ifend2642: %t13067 = load ptr, ptr %t1 %t13068 = call i32 @lp_str_eq(ptr %t13067, ptr @.str8736) %t13069 = icmp ne i32 %t13068, 0 br i1 %t13069, label %then2645, label %ifend2647 then2645: store ptr @.str8737, ptr %t403 %t13070 = load ptr, ptr %t410 %t13071 = getelementptr inbounds %LSlice, ptr %t13070, i32 0, i32 1 %t13072 = getelementptr inbounds %LSlice, ptr %t13070, i32 0, i32 2 %t13073 = getelementptr inbounds %LSlice, ptr %t13070, i32 0, i32 0 %t13074 = load i32, ptr %t13071 %t13075 = load i32, ptr %t13072 %t13076 = icmp sge i32 %t13074, %t13075 br i1 %t13076, label %grow2648, label %put2649 grow2648: %t13077 = mul i32 %t13075, 2 %t13078 = icmp eq i32 %t13075, 0 %t13079 = select i1 %t13078, i32 8, i32 %t13077 %t13080 = getelementptr ptr, ptr null, i32 1 %t13081 = ptrtoint ptr %t13080 to i64 %t13082 = zext i32 %t13079 to i64 %t13083 = mul i64 %t13082, %t13081 %t13084 = load ptr, ptr %t13073 %t13085 = call ptr @realloc(ptr %t13084, i64 %t13083) store ptr %t13085, ptr %t13073 store i32 %t13079, ptr %t13072 br label %put2649 put2649: %t13086 = load ptr, ptr %t13073 %t13087 = getelementptr inbounds ptr, ptr %t13086, i32 %t13074 store ptr @.str8738, ptr %t13087 %t13088 = add i32 %t13074, 1 store i32 %t13088, ptr %t13071 br label %ifend2647 ifend2647: %t13089 = load ptr, ptr %t1 %t13090 = call i32 @lp_str_eq(ptr %t13089, ptr @.str8739) %t13091 = icmp ne i32 %t13090, 0 br i1 %t13091, label %then2650, label %ifend2652 then2650: store ptr @.str8740, ptr %t403 br label %ifend2652 ifend2652: %t13092 = load ptr, ptr %t1 %t13093 = call i32 @lp_str_eq(ptr %t13092, ptr @.str8741) %t13094 = icmp ne i32 %t13093, 0 br i1 %t13094, label %then2653, label %ifend2655 then2653: store ptr @.str8742, ptr %t403 br label %ifend2655 ifend2655: %t13095 = load ptr, ptr %t1 %t13096 = call i32 @lp_str_eq(ptr %t13095, ptr @.str8743) %t13097 = icmp ne i32 %t13096, 0 br i1 %t13097, label %then2656, label %ifend2658 then2656: store ptr @.str8744, ptr %t403 %t13098 = load ptr, ptr %t410 %t13099 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 1 %t13100 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 2 %t13101 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 0 %t13102 = load i32, ptr %t13099 %t13103 = load i32, ptr %t13100 %t13104 = icmp sge i32 %t13102, %t13103 br i1 %t13104, label %grow2659, label %put2660 grow2659: %t13105 = mul i32 %t13103, 2 %t13106 = icmp eq i32 %t13103, 0 %t13107 = select i1 %t13106, i32 8, i32 %t13105 %t13108 = getelementptr ptr, ptr null, i32 1 %t13109 = ptrtoint ptr %t13108 to i64 %t13110 = zext i32 %t13107 to i64 %t13111 = mul i64 %t13110, %t13109 %t13112 = load ptr, ptr %t13101 %t13113 = call ptr @realloc(ptr %t13112, i64 %t13111) store ptr %t13113, ptr %t13101 store i32 %t13107, ptr %t13100 br label %put2660 put2660: %t13114 = load ptr, ptr %t13101 %t13115 = getelementptr inbounds ptr, ptr %t13114, i32 %t13102 store ptr @.str8745, ptr %t13115 %t13116 = add i32 %t13102, 1 store i32 %t13116, ptr %t13099 %t13117 = load ptr, ptr %t410 %t13118 = getelementptr inbounds %LSlice, ptr %t13117, i32 0, i32 1 %t13119 = getelementptr inbounds %LSlice, ptr %t13117, i32 0, i32 2 %t13120 = getelementptr inbounds %LSlice, ptr %t13117, i32 0, i32 0 %t13121 = load i32, ptr %t13118 %t13122 = load i32, ptr %t13119 %t13123 = icmp sge i32 %t13121, %t13122 br i1 %t13123, label %grow2661, label %put2662 grow2661: %t13124 = mul i32 %t13122, 2 %t13125 = icmp eq i32 %t13122, 0 %t13126 = select i1 %t13125, i32 8, i32 %t13124 %t13127 = getelementptr ptr, ptr null, i32 1 %t13128 = ptrtoint ptr %t13127 to i64 %t13129 = zext i32 %t13126 to i64 %t13130 = mul i64 %t13129, %t13128 %t13131 = load ptr, ptr %t13120 %t13132 = call ptr @realloc(ptr %t13131, i64 %t13130) store ptr %t13132, ptr %t13120 store i32 %t13126, ptr %t13119 br label %put2662 put2662: %t13133 = load ptr, ptr %t13120 %t13134 = getelementptr inbounds ptr, ptr %t13133, i32 %t13121 store ptr @.str8746, ptr %t13134 %t13135 = add i32 %t13121, 1 store i32 %t13135, ptr %t13118 br label %ifend2658 ifend2658: %t13136 = load ptr, ptr %t1 %t13137 = call i32 @lp_str_eq(ptr %t13136, ptr @.str8747) %t13138 = icmp ne i32 %t13137, 0 br i1 %t13138, label %then2663, label %ifend2665 then2663: store ptr @.str8748, ptr %t403 %t13139 = load ptr, ptr %t410 %t13140 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 1 %t13141 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 2 %t13142 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 0 %t13143 = load i32, ptr %t13140 %t13144 = load i32, ptr %t13141 %t13145 = icmp sge i32 %t13143, %t13144 br i1 %t13145, label %grow2666, label %put2667 grow2666: %t13146 = mul i32 %t13144, 2 %t13147 = icmp eq i32 %t13144, 0 %t13148 = select i1 %t13147, i32 8, i32 %t13146 %t13149 = getelementptr ptr, ptr null, i32 1 %t13150 = ptrtoint ptr %t13149 to i64 %t13151 = zext i32 %t13148 to i64 %t13152 = mul i64 %t13151, %t13150 %t13153 = load ptr, ptr %t13142 %t13154 = call ptr @realloc(ptr %t13153, i64 %t13152) store ptr %t13154, ptr %t13142 store i32 %t13148, ptr %t13141 br label %put2667 put2667: %t13155 = load ptr, ptr %t13142 %t13156 = getelementptr inbounds ptr, ptr %t13155, i32 %t13143 store ptr @.str8749, ptr %t13156 %t13157 = add i32 %t13143, 1 store i32 %t13157, ptr %t13140 %t13158 = load ptr, ptr %t410 %t13159 = getelementptr inbounds %LSlice, ptr %t13158, i32 0, i32 1 %t13160 = getelementptr inbounds %LSlice, ptr %t13158, i32 0, i32 2 %t13161 = getelementptr inbounds %LSlice, ptr %t13158, i32 0, i32 0 %t13162 = load i32, ptr %t13159 %t13163 = load i32, ptr %t13160 %t13164 = icmp sge i32 %t13162, %t13163 br i1 %t13164, label %grow2668, label %put2669 grow2668: %t13165 = mul i32 %t13163, 2 %t13166 = icmp eq i32 %t13163, 0 %t13167 = select i1 %t13166, i32 8, i32 %t13165 %t13168 = getelementptr ptr, ptr null, i32 1 %t13169 = ptrtoint ptr %t13168 to i64 %t13170 = zext i32 %t13167 to i64 %t13171 = mul i64 %t13170, %t13169 %t13172 = load ptr, ptr %t13161 %t13173 = call ptr @realloc(ptr %t13172, i64 %t13171) store ptr %t13173, ptr %t13161 store i32 %t13167, ptr %t13160 br label %put2669 put2669: %t13174 = load ptr, ptr %t13161 %t13175 = getelementptr inbounds ptr, ptr %t13174, i32 %t13162 store ptr @.str8750, ptr %t13175 %t13176 = add i32 %t13162, 1 store i32 %t13176, ptr %t13159 %t13177 = load ptr, ptr %t410 %t13178 = getelementptr inbounds %LSlice, ptr %t13177, i32 0, i32 1 %t13179 = getelementptr inbounds %LSlice, ptr %t13177, i32 0, i32 2 %t13180 = getelementptr inbounds %LSlice, ptr %t13177, i32 0, i32 0 %t13181 = load i32, ptr %t13178 %t13182 = load i32, ptr %t13179 %t13183 = icmp sge i32 %t13181, %t13182 br i1 %t13183, label %grow2670, label %put2671 grow2670: %t13184 = mul i32 %t13182, 2 %t13185 = icmp eq i32 %t13182, 0 %t13186 = select i1 %t13185, i32 8, i32 %t13184 %t13187 = getelementptr ptr, ptr null, i32 1 %t13188 = ptrtoint ptr %t13187 to i64 %t13189 = zext i32 %t13186 to i64 %t13190 = mul i64 %t13189, %t13188 %t13191 = load ptr, ptr %t13180 %t13192 = call ptr @realloc(ptr %t13191, i64 %t13190) store ptr %t13192, ptr %t13180 store i32 %t13186, ptr %t13179 br label %put2671 put2671: %t13193 = load ptr, ptr %t13180 %t13194 = getelementptr inbounds ptr, ptr %t13193, i32 %t13181 store ptr @.str8751, ptr %t13194 %t13195 = add i32 %t13181, 1 store i32 %t13195, ptr %t13178 br label %ifend2665 ifend2665: %t13196 = load ptr, ptr %t1 %t13197 = call i32 @lp_str_eq(ptr %t13196, ptr @.str8752) %t13198 = icmp ne i32 %t13197, 0 br i1 %t13198, label %then2672, label %ifend2674 then2672: store ptr @.str8753, ptr %t403 %t13199 = load ptr, ptr %t410 %t13200 = getelementptr inbounds %LSlice, ptr %t13199, i32 0, i32 1 %t13201 = getelementptr inbounds %LSlice, ptr %t13199, i32 0, i32 2 %t13202 = getelementptr inbounds %LSlice, ptr %t13199, i32 0, i32 0 %t13203 = load i32, ptr %t13200 %t13204 = load i32, ptr %t13201 %t13205 = icmp sge i32 %t13203, %t13204 br i1 %t13205, label %grow2675, label %put2676 grow2675: %t13206 = mul i32 %t13204, 2 %t13207 = icmp eq i32 %t13204, 0 %t13208 = select i1 %t13207, i32 8, i32 %t13206 %t13209 = getelementptr ptr, ptr null, i32 1 %t13210 = ptrtoint ptr %t13209 to i64 %t13211 = zext i32 %t13208 to i64 %t13212 = mul i64 %t13211, %t13210 %t13213 = load ptr, ptr %t13202 %t13214 = call ptr @realloc(ptr %t13213, i64 %t13212) store ptr %t13214, ptr %t13202 store i32 %t13208, ptr %t13201 br label %put2676 put2676: %t13215 = load ptr, ptr %t13202 %t13216 = getelementptr inbounds ptr, ptr %t13215, i32 %t13203 store ptr @.str8754, ptr %t13216 %t13217 = add i32 %t13203, 1 store i32 %t13217, ptr %t13200 %t13218 = load ptr, ptr %t410 %t13219 = getelementptr inbounds %LSlice, ptr %t13218, i32 0, i32 1 %t13220 = getelementptr inbounds %LSlice, ptr %t13218, i32 0, i32 2 %t13221 = getelementptr inbounds %LSlice, ptr %t13218, i32 0, i32 0 %t13222 = load i32, ptr %t13219 %t13223 = load i32, ptr %t13220 %t13224 = icmp sge i32 %t13222, %t13223 br i1 %t13224, label %grow2677, label %put2678 grow2677: %t13225 = mul i32 %t13223, 2 %t13226 = icmp eq i32 %t13223, 0 %t13227 = select i1 %t13226, i32 8, i32 %t13225 %t13228 = getelementptr ptr, ptr null, i32 1 %t13229 = ptrtoint ptr %t13228 to i64 %t13230 = zext i32 %t13227 to i64 %t13231 = mul i64 %t13230, %t13229 %t13232 = load ptr, ptr %t13221 %t13233 = call ptr @realloc(ptr %t13232, i64 %t13231) store ptr %t13233, ptr %t13221 store i32 %t13227, ptr %t13220 br label %put2678 put2678: %t13234 = load ptr, ptr %t13221 %t13235 = getelementptr inbounds ptr, ptr %t13234, i32 %t13222 store ptr @.str8755, ptr %t13235 %t13236 = add i32 %t13222, 1 store i32 %t13236, ptr %t13219 br label %ifend2674 ifend2674: %t13237 = load ptr, ptr %t1 %t13238 = call i32 @lp_str_eq(ptr %t13237, ptr @.str8756) %t13239 = icmp ne i32 %t13238, 0 br i1 %t13239, label %then2679, label %ifend2681 then2679: store ptr @.str8757, ptr %t403 %t13240 = load ptr, ptr %t410 %t13241 = getelementptr inbounds %LSlice, ptr %t13240, i32 0, i32 1 %t13242 = getelementptr inbounds %LSlice, ptr %t13240, i32 0, i32 2 %t13243 = getelementptr inbounds %LSlice, ptr %t13240, i32 0, i32 0 %t13244 = load i32, ptr %t13241 %t13245 = load i32, ptr %t13242 %t13246 = icmp sge i32 %t13244, %t13245 br i1 %t13246, label %grow2682, label %put2683 grow2682: %t13247 = mul i32 %t13245, 2 %t13248 = icmp eq i32 %t13245, 0 %t13249 = select i1 %t13248, i32 8, i32 %t13247 %t13250 = getelementptr ptr, ptr null, i32 1 %t13251 = ptrtoint ptr %t13250 to i64 %t13252 = zext i32 %t13249 to i64 %t13253 = mul i64 %t13252, %t13251 %t13254 = load ptr, ptr %t13243 %t13255 = call ptr @realloc(ptr %t13254, i64 %t13253) store ptr %t13255, ptr %t13243 store i32 %t13249, ptr %t13242 br label %put2683 put2683: %t13256 = load ptr, ptr %t13243 %t13257 = getelementptr inbounds ptr, ptr %t13256, i32 %t13244 store ptr @.str8758, ptr %t13257 %t13258 = add i32 %t13244, 1 store i32 %t13258, ptr %t13241 %t13259 = load ptr, ptr %t410 %t13260 = getelementptr inbounds %LSlice, ptr %t13259, i32 0, i32 1 %t13261 = getelementptr inbounds %LSlice, ptr %t13259, i32 0, i32 2 %t13262 = getelementptr inbounds %LSlice, ptr %t13259, i32 0, i32 0 %t13263 = load i32, ptr %t13260 %t13264 = load i32, ptr %t13261 %t13265 = icmp sge i32 %t13263, %t13264 br i1 %t13265, label %grow2684, label %put2685 grow2684: %t13266 = mul i32 %t13264, 2 %t13267 = icmp eq i32 %t13264, 0 %t13268 = select i1 %t13267, i32 8, i32 %t13266 %t13269 = getelementptr ptr, ptr null, i32 1 %t13270 = ptrtoint ptr %t13269 to i64 %t13271 = zext i32 %t13268 to i64 %t13272 = mul i64 %t13271, %t13270 %t13273 = load ptr, ptr %t13262 %t13274 = call ptr @realloc(ptr %t13273, i64 %t13272) store ptr %t13274, ptr %t13262 store i32 %t13268, ptr %t13261 br label %put2685 put2685: %t13275 = load ptr, ptr %t13262 %t13276 = getelementptr inbounds ptr, ptr %t13275, i32 %t13263 store ptr @.str8759, ptr %t13276 %t13277 = add i32 %t13263, 1 store i32 %t13277, ptr %t13260 br label %ifend2681 ifend2681: %t13278 = load ptr, ptr %t1 %t13279 = call i32 @lp_str_eq(ptr %t13278, ptr @.str8760) %t13280 = icmp ne i32 %t13279, 0 br i1 %t13280, label %then2686, label %ifend2688 then2686: store ptr @.str8761, ptr %t403 %t13281 = load ptr, ptr %t410 %t13282 = getelementptr inbounds %LSlice, ptr %t13281, i32 0, i32 1 %t13283 = getelementptr inbounds %LSlice, ptr %t13281, i32 0, i32 2 %t13284 = getelementptr inbounds %LSlice, ptr %t13281, i32 0, i32 0 %t13285 = load i32, ptr %t13282 %t13286 = load i32, ptr %t13283 %t13287 = icmp sge i32 %t13285, %t13286 br i1 %t13287, label %grow2689, label %put2690 grow2689: %t13288 = mul i32 %t13286, 2 %t13289 = icmp eq i32 %t13286, 0 %t13290 = select i1 %t13289, i32 8, i32 %t13288 %t13291 = getelementptr ptr, ptr null, i32 1 %t13292 = ptrtoint ptr %t13291 to i64 %t13293 = zext i32 %t13290 to i64 %t13294 = mul i64 %t13293, %t13292 %t13295 = load ptr, ptr %t13284 %t13296 = call ptr @realloc(ptr %t13295, i64 %t13294) store ptr %t13296, ptr %t13284 store i32 %t13290, ptr %t13283 br label %put2690 put2690: %t13297 = load ptr, ptr %t13284 %t13298 = getelementptr inbounds ptr, ptr %t13297, i32 %t13285 store ptr @.str8762, ptr %t13298 %t13299 = add i32 %t13285, 1 store i32 %t13299, ptr %t13282 %t13300 = load ptr, ptr %t410 %t13301 = getelementptr inbounds %LSlice, ptr %t13300, i32 0, i32 1 %t13302 = getelementptr inbounds %LSlice, ptr %t13300, i32 0, i32 2 %t13303 = getelementptr inbounds %LSlice, ptr %t13300, i32 0, i32 0 %t13304 = load i32, ptr %t13301 %t13305 = load i32, ptr %t13302 %t13306 = icmp sge i32 %t13304, %t13305 br i1 %t13306, label %grow2691, label %put2692 grow2691: %t13307 = mul i32 %t13305, 2 %t13308 = icmp eq i32 %t13305, 0 %t13309 = select i1 %t13308, i32 8, i32 %t13307 %t13310 = getelementptr ptr, ptr null, i32 1 %t13311 = ptrtoint ptr %t13310 to i64 %t13312 = zext i32 %t13309 to i64 %t13313 = mul i64 %t13312, %t13311 %t13314 = load ptr, ptr %t13303 %t13315 = call ptr @realloc(ptr %t13314, i64 %t13313) store ptr %t13315, ptr %t13303 store i32 %t13309, ptr %t13302 br label %put2692 put2692: %t13316 = load ptr, ptr %t13303 %t13317 = getelementptr inbounds ptr, ptr %t13316, i32 %t13304 store ptr @.str8763, ptr %t13317 %t13318 = add i32 %t13304, 1 store i32 %t13318, ptr %t13301 br label %ifend2688 ifend2688: %t13319 = load ptr, ptr %t1 %t13320 = call i32 @lp_str_eq(ptr %t13319, ptr @.str8764) %t13321 = icmp ne i32 %t13320, 0 br i1 %t13321, label %then2693, label %ifend2695 then2693: store ptr @.str8765, ptr %t403 %t13322 = load ptr, ptr %t410 %t13323 = getelementptr inbounds %LSlice, ptr %t13322, i32 0, i32 1 %t13324 = getelementptr inbounds %LSlice, ptr %t13322, i32 0, i32 2 %t13325 = getelementptr inbounds %LSlice, ptr %t13322, i32 0, i32 0 %t13326 = load i32, ptr %t13323 %t13327 = load i32, ptr %t13324 %t13328 = icmp sge i32 %t13326, %t13327 br i1 %t13328, label %grow2696, label %put2697 grow2696: %t13329 = mul i32 %t13327, 2 %t13330 = icmp eq i32 %t13327, 0 %t13331 = select i1 %t13330, i32 8, i32 %t13329 %t13332 = getelementptr ptr, ptr null, i32 1 %t13333 = ptrtoint ptr %t13332 to i64 %t13334 = zext i32 %t13331 to i64 %t13335 = mul i64 %t13334, %t13333 %t13336 = load ptr, ptr %t13325 %t13337 = call ptr @realloc(ptr %t13336, i64 %t13335) store ptr %t13337, ptr %t13325 store i32 %t13331, ptr %t13324 br label %put2697 put2697: %t13338 = load ptr, ptr %t13325 %t13339 = getelementptr inbounds ptr, ptr %t13338, i32 %t13326 store ptr @.str8766, ptr %t13339 %t13340 = add i32 %t13326, 1 store i32 %t13340, ptr %t13323 %t13341 = load ptr, ptr %t410 %t13342 = getelementptr inbounds %LSlice, ptr %t13341, i32 0, i32 1 %t13343 = getelementptr inbounds %LSlice, ptr %t13341, i32 0, i32 2 %t13344 = getelementptr inbounds %LSlice, ptr %t13341, i32 0, i32 0 %t13345 = load i32, ptr %t13342 %t13346 = load i32, ptr %t13343 %t13347 = icmp sge i32 %t13345, %t13346 br i1 %t13347, label %grow2698, label %put2699 grow2698: %t13348 = mul i32 %t13346, 2 %t13349 = icmp eq i32 %t13346, 0 %t13350 = select i1 %t13349, i32 8, i32 %t13348 %t13351 = getelementptr ptr, ptr null, i32 1 %t13352 = ptrtoint ptr %t13351 to i64 %t13353 = zext i32 %t13350 to i64 %t13354 = mul i64 %t13353, %t13352 %t13355 = load ptr, ptr %t13344 %t13356 = call ptr @realloc(ptr %t13355, i64 %t13354) store ptr %t13356, ptr %t13344 store i32 %t13350, ptr %t13343 br label %put2699 put2699: %t13357 = load ptr, ptr %t13344 %t13358 = getelementptr inbounds ptr, ptr %t13357, i32 %t13345 store ptr @.str8767, ptr %t13358 %t13359 = add i32 %t13345, 1 store i32 %t13359, ptr %t13342 br label %ifend2695 ifend2695: %t13360 = load ptr, ptr %t1 %t13361 = call i32 @lp_str_eq(ptr %t13360, ptr @.str8768) %t13362 = icmp ne i32 %t13361, 0 br i1 %t13362, label %then2700, label %ifend2702 then2700: store ptr @.str8769, ptr %t403 %t13363 = load ptr, ptr %t410 %t13364 = getelementptr inbounds %LSlice, ptr %t13363, i32 0, i32 1 %t13365 = getelementptr inbounds %LSlice, ptr %t13363, i32 0, i32 2 %t13366 = getelementptr inbounds %LSlice, ptr %t13363, i32 0, i32 0 %t13367 = load i32, ptr %t13364 %t13368 = load i32, ptr %t13365 %t13369 = icmp sge i32 %t13367, %t13368 br i1 %t13369, label %grow2703, label %put2704 grow2703: %t13370 = mul i32 %t13368, 2 %t13371 = icmp eq i32 %t13368, 0 %t13372 = select i1 %t13371, i32 8, i32 %t13370 %t13373 = getelementptr ptr, ptr null, i32 1 %t13374 = ptrtoint ptr %t13373 to i64 %t13375 = zext i32 %t13372 to i64 %t13376 = mul i64 %t13375, %t13374 %t13377 = load ptr, ptr %t13366 %t13378 = call ptr @realloc(ptr %t13377, i64 %t13376) store ptr %t13378, ptr %t13366 store i32 %t13372, ptr %t13365 br label %put2704 put2704: %t13379 = load ptr, ptr %t13366 %t13380 = getelementptr inbounds ptr, ptr %t13379, i32 %t13367 store ptr @.str8770, ptr %t13380 %t13381 = add i32 %t13367, 1 store i32 %t13381, ptr %t13364 br label %ifend2702 ifend2702: %t13382 = load ptr, ptr %t1 %t13383 = call i32 @lp_str_eq(ptr %t13382, ptr @.str8771) %t13384 = icmp ne i32 %t13383, 0 br i1 %t13384, label %then2705, label %ifend2707 then2705: store ptr @.str8772, ptr %t403 %t13385 = load ptr, ptr %t410 %t13386 = getelementptr inbounds %LSlice, ptr %t13385, i32 0, i32 1 %t13387 = getelementptr inbounds %LSlice, ptr %t13385, i32 0, i32 2 %t13388 = getelementptr inbounds %LSlice, ptr %t13385, i32 0, i32 0 %t13389 = load i32, ptr %t13386 %t13390 = load i32, ptr %t13387 %t13391 = icmp sge i32 %t13389, %t13390 br i1 %t13391, label %grow2708, label %put2709 grow2708: %t13392 = mul i32 %t13390, 2 %t13393 = icmp eq i32 %t13390, 0 %t13394 = select i1 %t13393, i32 8, i32 %t13392 %t13395 = getelementptr ptr, ptr null, i32 1 %t13396 = ptrtoint ptr %t13395 to i64 %t13397 = zext i32 %t13394 to i64 %t13398 = mul i64 %t13397, %t13396 %t13399 = load ptr, ptr %t13388 %t13400 = call ptr @realloc(ptr %t13399, i64 %t13398) store ptr %t13400, ptr %t13388 store i32 %t13394, ptr %t13387 br label %put2709 put2709: %t13401 = load ptr, ptr %t13388 %t13402 = getelementptr inbounds ptr, ptr %t13401, i32 %t13389 store ptr @.str8773, ptr %t13402 %t13403 = add i32 %t13389, 1 store i32 %t13403, ptr %t13386 br label %ifend2707 ifend2707: %t13404 = load ptr, ptr %t1 %t13405 = call i32 @lp_str_eq(ptr %t13404, ptr @.str8774) %t13406 = icmp ne i32 %t13405, 0 br i1 %t13406, label %then2710, label %ifend2712 then2710: store ptr @.str8775, ptr %t403 %t13407 = load ptr, ptr %t410 %t13408 = getelementptr inbounds %LSlice, ptr %t13407, i32 0, i32 1 %t13409 = getelementptr inbounds %LSlice, ptr %t13407, i32 0, i32 2 %t13410 = getelementptr inbounds %LSlice, ptr %t13407, i32 0, i32 0 %t13411 = load i32, ptr %t13408 %t13412 = load i32, ptr %t13409 %t13413 = icmp sge i32 %t13411, %t13412 br i1 %t13413, label %grow2713, label %put2714 grow2713: %t13414 = mul i32 %t13412, 2 %t13415 = icmp eq i32 %t13412, 0 %t13416 = select i1 %t13415, i32 8, i32 %t13414 %t13417 = getelementptr ptr, ptr null, i32 1 %t13418 = ptrtoint ptr %t13417 to i64 %t13419 = zext i32 %t13416 to i64 %t13420 = mul i64 %t13419, %t13418 %t13421 = load ptr, ptr %t13410 %t13422 = call ptr @realloc(ptr %t13421, i64 %t13420) store ptr %t13422, ptr %t13410 store i32 %t13416, ptr %t13409 br label %put2714 put2714: %t13423 = load ptr, ptr %t13410 %t13424 = getelementptr inbounds ptr, ptr %t13423, i32 %t13411 store ptr @.str8776, ptr %t13424 %t13425 = add i32 %t13411, 1 store i32 %t13425, ptr %t13408 br label %ifend2712 ifend2712: %t13426 = load ptr, ptr %t1 %t13427 = call i32 @lp_str_eq(ptr %t13426, ptr @.str8777) %t13428 = icmp ne i32 %t13427, 0 br i1 %t13428, label %then2715, label %ifend2717 then2715: store ptr @.str8778, ptr %t403 %t13429 = load ptr, ptr %t410 %t13430 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 1 %t13431 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 2 %t13432 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 0 %t13433 = load i32, ptr %t13430 %t13434 = load i32, ptr %t13431 %t13435 = icmp sge i32 %t13433, %t13434 br i1 %t13435, label %grow2718, label %put2719 grow2718: %t13436 = mul i32 %t13434, 2 %t13437 = icmp eq i32 %t13434, 0 %t13438 = select i1 %t13437, i32 8, i32 %t13436 %t13439 = getelementptr ptr, ptr null, i32 1 %t13440 = ptrtoint ptr %t13439 to i64 %t13441 = zext i32 %t13438 to i64 %t13442 = mul i64 %t13441, %t13440 %t13443 = load ptr, ptr %t13432 %t13444 = call ptr @realloc(ptr %t13443, i64 %t13442) store ptr %t13444, ptr %t13432 store i32 %t13438, ptr %t13431 br label %put2719 put2719: %t13445 = load ptr, ptr %t13432 %t13446 = getelementptr inbounds ptr, ptr %t13445, i32 %t13433 store ptr @.str8779, ptr %t13446 %t13447 = add i32 %t13433, 1 store i32 %t13447, ptr %t13430 br label %ifend2717 ifend2717: br label %ifend2626 ifend2626: %t13448 = load ptr, ptr %t0 %t13449 = call i32 @lp_str_eq(ptr %t13448, ptr @.str8780) %t13450 = icmp ne i32 %t13449, 0 br i1 %t13450, label %then2720, label %ifend2722 then2720: %t13451 = load ptr, ptr %t1 %t13452 = call i32 @lp_str_eq(ptr %t13451, ptr @.str8781) %t13453 = icmp ne i32 %t13452, 0 br i1 %t13453, label %then2723, label %ifend2725 then2723: store ptr @.str8782, ptr %t403 %t13454 = load ptr, ptr %t410 %t13455 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 1 %t13456 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 2 %t13457 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 0 %t13458 = load i32, ptr %t13455 %t13459 = load i32, ptr %t13456 %t13460 = icmp sge i32 %t13458, %t13459 br i1 %t13460, label %grow2726, label %put2727 grow2726: %t13461 = mul i32 %t13459, 2 %t13462 = icmp eq i32 %t13459, 0 %t13463 = select i1 %t13462, i32 8, i32 %t13461 %t13464 = getelementptr ptr, ptr null, i32 1 %t13465 = ptrtoint ptr %t13464 to i64 %t13466 = zext i32 %t13463 to i64 %t13467 = mul i64 %t13466, %t13465 %t13468 = load ptr, ptr %t13457 %t13469 = call ptr @realloc(ptr %t13468, i64 %t13467) store ptr %t13469, ptr %t13457 store i32 %t13463, ptr %t13456 br label %put2727 put2727: %t13470 = load ptr, ptr %t13457 %t13471 = getelementptr inbounds ptr, ptr %t13470, i32 %t13458 store ptr @.str8783, ptr %t13471 %t13472 = add i32 %t13458, 1 store i32 %t13472, ptr %t13455 br label %ifend2725 ifend2725: %t13473 = load ptr, ptr %t1 %t13474 = call i32 @lp_str_eq(ptr %t13473, ptr @.str8784) %t13475 = icmp ne i32 %t13474, 0 br i1 %t13475, label %then2728, label %ifend2730 then2728: store ptr @.str8785, ptr %t403 %t13476 = load ptr, ptr %t410 %t13477 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 1 %t13478 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 2 %t13479 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 0 %t13480 = load i32, ptr %t13477 %t13481 = load i32, ptr %t13478 %t13482 = icmp sge i32 %t13480, %t13481 br i1 %t13482, label %grow2731, label %put2732 grow2731: %t13483 = mul i32 %t13481, 2 %t13484 = icmp eq i32 %t13481, 0 %t13485 = select i1 %t13484, i32 8, i32 %t13483 %t13486 = getelementptr ptr, ptr null, i32 1 %t13487 = ptrtoint ptr %t13486 to i64 %t13488 = zext i32 %t13485 to i64 %t13489 = mul i64 %t13488, %t13487 %t13490 = load ptr, ptr %t13479 %t13491 = call ptr @realloc(ptr %t13490, i64 %t13489) store ptr %t13491, ptr %t13479 store i32 %t13485, ptr %t13478 br label %put2732 put2732: %t13492 = load ptr, ptr %t13479 %t13493 = getelementptr inbounds ptr, ptr %t13492, i32 %t13480 store ptr @.str8786, ptr %t13493 %t13494 = add i32 %t13480, 1 store i32 %t13494, ptr %t13477 br label %ifend2730 ifend2730: br label %ifend2722 ifend2722: %t13495 = load ptr, ptr %t0 %t13496 = call i32 @lp_str_eq(ptr %t13495, ptr @.str8787) %t13497 = icmp ne i32 %t13496, 0 br i1 %t13497, label %then2733, label %ifend2735 then2733: %t13498 = load ptr, ptr %t1 %t13499 = call i32 @lp_str_eq(ptr %t13498, ptr @.str8788) %t13500 = icmp ne i32 %t13499, 0 br i1 %t13500, label %then2736, label %ifend2738 then2736: store ptr @.str8789, ptr %t403 %t13501 = load ptr, ptr %t410 %t13502 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 1 %t13503 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 2 %t13504 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 0 %t13505 = load i32, ptr %t13502 %t13506 = load i32, ptr %t13503 %t13507 = icmp sge i32 %t13505, %t13506 br i1 %t13507, label %grow2739, label %put2740 grow2739: %t13508 = mul i32 %t13506, 2 %t13509 = icmp eq i32 %t13506, 0 %t13510 = select i1 %t13509, i32 8, i32 %t13508 %t13511 = getelementptr ptr, ptr null, i32 1 %t13512 = ptrtoint ptr %t13511 to i64 %t13513 = zext i32 %t13510 to i64 %t13514 = mul i64 %t13513, %t13512 %t13515 = load ptr, ptr %t13504 %t13516 = call ptr @realloc(ptr %t13515, i64 %t13514) store ptr %t13516, ptr %t13504 store i32 %t13510, ptr %t13503 br label %put2740 put2740: %t13517 = load ptr, ptr %t13504 %t13518 = getelementptr inbounds ptr, ptr %t13517, i32 %t13505 store ptr @.str8790, ptr %t13518 %t13519 = add i32 %t13505, 1 store i32 %t13519, ptr %t13502 br label %ifend2738 ifend2738: %t13520 = load ptr, ptr %t1 %t13521 = call i32 @lp_str_eq(ptr %t13520, ptr @.str8791) %t13522 = icmp ne i32 %t13521, 0 br i1 %t13522, label %then2741, label %ifend2743 then2741: store ptr @.str8792, ptr %t403 %t13523 = load ptr, ptr %t410 %t13524 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 1 %t13525 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 2 %t13526 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 0 %t13527 = load i32, ptr %t13524 %t13528 = load i32, ptr %t13525 %t13529 = icmp sge i32 %t13527, %t13528 br i1 %t13529, label %grow2744, label %put2745 grow2744: %t13530 = mul i32 %t13528, 2 %t13531 = icmp eq i32 %t13528, 0 %t13532 = select i1 %t13531, i32 8, i32 %t13530 %t13533 = getelementptr ptr, ptr null, i32 1 %t13534 = ptrtoint ptr %t13533 to i64 %t13535 = zext i32 %t13532 to i64 %t13536 = mul i64 %t13535, %t13534 %t13537 = load ptr, ptr %t13526 %t13538 = call ptr @realloc(ptr %t13537, i64 %t13536) store ptr %t13538, ptr %t13526 store i32 %t13532, ptr %t13525 br label %put2745 put2745: %t13539 = load ptr, ptr %t13526 %t13540 = getelementptr inbounds ptr, ptr %t13539, i32 %t13527 store ptr @.str8793, ptr %t13540 %t13541 = add i32 %t13527, 1 store i32 %t13541, ptr %t13524 br label %ifend2743 ifend2743: %t13542 = load ptr, ptr %t1 %t13543 = call i32 @lp_str_eq(ptr %t13542, ptr @.str8794) %t13544 = icmp ne i32 %t13543, 0 br i1 %t13544, label %then2746, label %ifend2748 then2746: store ptr @.str8795, ptr %t403 %t13545 = load ptr, ptr %t410 %t13546 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 1 %t13547 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 2 %t13548 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 0 %t13549 = load i32, ptr %t13546 %t13550 = load i32, ptr %t13547 %t13551 = icmp sge i32 %t13549, %t13550 br i1 %t13551, label %grow2749, label %put2750 grow2749: %t13552 = mul i32 %t13550, 2 %t13553 = icmp eq i32 %t13550, 0 %t13554 = select i1 %t13553, i32 8, i32 %t13552 %t13555 = getelementptr ptr, ptr null, i32 1 %t13556 = ptrtoint ptr %t13555 to i64 %t13557 = zext i32 %t13554 to i64 %t13558 = mul i64 %t13557, %t13556 %t13559 = load ptr, ptr %t13548 %t13560 = call ptr @realloc(ptr %t13559, i64 %t13558) store ptr %t13560, ptr %t13548 store i32 %t13554, ptr %t13547 br label %put2750 put2750: %t13561 = load ptr, ptr %t13548 %t13562 = getelementptr inbounds ptr, ptr %t13561, i32 %t13549 store ptr @.str8796, ptr %t13562 %t13563 = add i32 %t13549, 1 store i32 %t13563, ptr %t13546 br label %ifend2748 ifend2748: %t13564 = load ptr, ptr %t1 %t13565 = call i32 @lp_str_eq(ptr %t13564, ptr @.str8797) %t13566 = icmp ne i32 %t13565, 0 br i1 %t13566, label %then2751, label %ifend2753 then2751: store ptr @.str8798, ptr %t403 %t13567 = load ptr, ptr %t410 %t13568 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 1 %t13569 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 2 %t13570 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 0 %t13571 = load i32, ptr %t13568 %t13572 = load i32, ptr %t13569 %t13573 = icmp sge i32 %t13571, %t13572 br i1 %t13573, label %grow2754, label %put2755 grow2754: %t13574 = mul i32 %t13572, 2 %t13575 = icmp eq i32 %t13572, 0 %t13576 = select i1 %t13575, i32 8, i32 %t13574 %t13577 = getelementptr ptr, ptr null, i32 1 %t13578 = ptrtoint ptr %t13577 to i64 %t13579 = zext i32 %t13576 to i64 %t13580 = mul i64 %t13579, %t13578 %t13581 = load ptr, ptr %t13570 %t13582 = call ptr @realloc(ptr %t13581, i64 %t13580) store ptr %t13582, ptr %t13570 store i32 %t13576, ptr %t13569 br label %put2755 put2755: %t13583 = load ptr, ptr %t13570 %t13584 = getelementptr inbounds ptr, ptr %t13583, i32 %t13571 store ptr @.str8799, ptr %t13584 %t13585 = add i32 %t13571, 1 store i32 %t13585, ptr %t13568 %t13586 = load ptr, ptr %t410 %t13587 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 1 %t13588 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 2 %t13589 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 0 %t13590 = load i32, ptr %t13587 %t13591 = load i32, ptr %t13588 %t13592 = icmp sge i32 %t13590, %t13591 br i1 %t13592, label %grow2756, label %put2757 grow2756: %t13593 = mul i32 %t13591, 2 %t13594 = icmp eq i32 %t13591, 0 %t13595 = select i1 %t13594, i32 8, i32 %t13593 %t13596 = getelementptr ptr, ptr null, i32 1 %t13597 = ptrtoint ptr %t13596 to i64 %t13598 = zext i32 %t13595 to i64 %t13599 = mul i64 %t13598, %t13597 %t13600 = load ptr, ptr %t13589 %t13601 = call ptr @realloc(ptr %t13600, i64 %t13599) store ptr %t13601, ptr %t13589 store i32 %t13595, ptr %t13588 br label %put2757 put2757: %t13602 = load ptr, ptr %t13589 %t13603 = getelementptr inbounds ptr, ptr %t13602, i32 %t13590 store ptr @.str8800, ptr %t13603 %t13604 = add i32 %t13590, 1 store i32 %t13604, ptr %t13587 br label %ifend2753 ifend2753: %t13605 = load ptr, ptr %t1 %t13606 = call i32 @lp_str_eq(ptr %t13605, ptr @.str8801) %t13607 = icmp ne i32 %t13606, 0 br i1 %t13607, label %then2758, label %ifend2760 then2758: store ptr @.str8802, ptr %t403 %t13608 = load ptr, ptr %t410 %t13609 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 1 %t13610 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 2 %t13611 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 0 %t13612 = load i32, ptr %t13609 %t13613 = load i32, ptr %t13610 %t13614 = icmp sge i32 %t13612, %t13613 br i1 %t13614, label %grow2761, label %put2762 grow2761: %t13615 = mul i32 %t13613, 2 %t13616 = icmp eq i32 %t13613, 0 %t13617 = select i1 %t13616, i32 8, i32 %t13615 %t13618 = getelementptr ptr, ptr null, i32 1 %t13619 = ptrtoint ptr %t13618 to i64 %t13620 = zext i32 %t13617 to i64 %t13621 = mul i64 %t13620, %t13619 %t13622 = load ptr, ptr %t13611 %t13623 = call ptr @realloc(ptr %t13622, i64 %t13621) store ptr %t13623, ptr %t13611 store i32 %t13617, ptr %t13610 br label %put2762 put2762: %t13624 = load ptr, ptr %t13611 %t13625 = getelementptr inbounds ptr, ptr %t13624, i32 %t13612 store ptr @.str8803, ptr %t13625 %t13626 = add i32 %t13612, 1 store i32 %t13626, ptr %t13609 %t13627 = load ptr, ptr %t410 %t13628 = getelementptr inbounds %LSlice, ptr %t13627, i32 0, i32 1 %t13629 = getelementptr inbounds %LSlice, ptr %t13627, i32 0, i32 2 %t13630 = getelementptr inbounds %LSlice, ptr %t13627, i32 0, i32 0 %t13631 = load i32, ptr %t13628 %t13632 = load i32, ptr %t13629 %t13633 = icmp sge i32 %t13631, %t13632 br i1 %t13633, label %grow2763, label %put2764 grow2763: %t13634 = mul i32 %t13632, 2 %t13635 = icmp eq i32 %t13632, 0 %t13636 = select i1 %t13635, i32 8, i32 %t13634 %t13637 = getelementptr ptr, ptr null, i32 1 %t13638 = ptrtoint ptr %t13637 to i64 %t13639 = zext i32 %t13636 to i64 %t13640 = mul i64 %t13639, %t13638 %t13641 = load ptr, ptr %t13630 %t13642 = call ptr @realloc(ptr %t13641, i64 %t13640) store ptr %t13642, ptr %t13630 store i32 %t13636, ptr %t13629 br label %put2764 put2764: %t13643 = load ptr, ptr %t13630 %t13644 = getelementptr inbounds ptr, ptr %t13643, i32 %t13631 store ptr @.str8804, ptr %t13644 %t13645 = add i32 %t13631, 1 store i32 %t13645, ptr %t13628 %t13646 = load ptr, ptr %t410 %t13647 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 1 %t13648 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 2 %t13649 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 0 %t13650 = load i32, ptr %t13647 %t13651 = load i32, ptr %t13648 %t13652 = icmp sge i32 %t13650, %t13651 br i1 %t13652, label %grow2765, label %put2766 grow2765: %t13653 = mul i32 %t13651, 2 %t13654 = icmp eq i32 %t13651, 0 %t13655 = select i1 %t13654, i32 8, i32 %t13653 %t13656 = getelementptr ptr, ptr null, i32 1 %t13657 = ptrtoint ptr %t13656 to i64 %t13658 = zext i32 %t13655 to i64 %t13659 = mul i64 %t13658, %t13657 %t13660 = load ptr, ptr %t13649 %t13661 = call ptr @realloc(ptr %t13660, i64 %t13659) store ptr %t13661, ptr %t13649 store i32 %t13655, ptr %t13648 br label %put2766 put2766: %t13662 = load ptr, ptr %t13649 %t13663 = getelementptr inbounds ptr, ptr %t13662, i32 %t13650 store ptr @.str8805, ptr %t13663 %t13664 = add i32 %t13650, 1 store i32 %t13664, ptr %t13647 br label %ifend2760 ifend2760: %t13665 = load ptr, ptr %t1 %t13666 = call i32 @lp_str_eq(ptr %t13665, ptr @.str8806) %t13667 = icmp ne i32 %t13666, 0 br i1 %t13667, label %then2767, label %ifend2769 then2767: store ptr @.str8807, ptr %t403 %t13668 = load ptr, ptr %t410 %t13669 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 1 %t13670 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 2 %t13671 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 0 %t13672 = load i32, ptr %t13669 %t13673 = load i32, ptr %t13670 %t13674 = icmp sge i32 %t13672, %t13673 br i1 %t13674, label %grow2770, label %put2771 grow2770: %t13675 = mul i32 %t13673, 2 %t13676 = icmp eq i32 %t13673, 0 %t13677 = select i1 %t13676, i32 8, i32 %t13675 %t13678 = getelementptr ptr, ptr null, i32 1 %t13679 = ptrtoint ptr %t13678 to i64 %t13680 = zext i32 %t13677 to i64 %t13681 = mul i64 %t13680, %t13679 %t13682 = load ptr, ptr %t13671 %t13683 = call ptr @realloc(ptr %t13682, i64 %t13681) store ptr %t13683, ptr %t13671 store i32 %t13677, ptr %t13670 br label %put2771 put2771: %t13684 = load ptr, ptr %t13671 %t13685 = getelementptr inbounds ptr, ptr %t13684, i32 %t13672 store ptr @.str8808, ptr %t13685 %t13686 = add i32 %t13672, 1 store i32 %t13686, ptr %t13669 %t13687 = load ptr, ptr %t410 %t13688 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 1 %t13689 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 2 %t13690 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 0 %t13691 = load i32, ptr %t13688 %t13692 = load i32, ptr %t13689 %t13693 = icmp sge i32 %t13691, %t13692 br i1 %t13693, label %grow2772, label %put2773 grow2772: %t13694 = mul i32 %t13692, 2 %t13695 = icmp eq i32 %t13692, 0 %t13696 = select i1 %t13695, i32 8, i32 %t13694 %t13697 = getelementptr ptr, ptr null, i32 1 %t13698 = ptrtoint ptr %t13697 to i64 %t13699 = zext i32 %t13696 to i64 %t13700 = mul i64 %t13699, %t13698 %t13701 = load ptr, ptr %t13690 %t13702 = call ptr @realloc(ptr %t13701, i64 %t13700) store ptr %t13702, ptr %t13690 store i32 %t13696, ptr %t13689 br label %put2773 put2773: %t13703 = load ptr, ptr %t13690 %t13704 = getelementptr inbounds ptr, ptr %t13703, i32 %t13691 store ptr @.str8809, ptr %t13704 %t13705 = add i32 %t13691, 1 store i32 %t13705, ptr %t13688 br label %ifend2769 ifend2769: %t13706 = load ptr, ptr %t1 %t13707 = call i32 @lp_str_eq(ptr %t13706, ptr @.str8810) %t13708 = icmp ne i32 %t13707, 0 br i1 %t13708, label %then2774, label %ifend2776 then2774: store ptr @.str8811, ptr %t403 %t13709 = load ptr, ptr %t410 %t13710 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 1 %t13711 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 2 %t13712 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 0 %t13713 = load i32, ptr %t13710 %t13714 = load i32, ptr %t13711 %t13715 = icmp sge i32 %t13713, %t13714 br i1 %t13715, label %grow2777, label %put2778 grow2777: %t13716 = mul i32 %t13714, 2 %t13717 = icmp eq i32 %t13714, 0 %t13718 = select i1 %t13717, i32 8, i32 %t13716 %t13719 = getelementptr ptr, ptr null, i32 1 %t13720 = ptrtoint ptr %t13719 to i64 %t13721 = zext i32 %t13718 to i64 %t13722 = mul i64 %t13721, %t13720 %t13723 = load ptr, ptr %t13712 %t13724 = call ptr @realloc(ptr %t13723, i64 %t13722) store ptr %t13724, ptr %t13712 store i32 %t13718, ptr %t13711 br label %put2778 put2778: %t13725 = load ptr, ptr %t13712 %t13726 = getelementptr inbounds ptr, ptr %t13725, i32 %t13713 store ptr @.str8812, ptr %t13726 %t13727 = add i32 %t13713, 1 store i32 %t13727, ptr %t13710 br label %ifend2776 ifend2776: %t13728 = load ptr, ptr %t1 %t13729 = call i32 @lp_str_eq(ptr %t13728, ptr @.str8813) %t13730 = icmp ne i32 %t13729, 0 br i1 %t13730, label %then2779, label %ifend2781 then2779: store ptr @.str8814, ptr %t403 %t13731 = load ptr, ptr %t410 %t13732 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 1 %t13733 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 2 %t13734 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 0 %t13735 = load i32, ptr %t13732 %t13736 = load i32, ptr %t13733 %t13737 = icmp sge i32 %t13735, %t13736 br i1 %t13737, label %grow2782, label %put2783 grow2782: %t13738 = mul i32 %t13736, 2 %t13739 = icmp eq i32 %t13736, 0 %t13740 = select i1 %t13739, i32 8, i32 %t13738 %t13741 = getelementptr ptr, ptr null, i32 1 %t13742 = ptrtoint ptr %t13741 to i64 %t13743 = zext i32 %t13740 to i64 %t13744 = mul i64 %t13743, %t13742 %t13745 = load ptr, ptr %t13734 %t13746 = call ptr @realloc(ptr %t13745, i64 %t13744) store ptr %t13746, ptr %t13734 store i32 %t13740, ptr %t13733 br label %put2783 put2783: %t13747 = load ptr, ptr %t13734 %t13748 = getelementptr inbounds ptr, ptr %t13747, i32 %t13735 store ptr @.str8815, ptr %t13748 %t13749 = add i32 %t13735, 1 store i32 %t13749, ptr %t13732 br label %ifend2781 ifend2781: %t13750 = load ptr, ptr %t1 %t13751 = call i32 @lp_str_eq(ptr %t13750, ptr @.str8816) %t13752 = icmp ne i32 %t13751, 0 br i1 %t13752, label %then2784, label %ifend2786 then2784: store ptr @.str8817, ptr %t403 %t13753 = load ptr, ptr %t410 %t13754 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 1 %t13755 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 2 %t13756 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 0 %t13757 = load i32, ptr %t13754 %t13758 = load i32, ptr %t13755 %t13759 = icmp sge i32 %t13757, %t13758 br i1 %t13759, label %grow2787, label %put2788 grow2787: %t13760 = mul i32 %t13758, 2 %t13761 = icmp eq i32 %t13758, 0 %t13762 = select i1 %t13761, i32 8, i32 %t13760 %t13763 = getelementptr ptr, ptr null, i32 1 %t13764 = ptrtoint ptr %t13763 to i64 %t13765 = zext i32 %t13762 to i64 %t13766 = mul i64 %t13765, %t13764 %t13767 = load ptr, ptr %t13756 %t13768 = call ptr @realloc(ptr %t13767, i64 %t13766) store ptr %t13768, ptr %t13756 store i32 %t13762, ptr %t13755 br label %put2788 put2788: %t13769 = load ptr, ptr %t13756 %t13770 = getelementptr inbounds ptr, ptr %t13769, i32 %t13757 store ptr @.str8818, ptr %t13770 %t13771 = add i32 %t13757, 1 store i32 %t13771, ptr %t13754 %t13772 = load ptr, ptr %t410 %t13773 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 1 %t13774 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 2 %t13775 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 0 %t13776 = load i32, ptr %t13773 %t13777 = load i32, ptr %t13774 %t13778 = icmp sge i32 %t13776, %t13777 br i1 %t13778, label %grow2789, label %put2790 grow2789: %t13779 = mul i32 %t13777, 2 %t13780 = icmp eq i32 %t13777, 0 %t13781 = select i1 %t13780, i32 8, i32 %t13779 %t13782 = getelementptr ptr, ptr null, i32 1 %t13783 = ptrtoint ptr %t13782 to i64 %t13784 = zext i32 %t13781 to i64 %t13785 = mul i64 %t13784, %t13783 %t13786 = load ptr, ptr %t13775 %t13787 = call ptr @realloc(ptr %t13786, i64 %t13785) store ptr %t13787, ptr %t13775 store i32 %t13781, ptr %t13774 br label %put2790 put2790: %t13788 = load ptr, ptr %t13775 %t13789 = getelementptr inbounds ptr, ptr %t13788, i32 %t13776 store ptr @.str8819, ptr %t13789 %t13790 = add i32 %t13776, 1 store i32 %t13790, ptr %t13773 br label %ifend2786 ifend2786: %t13791 = load ptr, ptr %t1 %t13792 = call i32 @lp_str_eq(ptr %t13791, ptr @.str8820) %t13793 = icmp ne i32 %t13792, 0 br i1 %t13793, label %then2791, label %ifend2793 then2791: store ptr @.str8821, ptr %t403 %t13794 = load ptr, ptr %t410 %t13795 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 1 %t13796 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 2 %t13797 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 0 %t13798 = load i32, ptr %t13795 %t13799 = load i32, ptr %t13796 %t13800 = icmp sge i32 %t13798, %t13799 br i1 %t13800, label %grow2794, label %put2795 grow2794: %t13801 = mul i32 %t13799, 2 %t13802 = icmp eq i32 %t13799, 0 %t13803 = select i1 %t13802, i32 8, i32 %t13801 %t13804 = getelementptr ptr, ptr null, i32 1 %t13805 = ptrtoint ptr %t13804 to i64 %t13806 = zext i32 %t13803 to i64 %t13807 = mul i64 %t13806, %t13805 %t13808 = load ptr, ptr %t13797 %t13809 = call ptr @realloc(ptr %t13808, i64 %t13807) store ptr %t13809, ptr %t13797 store i32 %t13803, ptr %t13796 br label %put2795 put2795: %t13810 = load ptr, ptr %t13797 %t13811 = getelementptr inbounds ptr, ptr %t13810, i32 %t13798 store ptr @.str8822, ptr %t13811 %t13812 = add i32 %t13798, 1 store i32 %t13812, ptr %t13795 %t13813 = load ptr, ptr %t410 %t13814 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 1 %t13815 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 2 %t13816 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 0 %t13817 = load i32, ptr %t13814 %t13818 = load i32, ptr %t13815 %t13819 = icmp sge i32 %t13817, %t13818 br i1 %t13819, label %grow2796, label %put2797 grow2796: %t13820 = mul i32 %t13818, 2 %t13821 = icmp eq i32 %t13818, 0 %t13822 = select i1 %t13821, i32 8, i32 %t13820 %t13823 = getelementptr ptr, ptr null, i32 1 %t13824 = ptrtoint ptr %t13823 to i64 %t13825 = zext i32 %t13822 to i64 %t13826 = mul i64 %t13825, %t13824 %t13827 = load ptr, ptr %t13816 %t13828 = call ptr @realloc(ptr %t13827, i64 %t13826) store ptr %t13828, ptr %t13816 store i32 %t13822, ptr %t13815 br label %put2797 put2797: %t13829 = load ptr, ptr %t13816 %t13830 = getelementptr inbounds ptr, ptr %t13829, i32 %t13817 store ptr @.str8823, ptr %t13830 %t13831 = add i32 %t13817, 1 store i32 %t13831, ptr %t13814 br label %ifend2793 ifend2793: %t13832 = load ptr, ptr %t1 %t13833 = call i32 @lp_str_eq(ptr %t13832, ptr @.str8824) %t13834 = icmp ne i32 %t13833, 0 br i1 %t13834, label %then2798, label %ifend2800 then2798: store ptr @.str8825, ptr %t403 %t13835 = load ptr, ptr %t410 %t13836 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 1 %t13837 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 2 %t13838 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 0 %t13839 = load i32, ptr %t13836 %t13840 = load i32, ptr %t13837 %t13841 = icmp sge i32 %t13839, %t13840 br i1 %t13841, label %grow2801, label %put2802 grow2801: %t13842 = mul i32 %t13840, 2 %t13843 = icmp eq i32 %t13840, 0 %t13844 = select i1 %t13843, i32 8, i32 %t13842 %t13845 = getelementptr ptr, ptr null, i32 1 %t13846 = ptrtoint ptr %t13845 to i64 %t13847 = zext i32 %t13844 to i64 %t13848 = mul i64 %t13847, %t13846 %t13849 = load ptr, ptr %t13838 %t13850 = call ptr @realloc(ptr %t13849, i64 %t13848) store ptr %t13850, ptr %t13838 store i32 %t13844, ptr %t13837 br label %put2802 put2802: %t13851 = load ptr, ptr %t13838 %t13852 = getelementptr inbounds ptr, ptr %t13851, i32 %t13839 store ptr @.str8826, ptr %t13852 %t13853 = add i32 %t13839, 1 store i32 %t13853, ptr %t13836 %t13854 = load ptr, ptr %t410 %t13855 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 1 %t13856 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 2 %t13857 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 0 %t13858 = load i32, ptr %t13855 %t13859 = load i32, ptr %t13856 %t13860 = icmp sge i32 %t13858, %t13859 br i1 %t13860, label %grow2803, label %put2804 grow2803: %t13861 = mul i32 %t13859, 2 %t13862 = icmp eq i32 %t13859, 0 %t13863 = select i1 %t13862, i32 8, i32 %t13861 %t13864 = getelementptr ptr, ptr null, i32 1 %t13865 = ptrtoint ptr %t13864 to i64 %t13866 = zext i32 %t13863 to i64 %t13867 = mul i64 %t13866, %t13865 %t13868 = load ptr, ptr %t13857 %t13869 = call ptr @realloc(ptr %t13868, i64 %t13867) store ptr %t13869, ptr %t13857 store i32 %t13863, ptr %t13856 br label %put2804 put2804: %t13870 = load ptr, ptr %t13857 %t13871 = getelementptr inbounds ptr, ptr %t13870, i32 %t13858 store ptr @.str8827, ptr %t13871 %t13872 = add i32 %t13858, 1 store i32 %t13872, ptr %t13855 br label %ifend2800 ifend2800: br label %ifend2735 ifend2735: %t13873 = load ptr, ptr %t0 %t13874 = call i32 @lp_str_eq(ptr %t13873, ptr @.str8828) %t13875 = icmp ne i32 %t13874, 0 br i1 %t13875, label %then2805, label %ifend2807 then2805: %t13876 = load ptr, ptr %t1 %t13877 = call i32 @lp_str_eq(ptr %t13876, ptr @.str8829) %t13878 = icmp ne i32 %t13877, 0 br i1 %t13878, label %then2808, label %ifend2810 then2808: store ptr @.str8830, ptr %t403 %t13879 = load ptr, ptr %t410 %t13880 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 1 %t13881 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 2 %t13882 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 0 %t13883 = load i32, ptr %t13880 %t13884 = load i32, ptr %t13881 %t13885 = icmp sge i32 %t13883, %t13884 br i1 %t13885, label %grow2811, label %put2812 grow2811: %t13886 = mul i32 %t13884, 2 %t13887 = icmp eq i32 %t13884, 0 %t13888 = select i1 %t13887, i32 8, i32 %t13886 %t13889 = getelementptr ptr, ptr null, i32 1 %t13890 = ptrtoint ptr %t13889 to i64 %t13891 = zext i32 %t13888 to i64 %t13892 = mul i64 %t13891, %t13890 %t13893 = load ptr, ptr %t13882 %t13894 = call ptr @realloc(ptr %t13893, i64 %t13892) store ptr %t13894, ptr %t13882 store i32 %t13888, ptr %t13881 br label %put2812 put2812: %t13895 = load ptr, ptr %t13882 %t13896 = getelementptr inbounds ptr, ptr %t13895, i32 %t13883 store ptr @.str8831, ptr %t13896 %t13897 = add i32 %t13883, 1 store i32 %t13897, ptr %t13880 br label %ifend2810 ifend2810: %t13898 = load ptr, ptr %t1 %t13899 = call i32 @lp_str_eq(ptr %t13898, ptr @.str8832) %t13900 = icmp ne i32 %t13899, 0 br i1 %t13900, label %then2813, label %ifend2815 then2813: store ptr @.str8833, ptr %t403 %t13901 = load ptr, ptr %t410 %t13902 = getelementptr inbounds %LSlice, ptr %t13901, i32 0, i32 1 %t13903 = getelementptr inbounds %LSlice, ptr %t13901, i32 0, i32 2 %t13904 = getelementptr inbounds %LSlice, ptr %t13901, i32 0, i32 0 %t13905 = load i32, ptr %t13902 %t13906 = load i32, ptr %t13903 %t13907 = icmp sge i32 %t13905, %t13906 br i1 %t13907, label %grow2816, label %put2817 grow2816: %t13908 = mul i32 %t13906, 2 %t13909 = icmp eq i32 %t13906, 0 %t13910 = select i1 %t13909, i32 8, i32 %t13908 %t13911 = getelementptr ptr, ptr null, i32 1 %t13912 = ptrtoint ptr %t13911 to i64 %t13913 = zext i32 %t13910 to i64 %t13914 = mul i64 %t13913, %t13912 %t13915 = load ptr, ptr %t13904 %t13916 = call ptr @realloc(ptr %t13915, i64 %t13914) store ptr %t13916, ptr %t13904 store i32 %t13910, ptr %t13903 br label %put2817 put2817: %t13917 = load ptr, ptr %t13904 %t13918 = getelementptr inbounds ptr, ptr %t13917, i32 %t13905 store ptr @.str8834, ptr %t13918 %t13919 = add i32 %t13905, 1 store i32 %t13919, ptr %t13902 br label %ifend2815 ifend2815: br label %ifend2807 ifend2807: %t13920 = load ptr, ptr %t0 %t13921 = call i32 @lp_str_eq(ptr %t13920, ptr @.str8835) %t13922 = icmp ne i32 %t13921, 0 br i1 %t13922, label %then2818, label %ifend2820 then2818: %t13923 = load ptr, ptr %t1 %t13924 = call i32 @lp_str_eq(ptr %t13923, ptr @.str8836) %t13925 = icmp ne i32 %t13924, 0 br i1 %t13925, label %then2821, label %ifend2823 then2821: store ptr @.str8837, ptr %t403 %t13926 = load ptr, ptr %t410 %t13927 = getelementptr inbounds %LSlice, ptr %t13926, i32 0, i32 1 %t13928 = getelementptr inbounds %LSlice, ptr %t13926, i32 0, i32 2 %t13929 = getelementptr inbounds %LSlice, ptr %t13926, i32 0, i32 0 %t13930 = load i32, ptr %t13927 %t13931 = load i32, ptr %t13928 %t13932 = icmp sge i32 %t13930, %t13931 br i1 %t13932, label %grow2824, label %put2825 grow2824: %t13933 = mul i32 %t13931, 2 %t13934 = icmp eq i32 %t13931, 0 %t13935 = select i1 %t13934, i32 8, i32 %t13933 %t13936 = getelementptr ptr, ptr null, i32 1 %t13937 = ptrtoint ptr %t13936 to i64 %t13938 = zext i32 %t13935 to i64 %t13939 = mul i64 %t13938, %t13937 %t13940 = load ptr, ptr %t13929 %t13941 = call ptr @realloc(ptr %t13940, i64 %t13939) store ptr %t13941, ptr %t13929 store i32 %t13935, ptr %t13928 br label %put2825 put2825: %t13942 = load ptr, ptr %t13929 %t13943 = getelementptr inbounds ptr, ptr %t13942, i32 %t13930 store ptr @.str8838, ptr %t13943 %t13944 = add i32 %t13930, 1 store i32 %t13944, ptr %t13927 br label %ifend2823 ifend2823: %t13945 = load ptr, ptr %t1 %t13946 = call i32 @lp_str_eq(ptr %t13945, ptr @.str8839) %t13947 = icmp ne i32 %t13946, 0 br i1 %t13947, label %then2826, label %ifend2828 then2826: store ptr @.str8840, ptr %t403 %t13948 = load ptr, ptr %t410 %t13949 = getelementptr inbounds %LSlice, ptr %t13948, i32 0, i32 1 %t13950 = getelementptr inbounds %LSlice, ptr %t13948, i32 0, i32 2 %t13951 = getelementptr inbounds %LSlice, ptr %t13948, i32 0, i32 0 %t13952 = load i32, ptr %t13949 %t13953 = load i32, ptr %t13950 %t13954 = icmp sge i32 %t13952, %t13953 br i1 %t13954, label %grow2829, label %put2830 grow2829: %t13955 = mul i32 %t13953, 2 %t13956 = icmp eq i32 %t13953, 0 %t13957 = select i1 %t13956, i32 8, i32 %t13955 %t13958 = getelementptr ptr, ptr null, i32 1 %t13959 = ptrtoint ptr %t13958 to i64 %t13960 = zext i32 %t13957 to i64 %t13961 = mul i64 %t13960, %t13959 %t13962 = load ptr, ptr %t13951 %t13963 = call ptr @realloc(ptr %t13962, i64 %t13961) store ptr %t13963, ptr %t13951 store i32 %t13957, ptr %t13950 br label %put2830 put2830: %t13964 = load ptr, ptr %t13951 %t13965 = getelementptr inbounds ptr, ptr %t13964, i32 %t13952 store ptr @.str8841, ptr %t13965 %t13966 = add i32 %t13952, 1 store i32 %t13966, ptr %t13949 br label %ifend2828 ifend2828: %t13967 = load ptr, ptr %t1 %t13968 = call i32 @lp_str_eq(ptr %t13967, ptr @.str8842) %t13969 = icmp ne i32 %t13968, 0 br i1 %t13969, label %then2831, label %ifend2833 then2831: store ptr @.str8843, ptr %t403 %t13970 = load ptr, ptr %t410 %t13971 = getelementptr inbounds %LSlice, ptr %t13970, i32 0, i32 1 %t13972 = getelementptr inbounds %LSlice, ptr %t13970, i32 0, i32 2 %t13973 = getelementptr inbounds %LSlice, ptr %t13970, i32 0, i32 0 %t13974 = load i32, ptr %t13971 %t13975 = load i32, ptr %t13972 %t13976 = icmp sge i32 %t13974, %t13975 br i1 %t13976, label %grow2834, label %put2835 grow2834: %t13977 = mul i32 %t13975, 2 %t13978 = icmp eq i32 %t13975, 0 %t13979 = select i1 %t13978, i32 8, i32 %t13977 %t13980 = getelementptr ptr, ptr null, i32 1 %t13981 = ptrtoint ptr %t13980 to i64 %t13982 = zext i32 %t13979 to i64 %t13983 = mul i64 %t13982, %t13981 %t13984 = load ptr, ptr %t13973 %t13985 = call ptr @realloc(ptr %t13984, i64 %t13983) store ptr %t13985, ptr %t13973 store i32 %t13979, ptr %t13972 br label %put2835 put2835: %t13986 = load ptr, ptr %t13973 %t13987 = getelementptr inbounds ptr, ptr %t13986, i32 %t13974 store ptr @.str8844, ptr %t13987 %t13988 = add i32 %t13974, 1 store i32 %t13988, ptr %t13971 br label %ifend2833 ifend2833: %t13989 = load ptr, ptr %t1 %t13990 = call i32 @lp_str_eq(ptr %t13989, ptr @.str8845) %t13991 = icmp ne i32 %t13990, 0 br i1 %t13991, label %then2836, label %ifend2838 then2836: store ptr @.str8846, ptr %t403 %t13992 = load ptr, ptr %t410 %t13993 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 1 %t13994 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 2 %t13995 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 0 %t13996 = load i32, ptr %t13993 %t13997 = load i32, ptr %t13994 %t13998 = icmp sge i32 %t13996, %t13997 br i1 %t13998, label %grow2839, label %put2840 grow2839: %t13999 = mul i32 %t13997, 2 %t14000 = icmp eq i32 %t13997, 0 %t14001 = select i1 %t14000, i32 8, i32 %t13999 %t14002 = getelementptr ptr, ptr null, i32 1 %t14003 = ptrtoint ptr %t14002 to i64 %t14004 = zext i32 %t14001 to i64 %t14005 = mul i64 %t14004, %t14003 %t14006 = load ptr, ptr %t13995 %t14007 = call ptr @realloc(ptr %t14006, i64 %t14005) store ptr %t14007, ptr %t13995 store i32 %t14001, ptr %t13994 br label %put2840 put2840: %t14008 = load ptr, ptr %t13995 %t14009 = getelementptr inbounds ptr, ptr %t14008, i32 %t13996 store ptr @.str8847, ptr %t14009 %t14010 = add i32 %t13996, 1 store i32 %t14010, ptr %t13993 %t14011 = load ptr, ptr %t410 %t14012 = getelementptr inbounds %LSlice, ptr %t14011, i32 0, i32 1 %t14013 = getelementptr inbounds %LSlice, ptr %t14011, i32 0, i32 2 %t14014 = getelementptr inbounds %LSlice, ptr %t14011, i32 0, i32 0 %t14015 = load i32, ptr %t14012 %t14016 = load i32, ptr %t14013 %t14017 = icmp sge i32 %t14015, %t14016 br i1 %t14017, label %grow2841, label %put2842 grow2841: %t14018 = mul i32 %t14016, 2 %t14019 = icmp eq i32 %t14016, 0 %t14020 = select i1 %t14019, i32 8, i32 %t14018 %t14021 = getelementptr ptr, ptr null, i32 1 %t14022 = ptrtoint ptr %t14021 to i64 %t14023 = zext i32 %t14020 to i64 %t14024 = mul i64 %t14023, %t14022 %t14025 = load ptr, ptr %t14014 %t14026 = call ptr @realloc(ptr %t14025, i64 %t14024) store ptr %t14026, ptr %t14014 store i32 %t14020, ptr %t14013 br label %put2842 put2842: %t14027 = load ptr, ptr %t14014 %t14028 = getelementptr inbounds ptr, ptr %t14027, i32 %t14015 store ptr @.str8848, ptr %t14028 %t14029 = add i32 %t14015, 1 store i32 %t14029, ptr %t14012 %t14030 = load ptr, ptr %t410 %t14031 = getelementptr inbounds %LSlice, ptr %t14030, i32 0, i32 1 %t14032 = getelementptr inbounds %LSlice, ptr %t14030, i32 0, i32 2 %t14033 = getelementptr inbounds %LSlice, ptr %t14030, i32 0, i32 0 %t14034 = load i32, ptr %t14031 %t14035 = load i32, ptr %t14032 %t14036 = icmp sge i32 %t14034, %t14035 br i1 %t14036, label %grow2843, label %put2844 grow2843: %t14037 = mul i32 %t14035, 2 %t14038 = icmp eq i32 %t14035, 0 %t14039 = select i1 %t14038, i32 8, i32 %t14037 %t14040 = getelementptr ptr, ptr null, i32 1 %t14041 = ptrtoint ptr %t14040 to i64 %t14042 = zext i32 %t14039 to i64 %t14043 = mul i64 %t14042, %t14041 %t14044 = load ptr, ptr %t14033 %t14045 = call ptr @realloc(ptr %t14044, i64 %t14043) store ptr %t14045, ptr %t14033 store i32 %t14039, ptr %t14032 br label %put2844 put2844: %t14046 = load ptr, ptr %t14033 %t14047 = getelementptr inbounds ptr, ptr %t14046, i32 %t14034 store ptr @.str8849, ptr %t14047 %t14048 = add i32 %t14034, 1 store i32 %t14048, ptr %t14031 %t14049 = load ptr, ptr %t410 %t14050 = getelementptr inbounds %LSlice, ptr %t14049, i32 0, i32 1 %t14051 = getelementptr inbounds %LSlice, ptr %t14049, i32 0, i32 2 %t14052 = getelementptr inbounds %LSlice, ptr %t14049, i32 0, i32 0 %t14053 = load i32, ptr %t14050 %t14054 = load i32, ptr %t14051 %t14055 = icmp sge i32 %t14053, %t14054 br i1 %t14055, label %grow2845, label %put2846 grow2845: %t14056 = mul i32 %t14054, 2 %t14057 = icmp eq i32 %t14054, 0 %t14058 = select i1 %t14057, i32 8, i32 %t14056 %t14059 = getelementptr ptr, ptr null, i32 1 %t14060 = ptrtoint ptr %t14059 to i64 %t14061 = zext i32 %t14058 to i64 %t14062 = mul i64 %t14061, %t14060 %t14063 = load ptr, ptr %t14052 %t14064 = call ptr @realloc(ptr %t14063, i64 %t14062) store ptr %t14064, ptr %t14052 store i32 %t14058, ptr %t14051 br label %put2846 put2846: %t14065 = load ptr, ptr %t14052 %t14066 = getelementptr inbounds ptr, ptr %t14065, i32 %t14053 store ptr @.str8850, ptr %t14066 %t14067 = add i32 %t14053, 1 store i32 %t14067, ptr %t14050 br label %ifend2838 ifend2838: %t14068 = load ptr, ptr %t1 %t14069 = call i32 @lp_str_eq(ptr %t14068, ptr @.str8851) %t14070 = icmp ne i32 %t14069, 0 br i1 %t14070, label %then2847, label %ifend2849 then2847: store ptr @.str8852, ptr %t403 %t14071 = load ptr, ptr %t410 %t14072 = getelementptr inbounds %LSlice, ptr %t14071, i32 0, i32 1 %t14073 = getelementptr inbounds %LSlice, ptr %t14071, i32 0, i32 2 %t14074 = getelementptr inbounds %LSlice, ptr %t14071, i32 0, i32 0 %t14075 = load i32, ptr %t14072 %t14076 = load i32, ptr %t14073 %t14077 = icmp sge i32 %t14075, %t14076 br i1 %t14077, label %grow2850, label %put2851 grow2850: %t14078 = mul i32 %t14076, 2 %t14079 = icmp eq i32 %t14076, 0 %t14080 = select i1 %t14079, i32 8, i32 %t14078 %t14081 = getelementptr ptr, ptr null, i32 1 %t14082 = ptrtoint ptr %t14081 to i64 %t14083 = zext i32 %t14080 to i64 %t14084 = mul i64 %t14083, %t14082 %t14085 = load ptr, ptr %t14074 %t14086 = call ptr @realloc(ptr %t14085, i64 %t14084) store ptr %t14086, ptr %t14074 store i32 %t14080, ptr %t14073 br label %put2851 put2851: %t14087 = load ptr, ptr %t14074 %t14088 = getelementptr inbounds ptr, ptr %t14087, i32 %t14075 store ptr @.str8853, ptr %t14088 %t14089 = add i32 %t14075, 1 store i32 %t14089, ptr %t14072 %t14090 = load ptr, ptr %t410 %t14091 = getelementptr inbounds %LSlice, ptr %t14090, i32 0, i32 1 %t14092 = getelementptr inbounds %LSlice, ptr %t14090, i32 0, i32 2 %t14093 = getelementptr inbounds %LSlice, ptr %t14090, i32 0, i32 0 %t14094 = load i32, ptr %t14091 %t14095 = load i32, ptr %t14092 %t14096 = icmp sge i32 %t14094, %t14095 br i1 %t14096, label %grow2852, label %put2853 grow2852: %t14097 = mul i32 %t14095, 2 %t14098 = icmp eq i32 %t14095, 0 %t14099 = select i1 %t14098, i32 8, i32 %t14097 %t14100 = getelementptr ptr, ptr null, i32 1 %t14101 = ptrtoint ptr %t14100 to i64 %t14102 = zext i32 %t14099 to i64 %t14103 = mul i64 %t14102, %t14101 %t14104 = load ptr, ptr %t14093 %t14105 = call ptr @realloc(ptr %t14104, i64 %t14103) store ptr %t14105, ptr %t14093 store i32 %t14099, ptr %t14092 br label %put2853 put2853: %t14106 = load ptr, ptr %t14093 %t14107 = getelementptr inbounds ptr, ptr %t14106, i32 %t14094 store ptr @.str8854, ptr %t14107 %t14108 = add i32 %t14094, 1 store i32 %t14108, ptr %t14091 br label %ifend2849 ifend2849: %t14109 = load ptr, ptr %t1 %t14110 = call i32 @lp_str_eq(ptr %t14109, ptr @.str8855) %t14111 = icmp ne i32 %t14110, 0 br i1 %t14111, label %then2854, label %ifend2856 then2854: store ptr @.str8856, ptr %t403 %t14112 = load ptr, ptr %t410 %t14113 = getelementptr inbounds %LSlice, ptr %t14112, i32 0, i32 1 %t14114 = getelementptr inbounds %LSlice, ptr %t14112, i32 0, i32 2 %t14115 = getelementptr inbounds %LSlice, ptr %t14112, i32 0, i32 0 %t14116 = load i32, ptr %t14113 %t14117 = load i32, ptr %t14114 %t14118 = icmp sge i32 %t14116, %t14117 br i1 %t14118, label %grow2857, label %put2858 grow2857: %t14119 = mul i32 %t14117, 2 %t14120 = icmp eq i32 %t14117, 0 %t14121 = select i1 %t14120, i32 8, i32 %t14119 %t14122 = getelementptr ptr, ptr null, i32 1 %t14123 = ptrtoint ptr %t14122 to i64 %t14124 = zext i32 %t14121 to i64 %t14125 = mul i64 %t14124, %t14123 %t14126 = load ptr, ptr %t14115 %t14127 = call ptr @realloc(ptr %t14126, i64 %t14125) store ptr %t14127, ptr %t14115 store i32 %t14121, ptr %t14114 br label %put2858 put2858: %t14128 = load ptr, ptr %t14115 %t14129 = getelementptr inbounds ptr, ptr %t14128, i32 %t14116 store ptr @.str8857, ptr %t14129 %t14130 = add i32 %t14116, 1 store i32 %t14130, ptr %t14113 br label %ifend2856 ifend2856: %t14131 = load ptr, ptr %t1 %t14132 = call i32 @lp_str_eq(ptr %t14131, ptr @.str8858) %t14133 = icmp ne i32 %t14132, 0 br i1 %t14133, label %then2859, label %ifend2861 then2859: store ptr @.str8859, ptr %t403 %t14134 = load ptr, ptr %t410 %t14135 = getelementptr inbounds %LSlice, ptr %t14134, i32 0, i32 1 %t14136 = getelementptr inbounds %LSlice, ptr %t14134, i32 0, i32 2 %t14137 = getelementptr inbounds %LSlice, ptr %t14134, i32 0, i32 0 %t14138 = load i32, ptr %t14135 %t14139 = load i32, ptr %t14136 %t14140 = icmp sge i32 %t14138, %t14139 br i1 %t14140, label %grow2862, label %put2863 grow2862: %t14141 = mul i32 %t14139, 2 %t14142 = icmp eq i32 %t14139, 0 %t14143 = select i1 %t14142, i32 8, i32 %t14141 %t14144 = getelementptr ptr, ptr null, i32 1 %t14145 = ptrtoint ptr %t14144 to i64 %t14146 = zext i32 %t14143 to i64 %t14147 = mul i64 %t14146, %t14145 %t14148 = load ptr, ptr %t14137 %t14149 = call ptr @realloc(ptr %t14148, i64 %t14147) store ptr %t14149, ptr %t14137 store i32 %t14143, ptr %t14136 br label %put2863 put2863: %t14150 = load ptr, ptr %t14137 %t14151 = getelementptr inbounds ptr, ptr %t14150, i32 %t14138 store ptr @.str8860, ptr %t14151 %t14152 = add i32 %t14138, 1 store i32 %t14152, ptr %t14135 br label %ifend2861 ifend2861: %t14153 = load ptr, ptr %t1 %t14154 = call i32 @lp_str_eq(ptr %t14153, ptr @.str8861) %t14155 = icmp ne i32 %t14154, 0 br i1 %t14155, label %then2864, label %ifend2866 then2864: store ptr @.str8862, ptr %t403 %t14156 = load ptr, ptr %t410 %t14157 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 1 %t14158 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 2 %t14159 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 0 %t14160 = load i32, ptr %t14157 %t14161 = load i32, ptr %t14158 %t14162 = icmp sge i32 %t14160, %t14161 br i1 %t14162, label %grow2867, label %put2868 grow2867: %t14163 = mul i32 %t14161, 2 %t14164 = icmp eq i32 %t14161, 0 %t14165 = select i1 %t14164, i32 8, i32 %t14163 %t14166 = getelementptr ptr, ptr null, i32 1 %t14167 = ptrtoint ptr %t14166 to i64 %t14168 = zext i32 %t14165 to i64 %t14169 = mul i64 %t14168, %t14167 %t14170 = load ptr, ptr %t14159 %t14171 = call ptr @realloc(ptr %t14170, i64 %t14169) store ptr %t14171, ptr %t14159 store i32 %t14165, ptr %t14158 br label %put2868 put2868: %t14172 = load ptr, ptr %t14159 %t14173 = getelementptr inbounds ptr, ptr %t14172, i32 %t14160 store ptr @.str8863, ptr %t14173 %t14174 = add i32 %t14160, 1 store i32 %t14174, ptr %t14157 br label %ifend2866 ifend2866: %t14175 = load ptr, ptr %t1 %t14176 = call i32 @lp_str_eq(ptr %t14175, ptr @.str8864) %t14177 = icmp ne i32 %t14176, 0 br i1 %t14177, label %then2869, label %ifend2871 then2869: store ptr @.str8865, ptr %t403 %t14178 = load ptr, ptr %t410 %t14179 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 1 %t14180 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 2 %t14181 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 0 %t14182 = load i32, ptr %t14179 %t14183 = load i32, ptr %t14180 %t14184 = icmp sge i32 %t14182, %t14183 br i1 %t14184, label %grow2872, label %put2873 grow2872: %t14185 = mul i32 %t14183, 2 %t14186 = icmp eq i32 %t14183, 0 %t14187 = select i1 %t14186, i32 8, i32 %t14185 %t14188 = getelementptr ptr, ptr null, i32 1 %t14189 = ptrtoint ptr %t14188 to i64 %t14190 = zext i32 %t14187 to i64 %t14191 = mul i64 %t14190, %t14189 %t14192 = load ptr, ptr %t14181 %t14193 = call ptr @realloc(ptr %t14192, i64 %t14191) store ptr %t14193, ptr %t14181 store i32 %t14187, ptr %t14180 br label %put2873 put2873: %t14194 = load ptr, ptr %t14181 %t14195 = getelementptr inbounds ptr, ptr %t14194, i32 %t14182 store ptr @.str8866, ptr %t14195 %t14196 = add i32 %t14182, 1 store i32 %t14196, ptr %t14179 %t14197 = load ptr, ptr %t410 %t14198 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 1 %t14199 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 2 %t14200 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 0 %t14201 = load i32, ptr %t14198 %t14202 = load i32, ptr %t14199 %t14203 = icmp sge i32 %t14201, %t14202 br i1 %t14203, label %grow2874, label %put2875 grow2874: %t14204 = mul i32 %t14202, 2 %t14205 = icmp eq i32 %t14202, 0 %t14206 = select i1 %t14205, i32 8, i32 %t14204 %t14207 = getelementptr ptr, ptr null, i32 1 %t14208 = ptrtoint ptr %t14207 to i64 %t14209 = zext i32 %t14206 to i64 %t14210 = mul i64 %t14209, %t14208 %t14211 = load ptr, ptr %t14200 %t14212 = call ptr @realloc(ptr %t14211, i64 %t14210) store ptr %t14212, ptr %t14200 store i32 %t14206, ptr %t14199 br label %put2875 put2875: %t14213 = load ptr, ptr %t14200 %t14214 = getelementptr inbounds ptr, ptr %t14213, i32 %t14201 store ptr @.str8867, ptr %t14214 %t14215 = add i32 %t14201, 1 store i32 %t14215, ptr %t14198 br label %ifend2871 ifend2871: %t14216 = load ptr, ptr %t1 %t14217 = call i32 @lp_str_eq(ptr %t14216, ptr @.str8868) %t14218 = icmp ne i32 %t14217, 0 br i1 %t14218, label %then2876, label %ifend2878 then2876: store ptr @.str8869, ptr %t403 %t14219 = load ptr, ptr %t410 %t14220 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 1 %t14221 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 2 %t14222 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 0 %t14223 = load i32, ptr %t14220 %t14224 = load i32, ptr %t14221 %t14225 = icmp sge i32 %t14223, %t14224 br i1 %t14225, label %grow2879, label %put2880 grow2879: %t14226 = mul i32 %t14224, 2 %t14227 = icmp eq i32 %t14224, 0 %t14228 = select i1 %t14227, i32 8, i32 %t14226 %t14229 = getelementptr ptr, ptr null, i32 1 %t14230 = ptrtoint ptr %t14229 to i64 %t14231 = zext i32 %t14228 to i64 %t14232 = mul i64 %t14231, %t14230 %t14233 = load ptr, ptr %t14222 %t14234 = call ptr @realloc(ptr %t14233, i64 %t14232) store ptr %t14234, ptr %t14222 store i32 %t14228, ptr %t14221 br label %put2880 put2880: %t14235 = load ptr, ptr %t14222 %t14236 = getelementptr inbounds ptr, ptr %t14235, i32 %t14223 store ptr @.str8870, ptr %t14236 %t14237 = add i32 %t14223, 1 store i32 %t14237, ptr %t14220 %t14238 = load ptr, ptr %t410 %t14239 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 1 %t14240 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 2 %t14241 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 0 %t14242 = load i32, ptr %t14239 %t14243 = load i32, ptr %t14240 %t14244 = icmp sge i32 %t14242, %t14243 br i1 %t14244, label %grow2881, label %put2882 grow2881: %t14245 = mul i32 %t14243, 2 %t14246 = icmp eq i32 %t14243, 0 %t14247 = select i1 %t14246, i32 8, i32 %t14245 %t14248 = getelementptr ptr, ptr null, i32 1 %t14249 = ptrtoint ptr %t14248 to i64 %t14250 = zext i32 %t14247 to i64 %t14251 = mul i64 %t14250, %t14249 %t14252 = load ptr, ptr %t14241 %t14253 = call ptr @realloc(ptr %t14252, i64 %t14251) store ptr %t14253, ptr %t14241 store i32 %t14247, ptr %t14240 br label %put2882 put2882: %t14254 = load ptr, ptr %t14241 %t14255 = getelementptr inbounds ptr, ptr %t14254, i32 %t14242 store ptr @.str8871, ptr %t14255 %t14256 = add i32 %t14242, 1 store i32 %t14256, ptr %t14239 %t14257 = load ptr, ptr %t410 %t14258 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 1 %t14259 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 2 %t14260 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 0 %t14261 = load i32, ptr %t14258 %t14262 = load i32, ptr %t14259 %t14263 = icmp sge i32 %t14261, %t14262 br i1 %t14263, label %grow2883, label %put2884 grow2883: %t14264 = mul i32 %t14262, 2 %t14265 = icmp eq i32 %t14262, 0 %t14266 = select i1 %t14265, i32 8, i32 %t14264 %t14267 = getelementptr ptr, ptr null, i32 1 %t14268 = ptrtoint ptr %t14267 to i64 %t14269 = zext i32 %t14266 to i64 %t14270 = mul i64 %t14269, %t14268 %t14271 = load ptr, ptr %t14260 %t14272 = call ptr @realloc(ptr %t14271, i64 %t14270) store ptr %t14272, ptr %t14260 store i32 %t14266, ptr %t14259 br label %put2884 put2884: %t14273 = load ptr, ptr %t14260 %t14274 = getelementptr inbounds ptr, ptr %t14273, i32 %t14261 store ptr @.str8872, ptr %t14274 %t14275 = add i32 %t14261, 1 store i32 %t14275, ptr %t14258 br label %ifend2878 ifend2878: %t14276 = load ptr, ptr %t1 %t14277 = call i32 @lp_str_eq(ptr %t14276, ptr @.str8873) %t14278 = icmp ne i32 %t14277, 0 br i1 %t14278, label %then2885, label %ifend2887 then2885: store ptr @.str8874, ptr %t403 %t14279 = load ptr, ptr %t410 %t14280 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 1 %t14281 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 2 %t14282 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 0 %t14283 = load i32, ptr %t14280 %t14284 = load i32, ptr %t14281 %t14285 = icmp sge i32 %t14283, %t14284 br i1 %t14285, label %grow2888, label %put2889 grow2888: %t14286 = mul i32 %t14284, 2 %t14287 = icmp eq i32 %t14284, 0 %t14288 = select i1 %t14287, i32 8, i32 %t14286 %t14289 = getelementptr ptr, ptr null, i32 1 %t14290 = ptrtoint ptr %t14289 to i64 %t14291 = zext i32 %t14288 to i64 %t14292 = mul i64 %t14291, %t14290 %t14293 = load ptr, ptr %t14282 %t14294 = call ptr @realloc(ptr %t14293, i64 %t14292) store ptr %t14294, ptr %t14282 store i32 %t14288, ptr %t14281 br label %put2889 put2889: %t14295 = load ptr, ptr %t14282 %t14296 = getelementptr inbounds ptr, ptr %t14295, i32 %t14283 store ptr @.str8875, ptr %t14296 %t14297 = add i32 %t14283, 1 store i32 %t14297, ptr %t14280 %t14298 = load ptr, ptr %t410 %t14299 = getelementptr inbounds %LSlice, ptr %t14298, i32 0, i32 1 %t14300 = getelementptr inbounds %LSlice, ptr %t14298, i32 0, i32 2 %t14301 = getelementptr inbounds %LSlice, ptr %t14298, i32 0, i32 0 %t14302 = load i32, ptr %t14299 %t14303 = load i32, ptr %t14300 %t14304 = icmp sge i32 %t14302, %t14303 br i1 %t14304, label %grow2890, label %put2891 grow2890: %t14305 = mul i32 %t14303, 2 %t14306 = icmp eq i32 %t14303, 0 %t14307 = select i1 %t14306, i32 8, i32 %t14305 %t14308 = getelementptr ptr, ptr null, i32 1 %t14309 = ptrtoint ptr %t14308 to i64 %t14310 = zext i32 %t14307 to i64 %t14311 = mul i64 %t14310, %t14309 %t14312 = load ptr, ptr %t14301 %t14313 = call ptr @realloc(ptr %t14312, i64 %t14311) store ptr %t14313, ptr %t14301 store i32 %t14307, ptr %t14300 br label %put2891 put2891: %t14314 = load ptr, ptr %t14301 %t14315 = getelementptr inbounds ptr, ptr %t14314, i32 %t14302 store ptr @.str8876, ptr %t14315 %t14316 = add i32 %t14302, 1 store i32 %t14316, ptr %t14299 %t14317 = load ptr, ptr %t410 %t14318 = getelementptr inbounds %LSlice, ptr %t14317, i32 0, i32 1 %t14319 = getelementptr inbounds %LSlice, ptr %t14317, i32 0, i32 2 %t14320 = getelementptr inbounds %LSlice, ptr %t14317, i32 0, i32 0 %t14321 = load i32, ptr %t14318 %t14322 = load i32, ptr %t14319 %t14323 = icmp sge i32 %t14321, %t14322 br i1 %t14323, label %grow2892, label %put2893 grow2892: %t14324 = mul i32 %t14322, 2 %t14325 = icmp eq i32 %t14322, 0 %t14326 = select i1 %t14325, i32 8, i32 %t14324 %t14327 = getelementptr ptr, ptr null, i32 1 %t14328 = ptrtoint ptr %t14327 to i64 %t14329 = zext i32 %t14326 to i64 %t14330 = mul i64 %t14329, %t14328 %t14331 = load ptr, ptr %t14320 %t14332 = call ptr @realloc(ptr %t14331, i64 %t14330) store ptr %t14332, ptr %t14320 store i32 %t14326, ptr %t14319 br label %put2893 put2893: %t14333 = load ptr, ptr %t14320 %t14334 = getelementptr inbounds ptr, ptr %t14333, i32 %t14321 store ptr @.str8877, ptr %t14334 %t14335 = add i32 %t14321, 1 store i32 %t14335, ptr %t14318 %t14336 = load ptr, ptr %t410 %t14337 = getelementptr inbounds %LSlice, ptr %t14336, i32 0, i32 1 %t14338 = getelementptr inbounds %LSlice, ptr %t14336, i32 0, i32 2 %t14339 = getelementptr inbounds %LSlice, ptr %t14336, i32 0, i32 0 %t14340 = load i32, ptr %t14337 %t14341 = load i32, ptr %t14338 %t14342 = icmp sge i32 %t14340, %t14341 br i1 %t14342, label %grow2894, label %put2895 grow2894: %t14343 = mul i32 %t14341, 2 %t14344 = icmp eq i32 %t14341, 0 %t14345 = select i1 %t14344, i32 8, i32 %t14343 %t14346 = getelementptr ptr, ptr null, i32 1 %t14347 = ptrtoint ptr %t14346 to i64 %t14348 = zext i32 %t14345 to i64 %t14349 = mul i64 %t14348, %t14347 %t14350 = load ptr, ptr %t14339 %t14351 = call ptr @realloc(ptr %t14350, i64 %t14349) store ptr %t14351, ptr %t14339 store i32 %t14345, ptr %t14338 br label %put2895 put2895: %t14352 = load ptr, ptr %t14339 %t14353 = getelementptr inbounds ptr, ptr %t14352, i32 %t14340 store ptr @.str8878, ptr %t14353 %t14354 = add i32 %t14340, 1 store i32 %t14354, ptr %t14337 br label %ifend2887 ifend2887: %t14355 = load ptr, ptr %t1 %t14356 = call i32 @lp_str_eq(ptr %t14355, ptr @.str8879) %t14357 = icmp ne i32 %t14356, 0 br i1 %t14357, label %then2896, label %ifend2898 then2896: store ptr @.str8880, ptr %t403 %t14358 = load ptr, ptr %t410 %t14359 = getelementptr inbounds %LSlice, ptr %t14358, i32 0, i32 1 %t14360 = getelementptr inbounds %LSlice, ptr %t14358, i32 0, i32 2 %t14361 = getelementptr inbounds %LSlice, ptr %t14358, i32 0, i32 0 %t14362 = load i32, ptr %t14359 %t14363 = load i32, ptr %t14360 %t14364 = icmp sge i32 %t14362, %t14363 br i1 %t14364, label %grow2899, label %put2900 grow2899: %t14365 = mul i32 %t14363, 2 %t14366 = icmp eq i32 %t14363, 0 %t14367 = select i1 %t14366, i32 8, i32 %t14365 %t14368 = getelementptr ptr, ptr null, i32 1 %t14369 = ptrtoint ptr %t14368 to i64 %t14370 = zext i32 %t14367 to i64 %t14371 = mul i64 %t14370, %t14369 %t14372 = load ptr, ptr %t14361 %t14373 = call ptr @realloc(ptr %t14372, i64 %t14371) store ptr %t14373, ptr %t14361 store i32 %t14367, ptr %t14360 br label %put2900 put2900: %t14374 = load ptr, ptr %t14361 %t14375 = getelementptr inbounds ptr, ptr %t14374, i32 %t14362 store ptr @.str8881, ptr %t14375 %t14376 = add i32 %t14362, 1 store i32 %t14376, ptr %t14359 %t14377 = load ptr, ptr %t410 %t14378 = getelementptr inbounds %LSlice, ptr %t14377, i32 0, i32 1 %t14379 = getelementptr inbounds %LSlice, ptr %t14377, i32 0, i32 2 %t14380 = getelementptr inbounds %LSlice, ptr %t14377, i32 0, i32 0 %t14381 = load i32, ptr %t14378 %t14382 = load i32, ptr %t14379 %t14383 = icmp sge i32 %t14381, %t14382 br i1 %t14383, label %grow2901, label %put2902 grow2901: %t14384 = mul i32 %t14382, 2 %t14385 = icmp eq i32 %t14382, 0 %t14386 = select i1 %t14385, i32 8, i32 %t14384 %t14387 = getelementptr ptr, ptr null, i32 1 %t14388 = ptrtoint ptr %t14387 to i64 %t14389 = zext i32 %t14386 to i64 %t14390 = mul i64 %t14389, %t14388 %t14391 = load ptr, ptr %t14380 %t14392 = call ptr @realloc(ptr %t14391, i64 %t14390) store ptr %t14392, ptr %t14380 store i32 %t14386, ptr %t14379 br label %put2902 put2902: %t14393 = load ptr, ptr %t14380 %t14394 = getelementptr inbounds ptr, ptr %t14393, i32 %t14381 store ptr @.str8882, ptr %t14394 %t14395 = add i32 %t14381, 1 store i32 %t14395, ptr %t14378 %t14396 = load ptr, ptr %t410 %t14397 = getelementptr inbounds %LSlice, ptr %t14396, i32 0, i32 1 %t14398 = getelementptr inbounds %LSlice, ptr %t14396, i32 0, i32 2 %t14399 = getelementptr inbounds %LSlice, ptr %t14396, i32 0, i32 0 %t14400 = load i32, ptr %t14397 %t14401 = load i32, ptr %t14398 %t14402 = icmp sge i32 %t14400, %t14401 br i1 %t14402, label %grow2903, label %put2904 grow2903: %t14403 = mul i32 %t14401, 2 %t14404 = icmp eq i32 %t14401, 0 %t14405 = select i1 %t14404, i32 8, i32 %t14403 %t14406 = getelementptr ptr, ptr null, i32 1 %t14407 = ptrtoint ptr %t14406 to i64 %t14408 = zext i32 %t14405 to i64 %t14409 = mul i64 %t14408, %t14407 %t14410 = load ptr, ptr %t14399 %t14411 = call ptr @realloc(ptr %t14410, i64 %t14409) store ptr %t14411, ptr %t14399 store i32 %t14405, ptr %t14398 br label %put2904 put2904: %t14412 = load ptr, ptr %t14399 %t14413 = getelementptr inbounds ptr, ptr %t14412, i32 %t14400 store ptr @.str8883, ptr %t14413 %t14414 = add i32 %t14400, 1 store i32 %t14414, ptr %t14397 br label %ifend2898 ifend2898: %t14415 = load ptr, ptr %t1 %t14416 = call i32 @lp_str_eq(ptr %t14415, ptr @.str8884) %t14417 = icmp ne i32 %t14416, 0 br i1 %t14417, label %then2905, label %ifend2907 then2905: store ptr @.str8885, ptr %t403 %t14418 = load ptr, ptr %t410 %t14419 = getelementptr inbounds %LSlice, ptr %t14418, i32 0, i32 1 %t14420 = getelementptr inbounds %LSlice, ptr %t14418, i32 0, i32 2 %t14421 = getelementptr inbounds %LSlice, ptr %t14418, i32 0, i32 0 %t14422 = load i32, ptr %t14419 %t14423 = load i32, ptr %t14420 %t14424 = icmp sge i32 %t14422, %t14423 br i1 %t14424, label %grow2908, label %put2909 grow2908: %t14425 = mul i32 %t14423, 2 %t14426 = icmp eq i32 %t14423, 0 %t14427 = select i1 %t14426, i32 8, i32 %t14425 %t14428 = getelementptr ptr, ptr null, i32 1 %t14429 = ptrtoint ptr %t14428 to i64 %t14430 = zext i32 %t14427 to i64 %t14431 = mul i64 %t14430, %t14429 %t14432 = load ptr, ptr %t14421 %t14433 = call ptr @realloc(ptr %t14432, i64 %t14431) store ptr %t14433, ptr %t14421 store i32 %t14427, ptr %t14420 br label %put2909 put2909: %t14434 = load ptr, ptr %t14421 %t14435 = getelementptr inbounds ptr, ptr %t14434, i32 %t14422 store ptr @.str8886, ptr %t14435 %t14436 = add i32 %t14422, 1 store i32 %t14436, ptr %t14419 %t14437 = load ptr, ptr %t410 %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 %grow2910, label %put2911 grow2910: %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 %put2911 put2911: %t14453 = load ptr, ptr %t14440 %t14454 = getelementptr inbounds ptr, ptr %t14453, i32 %t14441 store ptr @.str8887, ptr %t14454 %t14455 = add i32 %t14441, 1 store i32 %t14455, ptr %t14438 br label %ifend2907 ifend2907: %t14456 = load ptr, ptr %t1 %t14457 = call i32 @lp_str_eq(ptr %t14456, ptr @.str8888) %t14458 = icmp ne i32 %t14457, 0 br i1 %t14458, label %then2912, label %ifend2914 then2912: store ptr @.str8889, ptr %t403 %t14459 = load ptr, ptr %t410 %t14460 = getelementptr inbounds %LSlice, ptr %t14459, i32 0, i32 1 %t14461 = getelementptr inbounds %LSlice, ptr %t14459, i32 0, i32 2 %t14462 = getelementptr inbounds %LSlice, ptr %t14459, i32 0, i32 0 %t14463 = load i32, ptr %t14460 %t14464 = load i32, ptr %t14461 %t14465 = icmp sge i32 %t14463, %t14464 br i1 %t14465, label %grow2915, label %put2916 grow2915: %t14466 = mul i32 %t14464, 2 %t14467 = icmp eq i32 %t14464, 0 %t14468 = select i1 %t14467, i32 8, i32 %t14466 %t14469 = getelementptr ptr, ptr null, i32 1 %t14470 = ptrtoint ptr %t14469 to i64 %t14471 = zext i32 %t14468 to i64 %t14472 = mul i64 %t14471, %t14470 %t14473 = load ptr, ptr %t14462 %t14474 = call ptr @realloc(ptr %t14473, i64 %t14472) store ptr %t14474, ptr %t14462 store i32 %t14468, ptr %t14461 br label %put2916 put2916: %t14475 = load ptr, ptr %t14462 %t14476 = getelementptr inbounds ptr, ptr %t14475, i32 %t14463 store ptr @.str8890, ptr %t14476 %t14477 = add i32 %t14463, 1 store i32 %t14477, ptr %t14460 %t14478 = load ptr, ptr %t410 %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 %grow2917, label %put2918 grow2917: %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 %put2918 put2918: %t14494 = load ptr, ptr %t14481 %t14495 = getelementptr inbounds ptr, ptr %t14494, i32 %t14482 store ptr @.str8891, ptr %t14495 %t14496 = add i32 %t14482, 1 store i32 %t14496, ptr %t14479 br label %ifend2914 ifend2914: %t14497 = load ptr, ptr %t1 %t14498 = call i32 @lp_str_eq(ptr %t14497, ptr @.str8892) %t14499 = icmp ne i32 %t14498, 0 br i1 %t14499, label %then2919, label %ifend2921 then2919: store ptr @.str8893, ptr %t403 %t14500 = load ptr, ptr %t410 %t14501 = getelementptr inbounds %LSlice, ptr %t14500, i32 0, i32 1 %t14502 = getelementptr inbounds %LSlice, ptr %t14500, i32 0, i32 2 %t14503 = getelementptr inbounds %LSlice, ptr %t14500, i32 0, i32 0 %t14504 = load i32, ptr %t14501 %t14505 = load i32, ptr %t14502 %t14506 = icmp sge i32 %t14504, %t14505 br i1 %t14506, label %grow2922, label %put2923 grow2922: %t14507 = mul i32 %t14505, 2 %t14508 = icmp eq i32 %t14505, 0 %t14509 = select i1 %t14508, i32 8, i32 %t14507 %t14510 = getelementptr ptr, ptr null, i32 1 %t14511 = ptrtoint ptr %t14510 to i64 %t14512 = zext i32 %t14509 to i64 %t14513 = mul i64 %t14512, %t14511 %t14514 = load ptr, ptr %t14503 %t14515 = call ptr @realloc(ptr %t14514, i64 %t14513) store ptr %t14515, ptr %t14503 store i32 %t14509, ptr %t14502 br label %put2923 put2923: %t14516 = load ptr, ptr %t14503 %t14517 = getelementptr inbounds ptr, ptr %t14516, i32 %t14504 store ptr @.str8894, ptr %t14517 %t14518 = add i32 %t14504, 1 store i32 %t14518, ptr %t14501 %t14519 = load ptr, ptr %t410 %t14520 = getelementptr inbounds %LSlice, ptr %t14519, i32 0, i32 1 %t14521 = getelementptr inbounds %LSlice, ptr %t14519, i32 0, i32 2 %t14522 = getelementptr inbounds %LSlice, ptr %t14519, i32 0, i32 0 %t14523 = load i32, ptr %t14520 %t14524 = load i32, ptr %t14521 %t14525 = icmp sge i32 %t14523, %t14524 br i1 %t14525, label %grow2924, label %put2925 grow2924: %t14526 = mul i32 %t14524, 2 %t14527 = icmp eq i32 %t14524, 0 %t14528 = select i1 %t14527, i32 8, i32 %t14526 %t14529 = getelementptr ptr, ptr null, i32 1 %t14530 = ptrtoint ptr %t14529 to i64 %t14531 = zext i32 %t14528 to i64 %t14532 = mul i64 %t14531, %t14530 %t14533 = load ptr, ptr %t14522 %t14534 = call ptr @realloc(ptr %t14533, i64 %t14532) store ptr %t14534, ptr %t14522 store i32 %t14528, ptr %t14521 br label %put2925 put2925: %t14535 = load ptr, ptr %t14522 %t14536 = getelementptr inbounds ptr, ptr %t14535, i32 %t14523 store ptr @.str8895, ptr %t14536 %t14537 = add i32 %t14523, 1 store i32 %t14537, ptr %t14520 br label %ifend2921 ifend2921: %t14538 = load ptr, ptr %t1 %t14539 = call i32 @lp_str_eq(ptr %t14538, ptr @.str8896) %t14540 = icmp ne i32 %t14539, 0 br i1 %t14540, label %then2926, label %ifend2928 then2926: store ptr @.str8897, ptr %t403 %t14541 = load ptr, ptr %t410 %t14542 = getelementptr inbounds %LSlice, ptr %t14541, i32 0, i32 1 %t14543 = getelementptr inbounds %LSlice, ptr %t14541, i32 0, i32 2 %t14544 = getelementptr inbounds %LSlice, ptr %t14541, i32 0, i32 0 %t14545 = load i32, ptr %t14542 %t14546 = load i32, ptr %t14543 %t14547 = icmp sge i32 %t14545, %t14546 br i1 %t14547, label %grow2929, label %put2930 grow2929: %t14548 = mul i32 %t14546, 2 %t14549 = icmp eq i32 %t14546, 0 %t14550 = select i1 %t14549, i32 8, i32 %t14548 %t14551 = getelementptr ptr, ptr null, i32 1 %t14552 = ptrtoint ptr %t14551 to i64 %t14553 = zext i32 %t14550 to i64 %t14554 = mul i64 %t14553, %t14552 %t14555 = load ptr, ptr %t14544 %t14556 = call ptr @realloc(ptr %t14555, i64 %t14554) store ptr %t14556, ptr %t14544 store i32 %t14550, ptr %t14543 br label %put2930 put2930: %t14557 = load ptr, ptr %t14544 %t14558 = getelementptr inbounds ptr, ptr %t14557, i32 %t14545 store ptr @.str8898, ptr %t14558 %t14559 = add i32 %t14545, 1 store i32 %t14559, ptr %t14542 %t14560 = load ptr, ptr %t410 %t14561 = getelementptr inbounds %LSlice, ptr %t14560, i32 0, i32 1 %t14562 = getelementptr inbounds %LSlice, ptr %t14560, i32 0, i32 2 %t14563 = getelementptr inbounds %LSlice, ptr %t14560, i32 0, i32 0 %t14564 = load i32, ptr %t14561 %t14565 = load i32, ptr %t14562 %t14566 = icmp sge i32 %t14564, %t14565 br i1 %t14566, label %grow2931, label %put2932 grow2931: %t14567 = mul i32 %t14565, 2 %t14568 = icmp eq i32 %t14565, 0 %t14569 = select i1 %t14568, i32 8, i32 %t14567 %t14570 = getelementptr ptr, ptr null, i32 1 %t14571 = ptrtoint ptr %t14570 to i64 %t14572 = zext i32 %t14569 to i64 %t14573 = mul i64 %t14572, %t14571 %t14574 = load ptr, ptr %t14563 %t14575 = call ptr @realloc(ptr %t14574, i64 %t14573) store ptr %t14575, ptr %t14563 store i32 %t14569, ptr %t14562 br label %put2932 put2932: %t14576 = load ptr, ptr %t14563 %t14577 = getelementptr inbounds ptr, ptr %t14576, i32 %t14564 store ptr @.str8899, ptr %t14577 %t14578 = add i32 %t14564, 1 store i32 %t14578, ptr %t14561 br label %ifend2928 ifend2928: %t14579 = load ptr, ptr %t1 %t14580 = call i32 @lp_str_eq(ptr %t14579, ptr @.str8900) %t14581 = icmp ne i32 %t14580, 0 br i1 %t14581, label %then2933, label %ifend2935 then2933: store ptr @.str8901, ptr %t403 %t14582 = load ptr, ptr %t410 %t14583 = getelementptr inbounds %LSlice, ptr %t14582, i32 0, i32 1 %t14584 = getelementptr inbounds %LSlice, ptr %t14582, i32 0, i32 2 %t14585 = getelementptr inbounds %LSlice, ptr %t14582, i32 0, i32 0 %t14586 = load i32, ptr %t14583 %t14587 = load i32, ptr %t14584 %t14588 = icmp sge i32 %t14586, %t14587 br i1 %t14588, label %grow2936, label %put2937 grow2936: %t14589 = mul i32 %t14587, 2 %t14590 = icmp eq i32 %t14587, 0 %t14591 = select i1 %t14590, i32 8, i32 %t14589 %t14592 = getelementptr ptr, ptr null, i32 1 %t14593 = ptrtoint ptr %t14592 to i64 %t14594 = zext i32 %t14591 to i64 %t14595 = mul i64 %t14594, %t14593 %t14596 = load ptr, ptr %t14585 %t14597 = call ptr @realloc(ptr %t14596, i64 %t14595) store ptr %t14597, ptr %t14585 store i32 %t14591, ptr %t14584 br label %put2937 put2937: %t14598 = load ptr, ptr %t14585 %t14599 = getelementptr inbounds ptr, ptr %t14598, i32 %t14586 store ptr @.str8902, ptr %t14599 %t14600 = add i32 %t14586, 1 store i32 %t14600, ptr %t14583 br label %ifend2935 ifend2935: %t14601 = load ptr, ptr %t1 %t14602 = call i32 @lp_str_eq(ptr %t14601, ptr @.str8903) %t14603 = icmp ne i32 %t14602, 0 br i1 %t14603, label %then2938, label %ifend2940 then2938: store ptr @.str8904, ptr %t403 %t14604 = load ptr, ptr %t410 %t14605 = getelementptr inbounds %LSlice, ptr %t14604, i32 0, i32 1 %t14606 = getelementptr inbounds %LSlice, ptr %t14604, i32 0, i32 2 %t14607 = getelementptr inbounds %LSlice, ptr %t14604, i32 0, i32 0 %t14608 = load i32, ptr %t14605 %t14609 = load i32, ptr %t14606 %t14610 = icmp sge i32 %t14608, %t14609 br i1 %t14610, label %grow2941, label %put2942 grow2941: %t14611 = mul i32 %t14609, 2 %t14612 = icmp eq i32 %t14609, 0 %t14613 = select i1 %t14612, i32 8, i32 %t14611 %t14614 = getelementptr ptr, ptr null, i32 1 %t14615 = ptrtoint ptr %t14614 to i64 %t14616 = zext i32 %t14613 to i64 %t14617 = mul i64 %t14616, %t14615 %t14618 = load ptr, ptr %t14607 %t14619 = call ptr @realloc(ptr %t14618, i64 %t14617) store ptr %t14619, ptr %t14607 store i32 %t14613, ptr %t14606 br label %put2942 put2942: %t14620 = load ptr, ptr %t14607 %t14621 = getelementptr inbounds ptr, ptr %t14620, i32 %t14608 store ptr @.str8905, ptr %t14621 %t14622 = add i32 %t14608, 1 store i32 %t14622, ptr %t14605 %t14623 = load ptr, ptr %t410 %t14624 = getelementptr inbounds %LSlice, ptr %t14623, i32 0, i32 1 %t14625 = getelementptr inbounds %LSlice, ptr %t14623, i32 0, i32 2 %t14626 = getelementptr inbounds %LSlice, ptr %t14623, i32 0, i32 0 %t14627 = load i32, ptr %t14624 %t14628 = load i32, ptr %t14625 %t14629 = icmp sge i32 %t14627, %t14628 br i1 %t14629, label %grow2943, label %put2944 grow2943: %t14630 = mul i32 %t14628, 2 %t14631 = icmp eq i32 %t14628, 0 %t14632 = select i1 %t14631, i32 8, i32 %t14630 %t14633 = getelementptr ptr, ptr null, i32 1 %t14634 = ptrtoint ptr %t14633 to i64 %t14635 = zext i32 %t14632 to i64 %t14636 = mul i64 %t14635, %t14634 %t14637 = load ptr, ptr %t14626 %t14638 = call ptr @realloc(ptr %t14637, i64 %t14636) store ptr %t14638, ptr %t14626 store i32 %t14632, ptr %t14625 br label %put2944 put2944: %t14639 = load ptr, ptr %t14626 %t14640 = getelementptr inbounds ptr, ptr %t14639, i32 %t14627 store ptr @.str8906, ptr %t14640 %t14641 = add i32 %t14627, 1 store i32 %t14641, ptr %t14624 %t14642 = load ptr, ptr %t410 %t14643 = getelementptr inbounds %LSlice, ptr %t14642, i32 0, i32 1 %t14644 = getelementptr inbounds %LSlice, ptr %t14642, i32 0, i32 2 %t14645 = getelementptr inbounds %LSlice, ptr %t14642, i32 0, i32 0 %t14646 = load i32, ptr %t14643 %t14647 = load i32, ptr %t14644 %t14648 = icmp sge i32 %t14646, %t14647 br i1 %t14648, label %grow2945, label %put2946 grow2945: %t14649 = mul i32 %t14647, 2 %t14650 = icmp eq i32 %t14647, 0 %t14651 = select i1 %t14650, i32 8, i32 %t14649 %t14652 = getelementptr ptr, ptr null, i32 1 %t14653 = ptrtoint ptr %t14652 to i64 %t14654 = zext i32 %t14651 to i64 %t14655 = mul i64 %t14654, %t14653 %t14656 = load ptr, ptr %t14645 %t14657 = call ptr @realloc(ptr %t14656, i64 %t14655) store ptr %t14657, ptr %t14645 store i32 %t14651, ptr %t14644 br label %put2946 put2946: %t14658 = load ptr, ptr %t14645 %t14659 = getelementptr inbounds ptr, ptr %t14658, i32 %t14646 store ptr @.str8907, ptr %t14659 %t14660 = add i32 %t14646, 1 store i32 %t14660, ptr %t14643 br label %ifend2940 ifend2940: %t14661 = load ptr, ptr %t1 %t14662 = call i32 @lp_str_eq(ptr %t14661, ptr @.str8908) %t14663 = icmp ne i32 %t14662, 0 br i1 %t14663, label %then2947, label %ifend2949 then2947: store ptr @.str8909, ptr %t403 %t14664 = load ptr, ptr %t410 %t14665 = getelementptr inbounds %LSlice, ptr %t14664, i32 0, i32 1 %t14666 = getelementptr inbounds %LSlice, ptr %t14664, i32 0, i32 2 %t14667 = getelementptr inbounds %LSlice, ptr %t14664, i32 0, i32 0 %t14668 = load i32, ptr %t14665 %t14669 = load i32, ptr %t14666 %t14670 = icmp sge i32 %t14668, %t14669 br i1 %t14670, label %grow2950, label %put2951 grow2950: %t14671 = mul i32 %t14669, 2 %t14672 = icmp eq i32 %t14669, 0 %t14673 = select i1 %t14672, i32 8, i32 %t14671 %t14674 = getelementptr ptr, ptr null, i32 1 %t14675 = ptrtoint ptr %t14674 to i64 %t14676 = zext i32 %t14673 to i64 %t14677 = mul i64 %t14676, %t14675 %t14678 = load ptr, ptr %t14667 %t14679 = call ptr @realloc(ptr %t14678, i64 %t14677) store ptr %t14679, ptr %t14667 store i32 %t14673, ptr %t14666 br label %put2951 put2951: %t14680 = load ptr, ptr %t14667 %t14681 = getelementptr inbounds ptr, ptr %t14680, i32 %t14668 store ptr @.str8910, ptr %t14681 %t14682 = add i32 %t14668, 1 store i32 %t14682, ptr %t14665 %t14683 = load ptr, ptr %t410 %t14684 = getelementptr inbounds %LSlice, ptr %t14683, i32 0, i32 1 %t14685 = getelementptr inbounds %LSlice, ptr %t14683, i32 0, i32 2 %t14686 = getelementptr inbounds %LSlice, ptr %t14683, i32 0, i32 0 %t14687 = load i32, ptr %t14684 %t14688 = load i32, ptr %t14685 %t14689 = icmp sge i32 %t14687, %t14688 br i1 %t14689, label %grow2952, label %put2953 grow2952: %t14690 = mul i32 %t14688, 2 %t14691 = icmp eq i32 %t14688, 0 %t14692 = select i1 %t14691, i32 8, i32 %t14690 %t14693 = getelementptr ptr, ptr null, i32 1 %t14694 = ptrtoint ptr %t14693 to i64 %t14695 = zext i32 %t14692 to i64 %t14696 = mul i64 %t14695, %t14694 %t14697 = load ptr, ptr %t14686 %t14698 = call ptr @realloc(ptr %t14697, i64 %t14696) store ptr %t14698, ptr %t14686 store i32 %t14692, ptr %t14685 br label %put2953 put2953: %t14699 = load ptr, ptr %t14686 %t14700 = getelementptr inbounds ptr, ptr %t14699, i32 %t14687 store ptr @.str8911, ptr %t14700 %t14701 = add i32 %t14687, 1 store i32 %t14701, ptr %t14684 br label %ifend2949 ifend2949: %t14702 = load ptr, ptr %t1 %t14703 = call i32 @lp_str_eq(ptr %t14702, ptr @.str8912) %t14704 = icmp ne i32 %t14703, 0 br i1 %t14704, label %then2954, label %ifend2956 then2954: store ptr @.str8913, ptr %t403 %t14705 = load ptr, ptr %t410 %t14706 = getelementptr inbounds %LSlice, ptr %t14705, i32 0, i32 1 %t14707 = getelementptr inbounds %LSlice, ptr %t14705, i32 0, i32 2 %t14708 = getelementptr inbounds %LSlice, ptr %t14705, i32 0, i32 0 %t14709 = load i32, ptr %t14706 %t14710 = load i32, ptr %t14707 %t14711 = icmp sge i32 %t14709, %t14710 br i1 %t14711, label %grow2957, label %put2958 grow2957: %t14712 = mul i32 %t14710, 2 %t14713 = icmp eq i32 %t14710, 0 %t14714 = select i1 %t14713, i32 8, i32 %t14712 %t14715 = getelementptr ptr, ptr null, i32 1 %t14716 = ptrtoint ptr %t14715 to i64 %t14717 = zext i32 %t14714 to i64 %t14718 = mul i64 %t14717, %t14716 %t14719 = load ptr, ptr %t14708 %t14720 = call ptr @realloc(ptr %t14719, i64 %t14718) store ptr %t14720, ptr %t14708 store i32 %t14714, ptr %t14707 br label %put2958 put2958: %t14721 = load ptr, ptr %t14708 %t14722 = getelementptr inbounds ptr, ptr %t14721, i32 %t14709 store ptr @.str8914, ptr %t14722 %t14723 = add i32 %t14709, 1 store i32 %t14723, ptr %t14706 %t14724 = load ptr, ptr %t410 %t14725 = getelementptr inbounds %LSlice, ptr %t14724, i32 0, i32 1 %t14726 = getelementptr inbounds %LSlice, ptr %t14724, i32 0, i32 2 %t14727 = getelementptr inbounds %LSlice, ptr %t14724, i32 0, i32 0 %t14728 = load i32, ptr %t14725 %t14729 = load i32, ptr %t14726 %t14730 = icmp sge i32 %t14728, %t14729 br i1 %t14730, label %grow2959, label %put2960 grow2959: %t14731 = mul i32 %t14729, 2 %t14732 = icmp eq i32 %t14729, 0 %t14733 = select i1 %t14732, i32 8, i32 %t14731 %t14734 = getelementptr ptr, ptr null, i32 1 %t14735 = ptrtoint ptr %t14734 to i64 %t14736 = zext i32 %t14733 to i64 %t14737 = mul i64 %t14736, %t14735 %t14738 = load ptr, ptr %t14727 %t14739 = call ptr @realloc(ptr %t14738, i64 %t14737) store ptr %t14739, ptr %t14727 store i32 %t14733, ptr %t14726 br label %put2960 put2960: %t14740 = load ptr, ptr %t14727 %t14741 = getelementptr inbounds ptr, ptr %t14740, i32 %t14728 store ptr @.str8915, ptr %t14741 %t14742 = add i32 %t14728, 1 store i32 %t14742, ptr %t14725 br label %ifend2956 ifend2956: %t14743 = load ptr, ptr %t1 %t14744 = call i32 @lp_str_eq(ptr %t14743, ptr @.str8916) %t14745 = icmp ne i32 %t14744, 0 br i1 %t14745, label %then2961, label %ifend2963 then2961: store ptr @.str8917, ptr %t403 %t14746 = load ptr, ptr %t410 %t14747 = getelementptr inbounds %LSlice, ptr %t14746, i32 0, i32 1 %t14748 = getelementptr inbounds %LSlice, ptr %t14746, i32 0, i32 2 %t14749 = getelementptr inbounds %LSlice, ptr %t14746, i32 0, i32 0 %t14750 = load i32, ptr %t14747 %t14751 = load i32, ptr %t14748 %t14752 = icmp sge i32 %t14750, %t14751 br i1 %t14752, label %grow2964, label %put2965 grow2964: %t14753 = mul i32 %t14751, 2 %t14754 = icmp eq i32 %t14751, 0 %t14755 = select i1 %t14754, i32 8, i32 %t14753 %t14756 = getelementptr ptr, ptr null, i32 1 %t14757 = ptrtoint ptr %t14756 to i64 %t14758 = zext i32 %t14755 to i64 %t14759 = mul i64 %t14758, %t14757 %t14760 = load ptr, ptr %t14749 %t14761 = call ptr @realloc(ptr %t14760, i64 %t14759) store ptr %t14761, ptr %t14749 store i32 %t14755, ptr %t14748 br label %put2965 put2965: %t14762 = load ptr, ptr %t14749 %t14763 = getelementptr inbounds ptr, ptr %t14762, i32 %t14750 store ptr @.str8918, ptr %t14763 %t14764 = add i32 %t14750, 1 store i32 %t14764, ptr %t14747 %t14765 = load ptr, ptr %t410 %t14766 = getelementptr inbounds %LSlice, ptr %t14765, i32 0, i32 1 %t14767 = getelementptr inbounds %LSlice, ptr %t14765, i32 0, i32 2 %t14768 = getelementptr inbounds %LSlice, ptr %t14765, i32 0, i32 0 %t14769 = load i32, ptr %t14766 %t14770 = load i32, ptr %t14767 %t14771 = icmp sge i32 %t14769, %t14770 br i1 %t14771, label %grow2966, label %put2967 grow2966: %t14772 = mul i32 %t14770, 2 %t14773 = icmp eq i32 %t14770, 0 %t14774 = select i1 %t14773, i32 8, i32 %t14772 %t14775 = getelementptr ptr, ptr null, i32 1 %t14776 = ptrtoint ptr %t14775 to i64 %t14777 = zext i32 %t14774 to i64 %t14778 = mul i64 %t14777, %t14776 %t14779 = load ptr, ptr %t14768 %t14780 = call ptr @realloc(ptr %t14779, i64 %t14778) store ptr %t14780, ptr %t14768 store i32 %t14774, ptr %t14767 br label %put2967 put2967: %t14781 = load ptr, ptr %t14768 %t14782 = getelementptr inbounds ptr, ptr %t14781, i32 %t14769 store ptr @.str8919, ptr %t14782 %t14783 = add i32 %t14769, 1 store i32 %t14783, ptr %t14766 %t14784 = load ptr, ptr %t410 %t14785 = getelementptr inbounds %LSlice, ptr %t14784, i32 0, i32 1 %t14786 = getelementptr inbounds %LSlice, ptr %t14784, i32 0, i32 2 %t14787 = getelementptr inbounds %LSlice, ptr %t14784, i32 0, i32 0 %t14788 = load i32, ptr %t14785 %t14789 = load i32, ptr %t14786 %t14790 = icmp sge i32 %t14788, %t14789 br i1 %t14790, label %grow2968, label %put2969 grow2968: %t14791 = mul i32 %t14789, 2 %t14792 = icmp eq i32 %t14789, 0 %t14793 = select i1 %t14792, i32 8, i32 %t14791 %t14794 = getelementptr ptr, ptr null, i32 1 %t14795 = ptrtoint ptr %t14794 to i64 %t14796 = zext i32 %t14793 to i64 %t14797 = mul i64 %t14796, %t14795 %t14798 = load ptr, ptr %t14787 %t14799 = call ptr @realloc(ptr %t14798, i64 %t14797) store ptr %t14799, ptr %t14787 store i32 %t14793, ptr %t14786 br label %put2969 put2969: %t14800 = load ptr, ptr %t14787 %t14801 = getelementptr inbounds ptr, ptr %t14800, i32 %t14788 store ptr @.str8920, ptr %t14801 %t14802 = add i32 %t14788, 1 store i32 %t14802, ptr %t14785 br label %ifend2963 ifend2963: %t14803 = load ptr, ptr %t1 %t14804 = call i32 @lp_str_eq(ptr %t14803, ptr @.str8921) %t14805 = icmp ne i32 %t14804, 0 br i1 %t14805, label %then2970, label %ifend2972 then2970: store ptr @.str8922, ptr %t403 %t14806 = load ptr, ptr %t410 %t14807 = getelementptr inbounds %LSlice, ptr %t14806, i32 0, i32 1 %t14808 = getelementptr inbounds %LSlice, ptr %t14806, i32 0, i32 2 %t14809 = getelementptr inbounds %LSlice, ptr %t14806, i32 0, i32 0 %t14810 = load i32, ptr %t14807 %t14811 = load i32, ptr %t14808 %t14812 = icmp sge i32 %t14810, %t14811 br i1 %t14812, label %grow2973, label %put2974 grow2973: %t14813 = mul i32 %t14811, 2 %t14814 = icmp eq i32 %t14811, 0 %t14815 = select i1 %t14814, i32 8, i32 %t14813 %t14816 = getelementptr ptr, ptr null, i32 1 %t14817 = ptrtoint ptr %t14816 to i64 %t14818 = zext i32 %t14815 to i64 %t14819 = mul i64 %t14818, %t14817 %t14820 = load ptr, ptr %t14809 %t14821 = call ptr @realloc(ptr %t14820, i64 %t14819) store ptr %t14821, ptr %t14809 store i32 %t14815, ptr %t14808 br label %put2974 put2974: %t14822 = load ptr, ptr %t14809 %t14823 = getelementptr inbounds ptr, ptr %t14822, i32 %t14810 store ptr @.str8923, ptr %t14823 %t14824 = add i32 %t14810, 1 store i32 %t14824, ptr %t14807 br label %ifend2972 ifend2972: %t14825 = load ptr, ptr %t1 %t14826 = call i32 @lp_str_eq(ptr %t14825, ptr @.str8924) %t14827 = icmp ne i32 %t14826, 0 br i1 %t14827, label %then2975, label %ifend2977 then2975: store ptr @.str8925, ptr %t403 %t14828 = load ptr, ptr %t410 %t14829 = getelementptr inbounds %LSlice, ptr %t14828, i32 0, i32 1 %t14830 = getelementptr inbounds %LSlice, ptr %t14828, i32 0, i32 2 %t14831 = getelementptr inbounds %LSlice, ptr %t14828, i32 0, i32 0 %t14832 = load i32, ptr %t14829 %t14833 = load i32, ptr %t14830 %t14834 = icmp sge i32 %t14832, %t14833 br i1 %t14834, label %grow2978, label %put2979 grow2978: %t14835 = mul i32 %t14833, 2 %t14836 = icmp eq i32 %t14833, 0 %t14837 = select i1 %t14836, i32 8, i32 %t14835 %t14838 = getelementptr ptr, ptr null, i32 1 %t14839 = ptrtoint ptr %t14838 to i64 %t14840 = zext i32 %t14837 to i64 %t14841 = mul i64 %t14840, %t14839 %t14842 = load ptr, ptr %t14831 %t14843 = call ptr @realloc(ptr %t14842, i64 %t14841) store ptr %t14843, ptr %t14831 store i32 %t14837, ptr %t14830 br label %put2979 put2979: %t14844 = load ptr, ptr %t14831 %t14845 = getelementptr inbounds ptr, ptr %t14844, i32 %t14832 store ptr @.str8926, ptr %t14845 %t14846 = add i32 %t14832, 1 store i32 %t14846, ptr %t14829 %t14847 = load ptr, ptr %t410 %t14848 = getelementptr inbounds %LSlice, ptr %t14847, i32 0, i32 1 %t14849 = getelementptr inbounds %LSlice, ptr %t14847, i32 0, i32 2 %t14850 = getelementptr inbounds %LSlice, ptr %t14847, i32 0, i32 0 %t14851 = load i32, ptr %t14848 %t14852 = load i32, ptr %t14849 %t14853 = icmp sge i32 %t14851, %t14852 br i1 %t14853, label %grow2980, label %put2981 grow2980: %t14854 = mul i32 %t14852, 2 %t14855 = icmp eq i32 %t14852, 0 %t14856 = select i1 %t14855, i32 8, i32 %t14854 %t14857 = getelementptr ptr, ptr null, i32 1 %t14858 = ptrtoint ptr %t14857 to i64 %t14859 = zext i32 %t14856 to i64 %t14860 = mul i64 %t14859, %t14858 %t14861 = load ptr, ptr %t14850 %t14862 = call ptr @realloc(ptr %t14861, i64 %t14860) store ptr %t14862, ptr %t14850 store i32 %t14856, ptr %t14849 br label %put2981 put2981: %t14863 = load ptr, ptr %t14850 %t14864 = getelementptr inbounds ptr, ptr %t14863, i32 %t14851 store ptr @.str8927, ptr %t14864 %t14865 = add i32 %t14851, 1 store i32 %t14865, ptr %t14848 br label %ifend2977 ifend2977: %t14866 = load ptr, ptr %t1 %t14867 = call i32 @lp_str_eq(ptr %t14866, ptr @.str8928) %t14868 = icmp ne i32 %t14867, 0 br i1 %t14868, label %then2982, label %ifend2984 then2982: store ptr @.str8929, ptr %t403 %t14869 = load ptr, ptr %t410 %t14870 = getelementptr inbounds %LSlice, ptr %t14869, i32 0, i32 1 %t14871 = getelementptr inbounds %LSlice, ptr %t14869, i32 0, i32 2 %t14872 = getelementptr inbounds %LSlice, ptr %t14869, i32 0, i32 0 %t14873 = load i32, ptr %t14870 %t14874 = load i32, ptr %t14871 %t14875 = icmp sge i32 %t14873, %t14874 br i1 %t14875, label %grow2985, label %put2986 grow2985: %t14876 = mul i32 %t14874, 2 %t14877 = icmp eq i32 %t14874, 0 %t14878 = select i1 %t14877, i32 8, i32 %t14876 %t14879 = getelementptr ptr, ptr null, i32 1 %t14880 = ptrtoint ptr %t14879 to i64 %t14881 = zext i32 %t14878 to i64 %t14882 = mul i64 %t14881, %t14880 %t14883 = load ptr, ptr %t14872 %t14884 = call ptr @realloc(ptr %t14883, i64 %t14882) store ptr %t14884, ptr %t14872 store i32 %t14878, ptr %t14871 br label %put2986 put2986: %t14885 = load ptr, ptr %t14872 %t14886 = getelementptr inbounds ptr, ptr %t14885, i32 %t14873 store ptr @.str8930, ptr %t14886 %t14887 = add i32 %t14873, 1 store i32 %t14887, ptr %t14870 %t14888 = load ptr, ptr %t410 %t14889 = getelementptr inbounds %LSlice, ptr %t14888, i32 0, i32 1 %t14890 = getelementptr inbounds %LSlice, ptr %t14888, i32 0, i32 2 %t14891 = getelementptr inbounds %LSlice, ptr %t14888, i32 0, i32 0 %t14892 = load i32, ptr %t14889 %t14893 = load i32, ptr %t14890 %t14894 = icmp sge i32 %t14892, %t14893 br i1 %t14894, label %grow2987, label %put2988 grow2987: %t14895 = mul i32 %t14893, 2 %t14896 = icmp eq i32 %t14893, 0 %t14897 = select i1 %t14896, i32 8, i32 %t14895 %t14898 = getelementptr ptr, ptr null, i32 1 %t14899 = ptrtoint ptr %t14898 to i64 %t14900 = zext i32 %t14897 to i64 %t14901 = mul i64 %t14900, %t14899 %t14902 = load ptr, ptr %t14891 %t14903 = call ptr @realloc(ptr %t14902, i64 %t14901) store ptr %t14903, ptr %t14891 store i32 %t14897, ptr %t14890 br label %put2988 put2988: %t14904 = load ptr, ptr %t14891 %t14905 = getelementptr inbounds ptr, ptr %t14904, i32 %t14892 store ptr @.str8931, ptr %t14905 %t14906 = add i32 %t14892, 1 store i32 %t14906, ptr %t14889 br label %ifend2984 ifend2984: %t14907 = load ptr, ptr %t1 %t14908 = call i32 @lp_str_eq(ptr %t14907, ptr @.str8932) %t14909 = icmp ne i32 %t14908, 0 br i1 %t14909, label %then2989, label %ifend2991 then2989: store ptr @.str8933, ptr %t403 %t14910 = load ptr, ptr %t410 %t14911 = getelementptr inbounds %LSlice, ptr %t14910, i32 0, i32 1 %t14912 = getelementptr inbounds %LSlice, ptr %t14910, i32 0, i32 2 %t14913 = getelementptr inbounds %LSlice, ptr %t14910, i32 0, i32 0 %t14914 = load i32, ptr %t14911 %t14915 = load i32, ptr %t14912 %t14916 = icmp sge i32 %t14914, %t14915 br i1 %t14916, label %grow2992, label %put2993 grow2992: %t14917 = mul i32 %t14915, 2 %t14918 = icmp eq i32 %t14915, 0 %t14919 = select i1 %t14918, i32 8, i32 %t14917 %t14920 = getelementptr ptr, ptr null, i32 1 %t14921 = ptrtoint ptr %t14920 to i64 %t14922 = zext i32 %t14919 to i64 %t14923 = mul i64 %t14922, %t14921 %t14924 = load ptr, ptr %t14913 %t14925 = call ptr @realloc(ptr %t14924, i64 %t14923) store ptr %t14925, ptr %t14913 store i32 %t14919, ptr %t14912 br label %put2993 put2993: %t14926 = load ptr, ptr %t14913 %t14927 = getelementptr inbounds ptr, ptr %t14926, i32 %t14914 store ptr @.str8934, ptr %t14927 %t14928 = add i32 %t14914, 1 store i32 %t14928, ptr %t14911 %t14929 = load ptr, ptr %t410 %t14930 = getelementptr inbounds %LSlice, ptr %t14929, i32 0, i32 1 %t14931 = getelementptr inbounds %LSlice, ptr %t14929, i32 0, i32 2 %t14932 = getelementptr inbounds %LSlice, ptr %t14929, i32 0, i32 0 %t14933 = load i32, ptr %t14930 %t14934 = load i32, ptr %t14931 %t14935 = icmp sge i32 %t14933, %t14934 br i1 %t14935, label %grow2994, label %put2995 grow2994: %t14936 = mul i32 %t14934, 2 %t14937 = icmp eq i32 %t14934, 0 %t14938 = select i1 %t14937, i32 8, i32 %t14936 %t14939 = getelementptr ptr, ptr null, i32 1 %t14940 = ptrtoint ptr %t14939 to i64 %t14941 = zext i32 %t14938 to i64 %t14942 = mul i64 %t14941, %t14940 %t14943 = load ptr, ptr %t14932 %t14944 = call ptr @realloc(ptr %t14943, i64 %t14942) store ptr %t14944, ptr %t14932 store i32 %t14938, ptr %t14931 br label %put2995 put2995: %t14945 = load ptr, ptr %t14932 %t14946 = getelementptr inbounds ptr, ptr %t14945, i32 %t14933 store ptr @.str8935, ptr %t14946 %t14947 = add i32 %t14933, 1 store i32 %t14947, ptr %t14930 br label %ifend2991 ifend2991: %t14948 = load ptr, ptr %t1 %t14949 = call i32 @lp_str_eq(ptr %t14948, ptr @.str8936) %t14950 = icmp ne i32 %t14949, 0 br i1 %t14950, label %then2996, label %ifend2998 then2996: store ptr @.str8937, ptr %t403 %t14951 = load ptr, ptr %t410 %t14952 = getelementptr inbounds %LSlice, ptr %t14951, i32 0, i32 1 %t14953 = getelementptr inbounds %LSlice, ptr %t14951, i32 0, i32 2 %t14954 = getelementptr inbounds %LSlice, ptr %t14951, i32 0, i32 0 %t14955 = load i32, ptr %t14952 %t14956 = load i32, ptr %t14953 %t14957 = icmp sge i32 %t14955, %t14956 br i1 %t14957, label %grow2999, label %put3000 grow2999: %t14958 = mul i32 %t14956, 2 %t14959 = icmp eq i32 %t14956, 0 %t14960 = select i1 %t14959, i32 8, i32 %t14958 %t14961 = getelementptr ptr, ptr null, i32 1 %t14962 = ptrtoint ptr %t14961 to i64 %t14963 = zext i32 %t14960 to i64 %t14964 = mul i64 %t14963, %t14962 %t14965 = load ptr, ptr %t14954 %t14966 = call ptr @realloc(ptr %t14965, i64 %t14964) store ptr %t14966, ptr %t14954 store i32 %t14960, ptr %t14953 br label %put3000 put3000: %t14967 = load ptr, ptr %t14954 %t14968 = getelementptr inbounds ptr, ptr %t14967, i32 %t14955 store ptr @.str8938, ptr %t14968 %t14969 = add i32 %t14955, 1 store i32 %t14969, ptr %t14952 br label %ifend2998 ifend2998: %t14970 = load ptr, ptr %t1 %t14971 = call i32 @lp_str_eq(ptr %t14970, ptr @.str8939) %t14972 = icmp ne i32 %t14971, 0 br i1 %t14972, label %then3001, label %ifend3003 then3001: store ptr @.str8940, ptr %t403 %t14973 = load ptr, ptr %t410 %t14974 = getelementptr inbounds %LSlice, ptr %t14973, i32 0, i32 1 %t14975 = getelementptr inbounds %LSlice, ptr %t14973, i32 0, i32 2 %t14976 = getelementptr inbounds %LSlice, ptr %t14973, i32 0, i32 0 %t14977 = load i32, ptr %t14974 %t14978 = load i32, ptr %t14975 %t14979 = icmp sge i32 %t14977, %t14978 br i1 %t14979, label %grow3004, label %put3005 grow3004: %t14980 = mul i32 %t14978, 2 %t14981 = icmp eq i32 %t14978, 0 %t14982 = select i1 %t14981, i32 8, i32 %t14980 %t14983 = getelementptr ptr, ptr null, i32 1 %t14984 = ptrtoint ptr %t14983 to i64 %t14985 = zext i32 %t14982 to i64 %t14986 = mul i64 %t14985, %t14984 %t14987 = load ptr, ptr %t14976 %t14988 = call ptr @realloc(ptr %t14987, i64 %t14986) store ptr %t14988, ptr %t14976 store i32 %t14982, ptr %t14975 br label %put3005 put3005: %t14989 = load ptr, ptr %t14976 %t14990 = getelementptr inbounds ptr, ptr %t14989, i32 %t14977 store ptr @.str8941, ptr %t14990 %t14991 = add i32 %t14977, 1 store i32 %t14991, ptr %t14974 br label %ifend3003 ifend3003: %t14992 = load ptr, ptr %t1 %t14993 = call i32 @lp_str_eq(ptr %t14992, ptr @.str8942) %t14994 = icmp ne i32 %t14993, 0 br i1 %t14994, label %then3006, label %ifend3008 then3006: store ptr @.str8943, ptr %t403 %t14995 = load ptr, ptr %t410 %t14996 = getelementptr inbounds %LSlice, ptr %t14995, i32 0, i32 1 %t14997 = getelementptr inbounds %LSlice, ptr %t14995, i32 0, i32 2 %t14998 = getelementptr inbounds %LSlice, ptr %t14995, i32 0, i32 0 %t14999 = load i32, ptr %t14996 %t15000 = load i32, ptr %t14997 %t15001 = icmp sge i32 %t14999, %t15000 br i1 %t15001, label %grow3009, label %put3010 grow3009: %t15002 = mul i32 %t15000, 2 %t15003 = icmp eq i32 %t15000, 0 %t15004 = select i1 %t15003, i32 8, i32 %t15002 %t15005 = getelementptr ptr, ptr null, i32 1 %t15006 = ptrtoint ptr %t15005 to i64 %t15007 = zext i32 %t15004 to i64 %t15008 = mul i64 %t15007, %t15006 %t15009 = load ptr, ptr %t14998 %t15010 = call ptr @realloc(ptr %t15009, i64 %t15008) store ptr %t15010, ptr %t14998 store i32 %t15004, ptr %t14997 br label %put3010 put3010: %t15011 = load ptr, ptr %t14998 %t15012 = getelementptr inbounds ptr, ptr %t15011, i32 %t14999 store ptr @.str8944, ptr %t15012 %t15013 = add i32 %t14999, 1 store i32 %t15013, ptr %t14996 %t15014 = load ptr, ptr %t410 %t15015 = getelementptr inbounds %LSlice, ptr %t15014, i32 0, i32 1 %t15016 = getelementptr inbounds %LSlice, ptr %t15014, i32 0, i32 2 %t15017 = getelementptr inbounds %LSlice, ptr %t15014, i32 0, i32 0 %t15018 = load i32, ptr %t15015 %t15019 = load i32, ptr %t15016 %t15020 = icmp sge i32 %t15018, %t15019 br i1 %t15020, label %grow3011, label %put3012 grow3011: %t15021 = mul i32 %t15019, 2 %t15022 = icmp eq i32 %t15019, 0 %t15023 = select i1 %t15022, i32 8, i32 %t15021 %t15024 = getelementptr ptr, ptr null, i32 1 %t15025 = ptrtoint ptr %t15024 to i64 %t15026 = zext i32 %t15023 to i64 %t15027 = mul i64 %t15026, %t15025 %t15028 = load ptr, ptr %t15017 %t15029 = call ptr @realloc(ptr %t15028, i64 %t15027) store ptr %t15029, ptr %t15017 store i32 %t15023, ptr %t15016 br label %put3012 put3012: %t15030 = load ptr, ptr %t15017 %t15031 = getelementptr inbounds ptr, ptr %t15030, i32 %t15018 store ptr @.str8945, ptr %t15031 %t15032 = add i32 %t15018, 1 store i32 %t15032, ptr %t15015 %t15033 = load ptr, ptr %t410 %t15034 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 1 %t15035 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 2 %t15036 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 0 %t15037 = load i32, ptr %t15034 %t15038 = load i32, ptr %t15035 %t15039 = icmp sge i32 %t15037, %t15038 br i1 %t15039, label %grow3013, label %put3014 grow3013: %t15040 = mul i32 %t15038, 2 %t15041 = icmp eq i32 %t15038, 0 %t15042 = select i1 %t15041, i32 8, i32 %t15040 %t15043 = getelementptr ptr, ptr null, i32 1 %t15044 = ptrtoint ptr %t15043 to i64 %t15045 = zext i32 %t15042 to i64 %t15046 = mul i64 %t15045, %t15044 %t15047 = load ptr, ptr %t15036 %t15048 = call ptr @realloc(ptr %t15047, i64 %t15046) store ptr %t15048, ptr %t15036 store i32 %t15042, ptr %t15035 br label %put3014 put3014: %t15049 = load ptr, ptr %t15036 %t15050 = getelementptr inbounds ptr, ptr %t15049, i32 %t15037 store ptr @.str8946, ptr %t15050 %t15051 = add i32 %t15037, 1 store i32 %t15051, ptr %t15034 br label %ifend3008 ifend3008: %t15052 = load ptr, ptr %t1 %t15053 = call i32 @lp_str_eq(ptr %t15052, ptr @.str8947) %t15054 = icmp ne i32 %t15053, 0 br i1 %t15054, label %then3015, label %ifend3017 then3015: store ptr @.str8948, ptr %t403 %t15055 = load ptr, ptr %t410 %t15056 = getelementptr inbounds %LSlice, ptr %t15055, i32 0, i32 1 %t15057 = getelementptr inbounds %LSlice, ptr %t15055, i32 0, i32 2 %t15058 = getelementptr inbounds %LSlice, ptr %t15055, i32 0, i32 0 %t15059 = load i32, ptr %t15056 %t15060 = load i32, ptr %t15057 %t15061 = icmp sge i32 %t15059, %t15060 br i1 %t15061, label %grow3018, label %put3019 grow3018: %t15062 = mul i32 %t15060, 2 %t15063 = icmp eq i32 %t15060, 0 %t15064 = select i1 %t15063, i32 8, i32 %t15062 %t15065 = getelementptr ptr, ptr null, i32 1 %t15066 = ptrtoint ptr %t15065 to i64 %t15067 = zext i32 %t15064 to i64 %t15068 = mul i64 %t15067, %t15066 %t15069 = load ptr, ptr %t15058 %t15070 = call ptr @realloc(ptr %t15069, i64 %t15068) store ptr %t15070, ptr %t15058 store i32 %t15064, ptr %t15057 br label %put3019 put3019: %t15071 = load ptr, ptr %t15058 %t15072 = getelementptr inbounds ptr, ptr %t15071, i32 %t15059 store ptr @.str8949, ptr %t15072 %t15073 = add i32 %t15059, 1 store i32 %t15073, ptr %t15056 %t15074 = load ptr, ptr %t410 %t15075 = getelementptr inbounds %LSlice, ptr %t15074, i32 0, i32 1 %t15076 = getelementptr inbounds %LSlice, ptr %t15074, i32 0, i32 2 %t15077 = getelementptr inbounds %LSlice, ptr %t15074, i32 0, i32 0 %t15078 = load i32, ptr %t15075 %t15079 = load i32, ptr %t15076 %t15080 = icmp sge i32 %t15078, %t15079 br i1 %t15080, label %grow3020, label %put3021 grow3020: %t15081 = mul i32 %t15079, 2 %t15082 = icmp eq i32 %t15079, 0 %t15083 = select i1 %t15082, i32 8, i32 %t15081 %t15084 = getelementptr ptr, ptr null, i32 1 %t15085 = ptrtoint ptr %t15084 to i64 %t15086 = zext i32 %t15083 to i64 %t15087 = mul i64 %t15086, %t15085 %t15088 = load ptr, ptr %t15077 %t15089 = call ptr @realloc(ptr %t15088, i64 %t15087) store ptr %t15089, ptr %t15077 store i32 %t15083, ptr %t15076 br label %put3021 put3021: %t15090 = load ptr, ptr %t15077 %t15091 = getelementptr inbounds ptr, ptr %t15090, i32 %t15078 store ptr @.str8950, ptr %t15091 %t15092 = add i32 %t15078, 1 store i32 %t15092, ptr %t15075 %t15093 = load ptr, ptr %t410 %t15094 = getelementptr inbounds %LSlice, ptr %t15093, i32 0, i32 1 %t15095 = getelementptr inbounds %LSlice, ptr %t15093, i32 0, i32 2 %t15096 = getelementptr inbounds %LSlice, ptr %t15093, i32 0, i32 0 %t15097 = load i32, ptr %t15094 %t15098 = load i32, ptr %t15095 %t15099 = icmp sge i32 %t15097, %t15098 br i1 %t15099, label %grow3022, label %put3023 grow3022: %t15100 = mul i32 %t15098, 2 %t15101 = icmp eq i32 %t15098, 0 %t15102 = select i1 %t15101, i32 8, i32 %t15100 %t15103 = getelementptr ptr, ptr null, i32 1 %t15104 = ptrtoint ptr %t15103 to i64 %t15105 = zext i32 %t15102 to i64 %t15106 = mul i64 %t15105, %t15104 %t15107 = load ptr, ptr %t15096 %t15108 = call ptr @realloc(ptr %t15107, i64 %t15106) store ptr %t15108, ptr %t15096 store i32 %t15102, ptr %t15095 br label %put3023 put3023: %t15109 = load ptr, ptr %t15096 %t15110 = getelementptr inbounds ptr, ptr %t15109, i32 %t15097 store ptr @.str8951, ptr %t15110 %t15111 = add i32 %t15097, 1 store i32 %t15111, ptr %t15094 br label %ifend3017 ifend3017: %t15112 = load ptr, ptr %t1 %t15113 = call i32 @lp_str_eq(ptr %t15112, ptr @.str8952) %t15114 = icmp ne i32 %t15113, 0 br i1 %t15114, label %then3024, label %ifend3026 then3024: store ptr @.str8953, ptr %t403 %t15115 = load ptr, ptr %t410 %t15116 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 1 %t15117 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 2 %t15118 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 0 %t15119 = load i32, ptr %t15116 %t15120 = load i32, ptr %t15117 %t15121 = icmp sge i32 %t15119, %t15120 br i1 %t15121, label %grow3027, label %put3028 grow3027: %t15122 = mul i32 %t15120, 2 %t15123 = icmp eq i32 %t15120, 0 %t15124 = select i1 %t15123, i32 8, i32 %t15122 %t15125 = getelementptr ptr, ptr null, i32 1 %t15126 = ptrtoint ptr %t15125 to i64 %t15127 = zext i32 %t15124 to i64 %t15128 = mul i64 %t15127, %t15126 %t15129 = load ptr, ptr %t15118 %t15130 = call ptr @realloc(ptr %t15129, i64 %t15128) store ptr %t15130, ptr %t15118 store i32 %t15124, ptr %t15117 br label %put3028 put3028: %t15131 = load ptr, ptr %t15118 %t15132 = getelementptr inbounds ptr, ptr %t15131, i32 %t15119 store ptr @.str8954, ptr %t15132 %t15133 = add i32 %t15119, 1 store i32 %t15133, ptr %t15116 %t15134 = load ptr, ptr %t410 %t15135 = getelementptr inbounds %LSlice, ptr %t15134, i32 0, i32 1 %t15136 = getelementptr inbounds %LSlice, ptr %t15134, i32 0, i32 2 %t15137 = getelementptr inbounds %LSlice, ptr %t15134, i32 0, i32 0 %t15138 = load i32, ptr %t15135 %t15139 = load i32, ptr %t15136 %t15140 = icmp sge i32 %t15138, %t15139 br i1 %t15140, label %grow3029, label %put3030 grow3029: %t15141 = mul i32 %t15139, 2 %t15142 = icmp eq i32 %t15139, 0 %t15143 = select i1 %t15142, i32 8, i32 %t15141 %t15144 = getelementptr ptr, ptr null, i32 1 %t15145 = ptrtoint ptr %t15144 to i64 %t15146 = zext i32 %t15143 to i64 %t15147 = mul i64 %t15146, %t15145 %t15148 = load ptr, ptr %t15137 %t15149 = call ptr @realloc(ptr %t15148, i64 %t15147) store ptr %t15149, ptr %t15137 store i32 %t15143, ptr %t15136 br label %put3030 put3030: %t15150 = load ptr, ptr %t15137 %t15151 = getelementptr inbounds ptr, ptr %t15150, i32 %t15138 store ptr @.str8955, ptr %t15151 %t15152 = add i32 %t15138, 1 store i32 %t15152, ptr %t15135 %t15153 = load ptr, ptr %t410 %t15154 = getelementptr inbounds %LSlice, ptr %t15153, i32 0, i32 1 %t15155 = getelementptr inbounds %LSlice, ptr %t15153, i32 0, i32 2 %t15156 = getelementptr inbounds %LSlice, ptr %t15153, i32 0, i32 0 %t15157 = load i32, ptr %t15154 %t15158 = load i32, ptr %t15155 %t15159 = icmp sge i32 %t15157, %t15158 br i1 %t15159, label %grow3031, label %put3032 grow3031: %t15160 = mul i32 %t15158, 2 %t15161 = icmp eq i32 %t15158, 0 %t15162 = select i1 %t15161, i32 8, i32 %t15160 %t15163 = getelementptr ptr, ptr null, i32 1 %t15164 = ptrtoint ptr %t15163 to i64 %t15165 = zext i32 %t15162 to i64 %t15166 = mul i64 %t15165, %t15164 %t15167 = load ptr, ptr %t15156 %t15168 = call ptr @realloc(ptr %t15167, i64 %t15166) store ptr %t15168, ptr %t15156 store i32 %t15162, ptr %t15155 br label %put3032 put3032: %t15169 = load ptr, ptr %t15156 %t15170 = getelementptr inbounds ptr, ptr %t15169, i32 %t15157 store ptr @.str8956, ptr %t15170 %t15171 = add i32 %t15157, 1 store i32 %t15171, ptr %t15154 br label %ifend3026 ifend3026: %t15172 = load ptr, ptr %t1 %t15173 = call i32 @lp_str_eq(ptr %t15172, ptr @.str8957) %t15174 = icmp ne i32 %t15173, 0 br i1 %t15174, label %then3033, label %ifend3035 then3033: store ptr @.str8958, ptr %t403 %t15175 = load ptr, ptr %t410 %t15176 = getelementptr inbounds %LSlice, ptr %t15175, i32 0, i32 1 %t15177 = getelementptr inbounds %LSlice, ptr %t15175, i32 0, i32 2 %t15178 = getelementptr inbounds %LSlice, ptr %t15175, i32 0, i32 0 %t15179 = load i32, ptr %t15176 %t15180 = load i32, ptr %t15177 %t15181 = icmp sge i32 %t15179, %t15180 br i1 %t15181, label %grow3036, label %put3037 grow3036: %t15182 = mul i32 %t15180, 2 %t15183 = icmp eq i32 %t15180, 0 %t15184 = select i1 %t15183, i32 8, i32 %t15182 %t15185 = getelementptr ptr, ptr null, i32 1 %t15186 = ptrtoint ptr %t15185 to i64 %t15187 = zext i32 %t15184 to i64 %t15188 = mul i64 %t15187, %t15186 %t15189 = load ptr, ptr %t15178 %t15190 = call ptr @realloc(ptr %t15189, i64 %t15188) store ptr %t15190, ptr %t15178 store i32 %t15184, ptr %t15177 br label %put3037 put3037: %t15191 = load ptr, ptr %t15178 %t15192 = getelementptr inbounds ptr, ptr %t15191, i32 %t15179 store ptr @.str8959, ptr %t15192 %t15193 = add i32 %t15179, 1 store i32 %t15193, ptr %t15176 %t15194 = load ptr, ptr %t410 %t15195 = getelementptr inbounds %LSlice, ptr %t15194, i32 0, i32 1 %t15196 = getelementptr inbounds %LSlice, ptr %t15194, i32 0, i32 2 %t15197 = getelementptr inbounds %LSlice, ptr %t15194, i32 0, i32 0 %t15198 = load i32, ptr %t15195 %t15199 = load i32, ptr %t15196 %t15200 = icmp sge i32 %t15198, %t15199 br i1 %t15200, label %grow3038, label %put3039 grow3038: %t15201 = mul i32 %t15199, 2 %t15202 = icmp eq i32 %t15199, 0 %t15203 = select i1 %t15202, i32 8, i32 %t15201 %t15204 = getelementptr ptr, ptr null, i32 1 %t15205 = ptrtoint ptr %t15204 to i64 %t15206 = zext i32 %t15203 to i64 %t15207 = mul i64 %t15206, %t15205 %t15208 = load ptr, ptr %t15197 %t15209 = call ptr @realloc(ptr %t15208, i64 %t15207) store ptr %t15209, ptr %t15197 store i32 %t15203, ptr %t15196 br label %put3039 put3039: %t15210 = load ptr, ptr %t15197 %t15211 = getelementptr inbounds ptr, ptr %t15210, i32 %t15198 store ptr @.str8960, ptr %t15211 %t15212 = add i32 %t15198, 1 store i32 %t15212, ptr %t15195 %t15213 = load ptr, ptr %t410 %t15214 = getelementptr inbounds %LSlice, ptr %t15213, i32 0, i32 1 %t15215 = getelementptr inbounds %LSlice, ptr %t15213, i32 0, i32 2 %t15216 = getelementptr inbounds %LSlice, ptr %t15213, i32 0, i32 0 %t15217 = load i32, ptr %t15214 %t15218 = load i32, ptr %t15215 %t15219 = icmp sge i32 %t15217, %t15218 br i1 %t15219, label %grow3040, label %put3041 grow3040: %t15220 = mul i32 %t15218, 2 %t15221 = icmp eq i32 %t15218, 0 %t15222 = select i1 %t15221, i32 8, i32 %t15220 %t15223 = getelementptr ptr, ptr null, i32 1 %t15224 = ptrtoint ptr %t15223 to i64 %t15225 = zext i32 %t15222 to i64 %t15226 = mul i64 %t15225, %t15224 %t15227 = load ptr, ptr %t15216 %t15228 = call ptr @realloc(ptr %t15227, i64 %t15226) store ptr %t15228, ptr %t15216 store i32 %t15222, ptr %t15215 br label %put3041 put3041: %t15229 = load ptr, ptr %t15216 %t15230 = getelementptr inbounds ptr, ptr %t15229, i32 %t15217 store ptr @.str8961, ptr %t15230 %t15231 = add i32 %t15217, 1 store i32 %t15231, ptr %t15214 br label %ifend3035 ifend3035: %t15232 = load ptr, ptr %t1 %t15233 = call i32 @lp_str_eq(ptr %t15232, ptr @.str8962) %t15234 = icmp ne i32 %t15233, 0 br i1 %t15234, label %then3042, label %ifend3044 then3042: store ptr @.str8963, ptr %t403 %t15235 = load ptr, ptr %t410 %t15236 = getelementptr inbounds %LSlice, ptr %t15235, i32 0, i32 1 %t15237 = getelementptr inbounds %LSlice, ptr %t15235, i32 0, i32 2 %t15238 = getelementptr inbounds %LSlice, ptr %t15235, i32 0, i32 0 %t15239 = load i32, ptr %t15236 %t15240 = load i32, ptr %t15237 %t15241 = icmp sge i32 %t15239, %t15240 br i1 %t15241, label %grow3045, label %put3046 grow3045: %t15242 = mul i32 %t15240, 2 %t15243 = icmp eq i32 %t15240, 0 %t15244 = select i1 %t15243, i32 8, i32 %t15242 %t15245 = getelementptr ptr, ptr null, i32 1 %t15246 = ptrtoint ptr %t15245 to i64 %t15247 = zext i32 %t15244 to i64 %t15248 = mul i64 %t15247, %t15246 %t15249 = load ptr, ptr %t15238 %t15250 = call ptr @realloc(ptr %t15249, i64 %t15248) store ptr %t15250, ptr %t15238 store i32 %t15244, ptr %t15237 br label %put3046 put3046: %t15251 = load ptr, ptr %t15238 %t15252 = getelementptr inbounds ptr, ptr %t15251, i32 %t15239 store ptr @.str8964, ptr %t15252 %t15253 = add i32 %t15239, 1 store i32 %t15253, ptr %t15236 %t15254 = load ptr, ptr %t410 %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 %grow3047, label %put3048 grow3047: %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 %put3048 put3048: %t15270 = load ptr, ptr %t15257 %t15271 = getelementptr inbounds ptr, ptr %t15270, i32 %t15258 store ptr @.str8965, ptr %t15271 %t15272 = add i32 %t15258, 1 store i32 %t15272, ptr %t15255 br label %ifend3044 ifend3044: %t15273 = load ptr, ptr %t1 %t15274 = call i32 @lp_str_eq(ptr %t15273, ptr @.str8966) %t15275 = icmp ne i32 %t15274, 0 br i1 %t15275, label %then3049, label %ifend3051 then3049: store ptr @.str8967, ptr %t403 %t15276 = load ptr, ptr %t410 %t15277 = getelementptr inbounds %LSlice, ptr %t15276, i32 0, i32 1 %t15278 = getelementptr inbounds %LSlice, ptr %t15276, i32 0, i32 2 %t15279 = getelementptr inbounds %LSlice, ptr %t15276, i32 0, i32 0 %t15280 = load i32, ptr %t15277 %t15281 = load i32, ptr %t15278 %t15282 = icmp sge i32 %t15280, %t15281 br i1 %t15282, label %grow3052, label %put3053 grow3052: %t15283 = mul i32 %t15281, 2 %t15284 = icmp eq i32 %t15281, 0 %t15285 = select i1 %t15284, i32 8, i32 %t15283 %t15286 = getelementptr ptr, ptr null, i32 1 %t15287 = ptrtoint ptr %t15286 to i64 %t15288 = zext i32 %t15285 to i64 %t15289 = mul i64 %t15288, %t15287 %t15290 = load ptr, ptr %t15279 %t15291 = call ptr @realloc(ptr %t15290, i64 %t15289) store ptr %t15291, ptr %t15279 store i32 %t15285, ptr %t15278 br label %put3053 put3053: %t15292 = load ptr, ptr %t15279 %t15293 = getelementptr inbounds ptr, ptr %t15292, i32 %t15280 store ptr @.str8968, ptr %t15293 %t15294 = add i32 %t15280, 1 store i32 %t15294, ptr %t15277 %t15295 = load ptr, ptr %t410 %t15296 = getelementptr inbounds %LSlice, ptr %t15295, i32 0, i32 1 %t15297 = getelementptr inbounds %LSlice, ptr %t15295, i32 0, i32 2 %t15298 = getelementptr inbounds %LSlice, ptr %t15295, i32 0, i32 0 %t15299 = load i32, ptr %t15296 %t15300 = load i32, ptr %t15297 %t15301 = icmp sge i32 %t15299, %t15300 br i1 %t15301, label %grow3054, label %put3055 grow3054: %t15302 = mul i32 %t15300, 2 %t15303 = icmp eq i32 %t15300, 0 %t15304 = select i1 %t15303, i32 8, i32 %t15302 %t15305 = getelementptr ptr, ptr null, i32 1 %t15306 = ptrtoint ptr %t15305 to i64 %t15307 = zext i32 %t15304 to i64 %t15308 = mul i64 %t15307, %t15306 %t15309 = load ptr, ptr %t15298 %t15310 = call ptr @realloc(ptr %t15309, i64 %t15308) store ptr %t15310, ptr %t15298 store i32 %t15304, ptr %t15297 br label %put3055 put3055: %t15311 = load ptr, ptr %t15298 %t15312 = getelementptr inbounds ptr, ptr %t15311, i32 %t15299 store ptr @.str8969, ptr %t15312 %t15313 = add i32 %t15299, 1 store i32 %t15313, ptr %t15296 br label %ifend3051 ifend3051: %t15314 = load ptr, ptr %t1 %t15315 = call i32 @lp_str_eq(ptr %t15314, ptr @.str8970) %t15316 = icmp ne i32 %t15315, 0 br i1 %t15316, label %then3056, label %ifend3058 then3056: store ptr @.str8971, ptr %t403 %t15317 = load ptr, ptr %t410 %t15318 = getelementptr inbounds %LSlice, ptr %t15317, i32 0, i32 1 %t15319 = getelementptr inbounds %LSlice, ptr %t15317, i32 0, i32 2 %t15320 = getelementptr inbounds %LSlice, ptr %t15317, i32 0, i32 0 %t15321 = load i32, ptr %t15318 %t15322 = load i32, ptr %t15319 %t15323 = icmp sge i32 %t15321, %t15322 br i1 %t15323, label %grow3059, label %put3060 grow3059: %t15324 = mul i32 %t15322, 2 %t15325 = icmp eq i32 %t15322, 0 %t15326 = select i1 %t15325, i32 8, i32 %t15324 %t15327 = getelementptr ptr, ptr null, i32 1 %t15328 = ptrtoint ptr %t15327 to i64 %t15329 = zext i32 %t15326 to i64 %t15330 = mul i64 %t15329, %t15328 %t15331 = load ptr, ptr %t15320 %t15332 = call ptr @realloc(ptr %t15331, i64 %t15330) store ptr %t15332, ptr %t15320 store i32 %t15326, ptr %t15319 br label %put3060 put3060: %t15333 = load ptr, ptr %t15320 %t15334 = getelementptr inbounds ptr, ptr %t15333, i32 %t15321 store ptr @.str8972, ptr %t15334 %t15335 = add i32 %t15321, 1 store i32 %t15335, ptr %t15318 %t15336 = load ptr, ptr %t410 %t15337 = getelementptr inbounds %LSlice, ptr %t15336, i32 0, i32 1 %t15338 = getelementptr inbounds %LSlice, ptr %t15336, i32 0, i32 2 %t15339 = getelementptr inbounds %LSlice, ptr %t15336, i32 0, i32 0 %t15340 = load i32, ptr %t15337 %t15341 = load i32, ptr %t15338 %t15342 = icmp sge i32 %t15340, %t15341 br i1 %t15342, label %grow3061, label %put3062 grow3061: %t15343 = mul i32 %t15341, 2 %t15344 = icmp eq i32 %t15341, 0 %t15345 = select i1 %t15344, i32 8, i32 %t15343 %t15346 = getelementptr ptr, ptr null, i32 1 %t15347 = ptrtoint ptr %t15346 to i64 %t15348 = zext i32 %t15345 to i64 %t15349 = mul i64 %t15348, %t15347 %t15350 = load ptr, ptr %t15339 %t15351 = call ptr @realloc(ptr %t15350, i64 %t15349) store ptr %t15351, ptr %t15339 store i32 %t15345, ptr %t15338 br label %put3062 put3062: %t15352 = load ptr, ptr %t15339 %t15353 = getelementptr inbounds ptr, ptr %t15352, i32 %t15340 store ptr @.str8973, ptr %t15353 %t15354 = add i32 %t15340, 1 store i32 %t15354, ptr %t15337 br label %ifend3058 ifend3058: %t15355 = load ptr, ptr %t1 %t15356 = call i32 @lp_str_eq(ptr %t15355, ptr @.str8974) %t15357 = icmp ne i32 %t15356, 0 br i1 %t15357, label %then3063, label %ifend3065 then3063: store ptr @.str8975, ptr %t403 %t15358 = load ptr, ptr %t410 %t15359 = getelementptr inbounds %LSlice, ptr %t15358, i32 0, i32 1 %t15360 = getelementptr inbounds %LSlice, ptr %t15358, i32 0, i32 2 %t15361 = getelementptr inbounds %LSlice, ptr %t15358, i32 0, i32 0 %t15362 = load i32, ptr %t15359 %t15363 = load i32, ptr %t15360 %t15364 = icmp sge i32 %t15362, %t15363 br i1 %t15364, label %grow3066, label %put3067 grow3066: %t15365 = mul i32 %t15363, 2 %t15366 = icmp eq i32 %t15363, 0 %t15367 = select i1 %t15366, i32 8, i32 %t15365 %t15368 = getelementptr ptr, ptr null, i32 1 %t15369 = ptrtoint ptr %t15368 to i64 %t15370 = zext i32 %t15367 to i64 %t15371 = mul i64 %t15370, %t15369 %t15372 = load ptr, ptr %t15361 %t15373 = call ptr @realloc(ptr %t15372, i64 %t15371) store ptr %t15373, ptr %t15361 store i32 %t15367, ptr %t15360 br label %put3067 put3067: %t15374 = load ptr, ptr %t15361 %t15375 = getelementptr inbounds ptr, ptr %t15374, i32 %t15362 store ptr @.str8976, ptr %t15375 %t15376 = add i32 %t15362, 1 store i32 %t15376, ptr %t15359 %t15377 = load ptr, ptr %t410 %t15378 = getelementptr inbounds %LSlice, ptr %t15377, i32 0, i32 1 %t15379 = getelementptr inbounds %LSlice, ptr %t15377, i32 0, i32 2 %t15380 = getelementptr inbounds %LSlice, ptr %t15377, i32 0, i32 0 %t15381 = load i32, ptr %t15378 %t15382 = load i32, ptr %t15379 %t15383 = icmp sge i32 %t15381, %t15382 br i1 %t15383, label %grow3068, label %put3069 grow3068: %t15384 = mul i32 %t15382, 2 %t15385 = icmp eq i32 %t15382, 0 %t15386 = select i1 %t15385, i32 8, i32 %t15384 %t15387 = getelementptr ptr, ptr null, i32 1 %t15388 = ptrtoint ptr %t15387 to i64 %t15389 = zext i32 %t15386 to i64 %t15390 = mul i64 %t15389, %t15388 %t15391 = load ptr, ptr %t15380 %t15392 = call ptr @realloc(ptr %t15391, i64 %t15390) store ptr %t15392, ptr %t15380 store i32 %t15386, ptr %t15379 br label %put3069 put3069: %t15393 = load ptr, ptr %t15380 %t15394 = getelementptr inbounds ptr, ptr %t15393, i32 %t15381 store ptr @.str8977, ptr %t15394 %t15395 = add i32 %t15381, 1 store i32 %t15395, ptr %t15378 br label %ifend3065 ifend3065: %t15396 = load ptr, ptr %t1 %t15397 = call i32 @lp_str_eq(ptr %t15396, ptr @.str8978) %t15398 = icmp ne i32 %t15397, 0 br i1 %t15398, label %then3070, label %ifend3072 then3070: store ptr @.str8979, ptr %t403 %t15399 = load ptr, ptr %t410 %t15400 = getelementptr inbounds %LSlice, ptr %t15399, i32 0, i32 1 %t15401 = getelementptr inbounds %LSlice, ptr %t15399, i32 0, i32 2 %t15402 = getelementptr inbounds %LSlice, ptr %t15399, i32 0, i32 0 %t15403 = load i32, ptr %t15400 %t15404 = load i32, ptr %t15401 %t15405 = icmp sge i32 %t15403, %t15404 br i1 %t15405, label %grow3073, label %put3074 grow3073: %t15406 = mul i32 %t15404, 2 %t15407 = icmp eq i32 %t15404, 0 %t15408 = select i1 %t15407, i32 8, i32 %t15406 %t15409 = getelementptr ptr, ptr null, i32 1 %t15410 = ptrtoint ptr %t15409 to i64 %t15411 = zext i32 %t15408 to i64 %t15412 = mul i64 %t15411, %t15410 %t15413 = load ptr, ptr %t15402 %t15414 = call ptr @realloc(ptr %t15413, i64 %t15412) store ptr %t15414, ptr %t15402 store i32 %t15408, ptr %t15401 br label %put3074 put3074: %t15415 = load ptr, ptr %t15402 %t15416 = getelementptr inbounds ptr, ptr %t15415, i32 %t15403 store ptr @.str8980, ptr %t15416 %t15417 = add i32 %t15403, 1 store i32 %t15417, ptr %t15400 %t15418 = load ptr, ptr %t410 %t15419 = getelementptr inbounds %LSlice, ptr %t15418, i32 0, i32 1 %t15420 = getelementptr inbounds %LSlice, ptr %t15418, i32 0, i32 2 %t15421 = getelementptr inbounds %LSlice, ptr %t15418, i32 0, i32 0 %t15422 = load i32, ptr %t15419 %t15423 = load i32, ptr %t15420 %t15424 = icmp sge i32 %t15422, %t15423 br i1 %t15424, label %grow3075, label %put3076 grow3075: %t15425 = mul i32 %t15423, 2 %t15426 = icmp eq i32 %t15423, 0 %t15427 = select i1 %t15426, i32 8, i32 %t15425 %t15428 = getelementptr ptr, ptr null, i32 1 %t15429 = ptrtoint ptr %t15428 to i64 %t15430 = zext i32 %t15427 to i64 %t15431 = mul i64 %t15430, %t15429 %t15432 = load ptr, ptr %t15421 %t15433 = call ptr @realloc(ptr %t15432, i64 %t15431) store ptr %t15433, ptr %t15421 store i32 %t15427, ptr %t15420 br label %put3076 put3076: %t15434 = load ptr, ptr %t15421 %t15435 = getelementptr inbounds ptr, ptr %t15434, i32 %t15422 store ptr @.str8981, ptr %t15435 %t15436 = add i32 %t15422, 1 store i32 %t15436, ptr %t15419 br label %ifend3072 ifend3072: %t15437 = load ptr, ptr %t1 %t15438 = call i32 @lp_str_eq(ptr %t15437, ptr @.str8982) %t15439 = icmp ne i32 %t15438, 0 br i1 %t15439, label %then3077, label %ifend3079 then3077: store ptr @.str8983, ptr %t403 %t15440 = load ptr, ptr %t410 %t15441 = getelementptr inbounds %LSlice, ptr %t15440, i32 0, i32 1 %t15442 = getelementptr inbounds %LSlice, ptr %t15440, i32 0, i32 2 %t15443 = getelementptr inbounds %LSlice, ptr %t15440, i32 0, i32 0 %t15444 = load i32, ptr %t15441 %t15445 = load i32, ptr %t15442 %t15446 = icmp sge i32 %t15444, %t15445 br i1 %t15446, label %grow3080, label %put3081 grow3080: %t15447 = mul i32 %t15445, 2 %t15448 = icmp eq i32 %t15445, 0 %t15449 = select i1 %t15448, i32 8, i32 %t15447 %t15450 = getelementptr ptr, ptr null, i32 1 %t15451 = ptrtoint ptr %t15450 to i64 %t15452 = zext i32 %t15449 to i64 %t15453 = mul i64 %t15452, %t15451 %t15454 = load ptr, ptr %t15443 %t15455 = call ptr @realloc(ptr %t15454, i64 %t15453) store ptr %t15455, ptr %t15443 store i32 %t15449, ptr %t15442 br label %put3081 put3081: %t15456 = load ptr, ptr %t15443 %t15457 = getelementptr inbounds ptr, ptr %t15456, i32 %t15444 store ptr @.str8984, ptr %t15457 %t15458 = add i32 %t15444, 1 store i32 %t15458, ptr %t15441 br label %ifend3079 ifend3079: %t15459 = load ptr, ptr %t1 %t15460 = call i32 @lp_str_eq(ptr %t15459, ptr @.str8985) %t15461 = icmp ne i32 %t15460, 0 br i1 %t15461, label %then3082, label %ifend3084 then3082: store ptr @.str8986, ptr %t403 %t15462 = load ptr, ptr %t410 %t15463 = getelementptr inbounds %LSlice, ptr %t15462, i32 0, i32 1 %t15464 = getelementptr inbounds %LSlice, ptr %t15462, i32 0, i32 2 %t15465 = getelementptr inbounds %LSlice, ptr %t15462, i32 0, i32 0 %t15466 = load i32, ptr %t15463 %t15467 = load i32, ptr %t15464 %t15468 = icmp sge i32 %t15466, %t15467 br i1 %t15468, label %grow3085, label %put3086 grow3085: %t15469 = mul i32 %t15467, 2 %t15470 = icmp eq i32 %t15467, 0 %t15471 = select i1 %t15470, i32 8, i32 %t15469 %t15472 = getelementptr ptr, ptr null, i32 1 %t15473 = ptrtoint ptr %t15472 to i64 %t15474 = zext i32 %t15471 to i64 %t15475 = mul i64 %t15474, %t15473 %t15476 = load ptr, ptr %t15465 %t15477 = call ptr @realloc(ptr %t15476, i64 %t15475) store ptr %t15477, ptr %t15465 store i32 %t15471, ptr %t15464 br label %put3086 put3086: %t15478 = load ptr, ptr %t15465 %t15479 = getelementptr inbounds ptr, ptr %t15478, i32 %t15466 store ptr @.str8987, ptr %t15479 %t15480 = add i32 %t15466, 1 store i32 %t15480, ptr %t15463 br label %ifend3084 ifend3084: %t15481 = load ptr, ptr %t1 %t15482 = call i32 @lp_str_eq(ptr %t15481, ptr @.str8988) %t15483 = icmp ne i32 %t15482, 0 br i1 %t15483, label %then3087, label %ifend3089 then3087: store ptr @.str8989, ptr %t403 %t15484 = load ptr, ptr %t410 %t15485 = getelementptr inbounds %LSlice, ptr %t15484, i32 0, i32 1 %t15486 = getelementptr inbounds %LSlice, ptr %t15484, i32 0, i32 2 %t15487 = getelementptr inbounds %LSlice, ptr %t15484, i32 0, i32 0 %t15488 = load i32, ptr %t15485 %t15489 = load i32, ptr %t15486 %t15490 = icmp sge i32 %t15488, %t15489 br i1 %t15490, label %grow3090, label %put3091 grow3090: %t15491 = mul i32 %t15489, 2 %t15492 = icmp eq i32 %t15489, 0 %t15493 = select i1 %t15492, i32 8, i32 %t15491 %t15494 = getelementptr ptr, ptr null, i32 1 %t15495 = ptrtoint ptr %t15494 to i64 %t15496 = zext i32 %t15493 to i64 %t15497 = mul i64 %t15496, %t15495 %t15498 = load ptr, ptr %t15487 %t15499 = call ptr @realloc(ptr %t15498, i64 %t15497) store ptr %t15499, ptr %t15487 store i32 %t15493, ptr %t15486 br label %put3091 put3091: %t15500 = load ptr, ptr %t15487 %t15501 = getelementptr inbounds ptr, ptr %t15500, i32 %t15488 store ptr @.str8990, ptr %t15501 %t15502 = add i32 %t15488, 1 store i32 %t15502, ptr %t15485 %t15503 = load ptr, ptr %t410 %t15504 = getelementptr inbounds %LSlice, ptr %t15503, i32 0, i32 1 %t15505 = getelementptr inbounds %LSlice, ptr %t15503, i32 0, i32 2 %t15506 = getelementptr inbounds %LSlice, ptr %t15503, i32 0, i32 0 %t15507 = load i32, ptr %t15504 %t15508 = load i32, ptr %t15505 %t15509 = icmp sge i32 %t15507, %t15508 br i1 %t15509, label %grow3092, label %put3093 grow3092: %t15510 = mul i32 %t15508, 2 %t15511 = icmp eq i32 %t15508, 0 %t15512 = select i1 %t15511, i32 8, i32 %t15510 %t15513 = getelementptr ptr, ptr null, i32 1 %t15514 = ptrtoint ptr %t15513 to i64 %t15515 = zext i32 %t15512 to i64 %t15516 = mul i64 %t15515, %t15514 %t15517 = load ptr, ptr %t15506 %t15518 = call ptr @realloc(ptr %t15517, i64 %t15516) store ptr %t15518, ptr %t15506 store i32 %t15512, ptr %t15505 br label %put3093 put3093: %t15519 = load ptr, ptr %t15506 %t15520 = getelementptr inbounds ptr, ptr %t15519, i32 %t15507 store ptr @.str8991, ptr %t15520 %t15521 = add i32 %t15507, 1 store i32 %t15521, ptr %t15504 br label %ifend3089 ifend3089: br label %ifend2820 ifend2820: %t15523 = load ptr, ptr %t0 %t15524 = call i32 @lp_str_eq(ptr %t15523, ptr @.str8992) %t15525 = icmp ne i32 %t15524, 0 %t15526 = zext i1 %t15525 to i32 store i32 %t15526, ptr %t15522 br i1 %t15525, label %sc3094, label %scend3095 sc3094: %t15527 = load ptr, ptr %t403 %t15528 = icmp eq ptr %t15527, null %t15529 = zext i1 %t15528 to i32 %t15530 = icmp ne i32 %t15529, 0 %t15531 = zext i1 %t15530 to i32 store i32 %t15531, ptr %t15522 br label %scend3095 scend3095: %t15532 = load i32, ptr %t15522 %t15533 = icmp ne i32 %t15532, 0 br i1 %t15533, label %then3096, label %ifend3098 then3096: %t15534 = load ptr, ptr %t1 %t15535 = call ptr @lp_str_concat(ptr @.str8993, ptr %t15534) store ptr %t15535, ptr %t403 %t15536 = load ptr, ptr %t403 %t15537 = call ptr @fn_find_fn(ptr %t15536) store ptr %t15537, ptr %t15538 %t15539 = load ptr, ptr %t15538 %t15540 = icmp eq ptr %t15539, null %t15541 = zext i1 %t15540 to i32 %t15542 = icmp ne i32 %t15541, 0 br i1 %t15542, label %then3099, label %ifend3101 then3099: %t15543 = load ptr, ptr %t403 %t15544 = call ptr @fn_find_extern(ptr %t15543) store ptr %t15544, ptr %t15538 br label %ifend3101 ifend3101: %t15545 = load ptr, ptr %t15538 %t15546 = icmp ne ptr %t15545, null %t15547 = zext i1 %t15546 to i32 %t15548 = icmp ne i32 %t15547, 0 br i1 %t15548, label %then3102, label %ifend3104 then3102: %t15549 = load ptr, ptr %t15538 %t15550 = call ptr @fn_param_labels(ptr %t15549) store ptr %t15550, ptr %t15551 store i32 0, ptr %t15552 br label %wcond3105 wcond3105: %t15553 = load i32, ptr %t15552 %t15554 = load ptr, ptr %t15551 %t15555 = getelementptr inbounds %LSlice, ptr %t15554, i32 0, i32 1 %t15556 = load i32, ptr %t15555 %t15557 = icmp slt i32 %t15553, %t15556 %t15558 = zext i1 %t15557 to i32 %t15559 = icmp ne i32 %t15558, 0 br i1 %t15559, label %wbody3106, label %wend3107 wbody3106: %t15560 = load ptr, ptr %t410 %t15561 = load ptr, ptr %t15551 %t15562 = getelementptr inbounds %LSlice, ptr %t15561, i32 0, i32 0 %t15563 = load ptr, ptr %t15562 %t15564 = load i32, ptr %t15552 %t15565 = getelementptr inbounds ptr, ptr %t15563, i32 %t15564 %t15566 = load ptr, ptr %t15565 %t15567 = getelementptr inbounds %LSlice, ptr %t15560, i32 0, i32 1 %t15568 = getelementptr inbounds %LSlice, ptr %t15560, i32 0, i32 2 %t15569 = getelementptr inbounds %LSlice, ptr %t15560, i32 0, i32 0 %t15570 = load i32, ptr %t15567 %t15571 = load i32, ptr %t15568 %t15572 = icmp sge i32 %t15570, %t15571 br i1 %t15572, label %grow3108, label %put3109 grow3108: %t15573 = mul i32 %t15571, 2 %t15574 = icmp eq i32 %t15571, 0 %t15575 = select i1 %t15574, i32 8, i32 %t15573 %t15576 = getelementptr ptr, ptr null, i32 1 %t15577 = ptrtoint ptr %t15576 to i64 %t15578 = zext i32 %t15575 to i64 %t15579 = mul i64 %t15578, %t15577 %t15580 = load ptr, ptr %t15569 %t15581 = call ptr @realloc(ptr %t15580, i64 %t15579) store ptr %t15581, ptr %t15569 store i32 %t15575, ptr %t15568 br label %put3109 put3109: %t15582 = load ptr, ptr %t15569 %t15583 = getelementptr inbounds ptr, ptr %t15582, i32 %t15570 store ptr %t15566, ptr %t15583 %t15584 = add i32 %t15570, 1 store i32 %t15584, ptr %t15567 %t15585 = load i32, ptr %t15552 %t15586 = add i32 %t15585, 1 store i32 %t15586, ptr %t15552 br label %wcond3105 wend3107: br label %ifend3104 ifend3104: br label %ifend3098 ifend3098: %t15588 = load ptr, ptr %t0 %t15589 = call i32 @lp_str_eq(ptr %t15588, ptr @.str8994) %t15590 = icmp ne i32 %t15589, 0 %t15591 = zext i1 %t15590 to i32 store i32 %t15591, ptr %t15587 br i1 %t15590, label %sc3110, label %scend3111 sc3110: %t15592 = load ptr, ptr %t403 %t15593 = icmp eq ptr %t15592, null %t15594 = zext i1 %t15593 to i32 %t15595 = icmp ne i32 %t15594, 0 %t15596 = zext i1 %t15595 to i32 store i32 %t15596, ptr %t15587 br label %scend3111 scend3111: %t15597 = load i32, ptr %t15587 %t15598 = icmp ne i32 %t15597, 0 br i1 %t15598, label %then3112, label %ifend3114 then3112: %t15599 = load ptr, ptr %t1 %t15600 = call ptr @lp_str_concat(ptr @.str8995, ptr %t15599) store ptr %t15600, ptr %t403 %t15601 = load ptr, ptr %t403 %t15602 = call ptr @fn_find_fn(ptr %t15601) store ptr %t15602, ptr %t15603 %t15604 = load ptr, ptr %t15603 %t15605 = icmp eq ptr %t15604, null %t15606 = zext i1 %t15605 to i32 %t15607 = icmp ne i32 %t15606, 0 br i1 %t15607, label %then3115, label %ifend3117 then3115: %t15608 = load ptr, ptr %t403 %t15609 = call ptr @fn_find_extern(ptr %t15608) store ptr %t15609, ptr %t15603 br label %ifend3117 ifend3117: %t15610 = load ptr, ptr %t15603 %t15611 = icmp ne ptr %t15610, null %t15612 = zext i1 %t15611 to i32 %t15613 = icmp ne i32 %t15612, 0 br i1 %t15613, label %then3118, label %ifend3120 then3118: %t15614 = load ptr, ptr %t15603 %t15615 = call ptr @fn_param_labels(ptr %t15614) store ptr %t15615, ptr %t15616 store i32 0, ptr %t15617 br label %wcond3121 wcond3121: %t15618 = load i32, ptr %t15617 %t15619 = load ptr, ptr %t15616 %t15620 = getelementptr inbounds %LSlice, ptr %t15619, i32 0, i32 1 %t15621 = load i32, ptr %t15620 %t15622 = icmp slt i32 %t15618, %t15621 %t15623 = zext i1 %t15622 to i32 %t15624 = icmp ne i32 %t15623, 0 br i1 %t15624, label %wbody3122, label %wend3123 wbody3122: %t15625 = load ptr, ptr %t410 %t15626 = load ptr, ptr %t15616 %t15627 = getelementptr inbounds %LSlice, ptr %t15626, i32 0, i32 0 %t15628 = load ptr, ptr %t15627 %t15629 = load i32, ptr %t15617 %t15630 = getelementptr inbounds ptr, ptr %t15628, i32 %t15629 %t15631 = load ptr, ptr %t15630 %t15632 = getelementptr inbounds %LSlice, ptr %t15625, i32 0, i32 1 %t15633 = getelementptr inbounds %LSlice, ptr %t15625, i32 0, i32 2 %t15634 = getelementptr inbounds %LSlice, ptr %t15625, i32 0, i32 0 %t15635 = load i32, ptr %t15632 %t15636 = load i32, ptr %t15633 %t15637 = icmp sge i32 %t15635, %t15636 br i1 %t15637, label %grow3124, label %put3125 grow3124: %t15638 = mul i32 %t15636, 2 %t15639 = icmp eq i32 %t15636, 0 %t15640 = select i1 %t15639, i32 8, i32 %t15638 %t15641 = getelementptr ptr, ptr null, i32 1 %t15642 = ptrtoint ptr %t15641 to i64 %t15643 = zext i32 %t15640 to i64 %t15644 = mul i64 %t15643, %t15642 %t15645 = load ptr, ptr %t15634 %t15646 = call ptr @realloc(ptr %t15645, i64 %t15644) store ptr %t15646, ptr %t15634 store i32 %t15640, ptr %t15633 br label %put3125 put3125: %t15647 = load ptr, ptr %t15634 %t15648 = getelementptr inbounds ptr, ptr %t15647, i32 %t15635 store ptr %t15631, ptr %t15648 %t15649 = add i32 %t15635, 1 store i32 %t15649, ptr %t15632 %t15650 = load i32, ptr %t15617 %t15651 = add i32 %t15650, 1 store i32 %t15651, ptr %t15617 br label %wcond3121 wend3123: br label %ifend3120 ifend3120: br label %ifend3114 ifend3114: %t15653 = load ptr, ptr %t403 %t15654 = icmp eq ptr %t15653, null %t15655 = zext i1 %t15654 to i32 %t15656 = icmp ne i32 %t15655, 0 %t15657 = zext i1 %t15656 to i32 store i32 %t15657, ptr %t15652 br i1 %t15656, label %sc3126, label %scend3127 sc3126: %t15658 = load ptr, ptr %t0 %t15659 = call i32 @fn_is_registered_namespace(ptr %t15658) %t15660 = icmp ne i32 %t15659, 0 %t15661 = zext i1 %t15660 to i32 store i32 %t15661, ptr %t15652 br label %scend3127 scend3127: %t15662 = load i32, ptr %t15652 %t15663 = icmp ne i32 %t15662, 0 br i1 %t15663, label %then3128, label %ifend3130 then3128: %t15664 = load ptr, ptr %t0 %t15665 = call ptr @fn_ns_lower(ptr %t15664) %t15666 = call ptr @lp_str_concat(ptr %t15665, ptr @.str8996) %t15667 = load ptr, ptr %t1 %t15668 = call ptr @lp_str_concat(ptr %t15666, ptr %t15667) store ptr %t15668, ptr %t403 %t15670 = load ptr, ptr %t0 %t15671 = call i32 @fn_is_ns_block(ptr %t15670) %t15672 = icmp ne i32 %t15671, 0 %t15673 = zext i1 %t15672 to i32 store i32 %t15673, ptr %t15669 br i1 %t15672, label %sc3131, label %scend3132 sc3131: %t15674 = load ptr, ptr %t403 %t15675 = call i32 @fn_ns_export_has(ptr %t15674) %t15676 = icmp eq i32 %t15675, 0 %t15677 = zext i1 %t15676 to i32 %t15678 = icmp ne i32 %t15677, 0 %t15679 = zext i1 %t15678 to i32 store i32 %t15679, ptr %t15669 br label %scend3132 scend3132: %t15680 = load i32, ptr %t15669 %t15681 = icmp ne i32 %t15680, 0 br i1 %t15681, label %then3133, label %ifend3135 then3133: %t15682 = load ptr, ptr %t0 %t15683 = call ptr @lp_str_concat(ptr %t15682, ptr @.str8997) %t15684 = load ptr, ptr %t1 %t15685 = call ptr @lp_str_concat(ptr %t15683, ptr %t15684) %t15686 = call ptr @lp_str_concat(ptr %t15685, ptr @.str8998) %t15687 = load ptr, ptr %t0 %t15688 = call ptr @lp_str_concat(ptr %t15686, ptr %t15687) call void @fn_perr(ptr %t15688) br label %ifend3135 ifend3135: %t15689 = load ptr, ptr %t403 %t15690 = call ptr @fn_find_fn(ptr %t15689) store ptr %t15690, ptr %t15691 %t15692 = load ptr, ptr %t15691 %t15693 = icmp ne ptr %t15692, null %t15694 = zext i1 %t15693 to i32 %t15695 = icmp ne i32 %t15694, 0 br i1 %t15695, label %then3136, label %ifend3138 then3136: %t15696 = load ptr, ptr %t15691 %t15697 = call ptr @fn_param_labels(ptr %t15696) store ptr %t15697, ptr %t15698 store i32 0, ptr %t15699 br label %wcond3139 wcond3139: %t15700 = load i32, ptr %t15699 %t15701 = load ptr, ptr %t15698 %t15702 = getelementptr inbounds %LSlice, ptr %t15701, i32 0, i32 1 %t15703 = load i32, ptr %t15702 %t15704 = icmp slt i32 %t15700, %t15703 %t15705 = zext i1 %t15704 to i32 %t15706 = icmp ne i32 %t15705, 0 br i1 %t15706, label %wbody3140, label %wend3141 wbody3140: %t15707 = load ptr, ptr %t410 %t15708 = load ptr, ptr %t15698 %t15709 = getelementptr inbounds %LSlice, ptr %t15708, i32 0, i32 0 %t15710 = load ptr, ptr %t15709 %t15711 = load i32, ptr %t15699 %t15712 = getelementptr inbounds ptr, ptr %t15710, i32 %t15711 %t15713 = load ptr, ptr %t15712 %t15714 = getelementptr inbounds %LSlice, ptr %t15707, i32 0, i32 1 %t15715 = getelementptr inbounds %LSlice, ptr %t15707, i32 0, i32 2 %t15716 = getelementptr inbounds %LSlice, ptr %t15707, i32 0, i32 0 %t15717 = load i32, ptr %t15714 %t15718 = load i32, ptr %t15715 %t15719 = icmp sge i32 %t15717, %t15718 br i1 %t15719, label %grow3142, label %put3143 grow3142: %t15720 = mul i32 %t15718, 2 %t15721 = icmp eq i32 %t15718, 0 %t15722 = select i1 %t15721, i32 8, i32 %t15720 %t15723 = getelementptr ptr, ptr null, i32 1 %t15724 = ptrtoint ptr %t15723 to i64 %t15725 = zext i32 %t15722 to i64 %t15726 = mul i64 %t15725, %t15724 %t15727 = load ptr, ptr %t15716 %t15728 = call ptr @realloc(ptr %t15727, i64 %t15726) store ptr %t15728, ptr %t15716 store i32 %t15722, ptr %t15715 br label %put3143 put3143: %t15729 = load ptr, ptr %t15716 %t15730 = getelementptr inbounds ptr, ptr %t15729, i32 %t15717 store ptr %t15713, ptr %t15730 %t15731 = add i32 %t15717, 1 store i32 %t15731, ptr %t15714 %t15732 = load i32, ptr %t15699 %t15733 = add i32 %t15732, 1 store i32 %t15733, ptr %t15699 br label %wcond3139 wend3141: br label %ifend3138 ifend3138: br label %ifend3130 ifend3130: %t15734 = load ptr, ptr %t403 %t15735 = icmp eq ptr %t15734, null %t15736 = zext i1 %t15735 to i32 %t15737 = icmp ne i32 %t15736, 0 br i1 %t15737, label %then3144, label %ifend3146 then3144: %t15738 = load ptr, ptr %t0 %t15739 = call ptr @lp_str_concat(ptr @.str8999, ptr %t15738) %t15740 = call ptr @lp_str_concat(ptr %t15739, ptr @.str9000) %t15741 = load ptr, ptr %t1 %t15742 = call ptr @lp_str_concat(ptr %t15740, ptr %t15741) call void @fn_perr(ptr %t15742) br label %ifend3146 ifend3146: %t15743 = load ptr, ptr %t2 %t15744 = load ptr, ptr %t410 call void @fn_reorder_named(ptr %t15743, ptr %t15744) %t15745 = call ptr @fn_node(i32 33) store ptr %t15745, ptr %t15746 %t15747 = load ptr, ptr %t15746 %t15748 = getelementptr inbounds %Cmp_Node, ptr %t15747, i32 0, i32 1 %t15749 = load ptr, ptr %t403 store ptr %t15749, ptr %t15748 %t15750 = load ptr, ptr %t2 %t15751 = getelementptr inbounds %Cmp_Node, ptr %t15750, i32 0, i32 4 %t15752 = load ptr, ptr %t15746 store ptr %t15752, ptr %t15751 %t15753 = load ptr, ptr %t2 %t15754 = call ptr @fn_emit_call(ptr %t15753) store ptr %t15754, ptr %retval br label %ret ret: %t15755 = load ptr, ptr %retval ret ptr %t15755 } 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 %t11 = alloca ptr %t17 = alloca i32 %t45 = alloca ptr %t49 = alloca i32 %t65 = alloca ptr %t73 = alloca ptr %t77 = alloca ptr %t79 = 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 ptr, ptr %t7, i32 %t8 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %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 1 %t16 = load i32, ptr %t15 store i32 %t16, ptr %t17 %t18 = load ptr, ptr %t2 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = load i32, ptr %t17 %t22 = icmp ne i32 %t20, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then0, label %ifend2 then0: %t25 = load ptr, ptr %t11 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str9001, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str9002) %t30 = load i32, ptr %t17 %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 @.str9003) %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = call ptr @fn_itoa(i32 %t36) %t38 = call ptr @lp_str_concat(ptr %t33, ptr %t37) call void @fn_perr(ptr %t38) br label %ifend2 ifend2: %t39 = load ptr, ptr %t0 %t40 = call i32 @fn_enum_box_size(ptr %t39) %t41 = call ptr @fn_itoa(i32 %t40) %t42 = call ptr @lp_str_concat(ptr @.str9004, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str9005) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str9006) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9007) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9008) store i32 0, ptr %t49 br label %wcond3 wcond3: %t50 = load i32, ptr %t49 %t51 = load i32, ptr %t17 %t52 = icmp slt i32 %t50, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody4, label %wend5 wbody4: %t55 = load ptr, ptr %t11 %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 = load i32, ptr %t49 %t61 = getelementptr inbounds ptr, ptr %t59, i32 %t60 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 3 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t2 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t49 %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = load ptr, ptr %t65 %t76 = call ptr @fn_coerce_code(ptr %t74, ptr %t75) store ptr %t76, ptr %t77 %t78 = call ptr @fn_nreg() store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str9009) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9010) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9011) %t82 = load i32, ptr %t49 %t83 = add i32 %t82, 1 %t84 = mul i32 8, %t83 %t85 = call ptr @fn_itoa(i32 %t84) call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str9012) call void @fn_emit(ptr @.str9013) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str9014) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9015) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9016) %t90 = load i32, ptr %t49 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t49 br label %wcond3 wend5: %t92 = load ptr, ptr %t45 %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_val(ptr %t92, ptr %t95) store ptr %t96, ptr %retval br label %ret ret: %t97 = load ptr, ptr %retval ret ptr %t97 } define ptr @fn_emit_call(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t38 = alloca ptr %t91 = alloca ptr %t110 = alloca ptr %t119 = alloca ptr %t142 = alloca ptr %t151 = alloca ptr %t175 = alloca ptr %t184 = alloca ptr %t193 = alloca ptr %t215 = alloca ptr %t234 = alloca ptr %t253 = alloca ptr %t262 = alloca ptr %t281 = alloca ptr %t293 = alloca ptr %t298 = alloca ptr %t332 = alloca ptr %t348 = alloca ptr %t353 = alloca i32 %t373 = alloca ptr %t382 = alloca ptr %t391 = alloca ptr %t402 = alloca i32 %t422 = alloca ptr %t431 = alloca ptr %t465 = alloca ptr %t511 = alloca ptr %t558 = alloca ptr %t565 = alloca ptr %t582 = alloca ptr %t589 = alloca ptr %t594 = alloca ptr %t611 = alloca ptr %t636 = alloca i32 %t637 = alloca i32 %t638 = alloca i32 %t680 = alloca i32 %t681 = alloca i32 %t714 = alloca ptr %t751 = alloca i32 %t752 = alloca i32 %t785 = alloca ptr %t796 = alloca i32 %t818 = alloca i32 %t840 = alloca i32 %t862 = alloca i32 %t884 = alloca i32 %t885 = alloca i32 %t905 = alloca ptr %t930 = alloca ptr %t949 = alloca ptr %t956 = alloca ptr %t966 = alloca ptr %t981 = alloca ptr %t990 = alloca ptr %t1001 = alloca ptr %t1011 = alloca ptr %t1032 = alloca ptr %t1041 = alloca ptr %t1050 = alloca ptr %t1061 = alloca ptr %t1065 = alloca ptr %t1070 = alloca ptr %t1080 = alloca ptr %t1089 = alloca ptr %t1099 = alloca ptr %t1120 = alloca ptr %t1130 = alloca ptr %t1133 = alloca ptr %t1157 = alloca ptr %t1164 = alloca ptr %t1166 = alloca ptr %t1168 = alloca ptr %t1188 = alloca ptr %t1198 = alloca ptr %t1201 = alloca ptr %t1216 = alloca i32 %t1236 = alloca ptr %t1238 = alloca ptr %t1243 = alloca ptr %t1251 = alloca ptr %t1263 = alloca ptr %t1269 = alloca i32 %t1289 = alloca ptr %t1291 = alloca ptr %t1296 = alloca ptr %t1304 = alloca ptr %t1312 = alloca ptr %t1323 = alloca i32 %t1343 = alloca ptr %t1350 = alloca ptr %t1354 = alloca ptr %t1359 = alloca ptr %t1365 = alloca i32 %t1385 = alloca ptr %t1392 = alloca ptr %t1396 = alloca ptr %t1401 = alloca ptr %t1407 = alloca i32 %t1427 = alloca ptr %t1429 = alloca ptr %t1434 = alloca ptr %t1442 = alloca ptr %t1452 = alloca i32 %t1465 = alloca ptr %t1470 = alloca ptr %t1478 = alloca ptr %t1484 = alloca i32 %t1504 = alloca ptr %t1511 = alloca ptr %t1515 = alloca ptr %t1520 = alloca ptr %t1526 = alloca i32 %t1546 = alloca ptr %t1553 = alloca ptr %t1557 = alloca ptr %t1562 = alloca ptr %t1568 = alloca i32 %t1588 = alloca ptr %t1597 = alloca ptr %t1604 = alloca ptr %t1608 = alloca ptr %t1615 = alloca ptr %t1619 = alloca ptr %t1624 = alloca ptr %t1647 = alloca ptr %t1666 = alloca ptr %t1675 = alloca ptr %t1699 = alloca ptr %t1708 = alloca ptr %t1717 = alloca ptr %t1734 = alloca ptr %t1751 = alloca ptr %t1760 = alloca ptr %t1769 = alloca ptr %t1778 = alloca ptr %t1785 = alloca ptr %t1808 = alloca ptr %t1817 = alloca ptr %t1846 = alloca ptr %t1865 = alloca ptr %t1884 = alloca ptr %t1893 = alloca ptr %t1917 = alloca ptr %t1926 = alloca ptr %t1950 = alloca ptr %t1959 = alloca ptr %t1978 = alloca ptr %t1987 = alloca ptr %t2006 = alloca ptr %t2030 = alloca ptr %t2049 = alloca ptr %t2068 = alloca ptr %t2077 = alloca ptr %t2101 = alloca ptr %t2110 = alloca ptr %t2143 = alloca ptr %t2157 = alloca ptr %t2164 = alloca ptr %t2165 = alloca i32 %t2184 = alloca ptr %t2235 = alloca ptr %t2236 = alloca ptr %t2283 = alloca ptr %t2296 = alloca ptr %t2298 = alloca ptr %t2305 = alloca ptr %t2320 = alloca ptr %t2327 = alloca ptr %t2334 = alloca ptr %t2335 = alloca i32 %t2354 = alloca ptr %t2358 = alloca ptr %t2420 = alloca ptr %t2421 = 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 @.str9017) 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 @.str9018) %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 @.str9019, ptr @.str9020) 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 ptr, ptr %t49, i32 %t51 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str9021, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str9022) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str9023) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = call ptr @fn_emit_bind(ptr @.str9024) %t61 = call ptr @fn_val(ptr %t60, ptr @.str9025) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str9026) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str9027) %t65 = call ptr @fn_val(ptr @.str9028, ptr @.str9029) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str9030) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str9031) %t69 = call ptr @fn_val(ptr @.str9032, ptr @.str9033) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str9034) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: %t73 = call ptr @fn_emit_bind(ptr @.str9035) %t74 = call ptr @fn_val(ptr %t73, ptr @.str9036) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str9037) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: %t78 = call ptr @fn_emit_bind(ptr @.str9038) %t79 = call ptr @fn_val(ptr %t78, ptr @.str9039) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str9040) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then27, label %ifend29 then27: %t83 = load ptr, ptr %t0 %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 ptr, ptr %t87, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = call ptr @lp_str_concat(ptr @.str9041, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str9042) %t97 = call ptr @fn_emit_bind(ptr %t96) %t98 = call ptr @fn_val(ptr %t97, ptr @.str9043) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str9044) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then30, label %ifend32 then30: %t102 = load ptr, ptr %t0 %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 ptr, ptr %t106, i32 0 %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 7 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds ptr, ptr %t115, i32 1 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 call void @fn_emit(ptr @.str9045) %t120 = load ptr, ptr %t110 %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 @.str9046) %t123 = load ptr, ptr %t119 %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 @.str9047) %t126 = call ptr @fn_val(ptr @.str9048, ptr @.str9049) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str9050) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str9051) %t130 = call ptr @fn_val(ptr @.str9052, ptr @.str9053) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str9054) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then36, label %ifend38 then36: %t134 = load ptr, ptr %t0 %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 ptr, ptr %t138, i32 0 %t140 = load ptr, ptr %t139 %t141 = call ptr @fn_emit_expr(ptr %t140) store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t0 %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 ptr, ptr %t147, i32 1 %t149 = load ptr, ptr %t148 %t150 = call ptr @fn_emit_expr(ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t142 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @lp_str_concat(ptr @.str9055, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str9056) %t157 = load ptr, ptr %t151 %t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = call ptr @lp_str_concat(ptr %t156, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str9057) %t162 = call ptr @fn_emit_bind(ptr %t161) %t163 = call ptr @fn_val(ptr %t162, ptr @.str9058) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str9059) %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then39, label %ifend41 then39: %t167 = load ptr, ptr %t0 %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 ptr, ptr %t171, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_emit_expr(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t0 %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 ptr, ptr %t180, i32 1 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_emit_expr(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t0 %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 ptr, ptr %t189, i32 2 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_emit_expr(ptr %t191) store ptr %t192, ptr %t193 call void @fn_emit(ptr @.str9060) %t194 = load ptr, ptr %t175 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9061) %t197 = load ptr, ptr %t184 %t198 = getelementptr inbounds %Cmp_Val, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 call void @fn_emit(ptr %t199) call void @fn_emit(ptr @.str9062) %t200 = load ptr, ptr %t193 %t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0 %t202 = load ptr, ptr %t201 call void @fn_emit(ptr %t202) call void @fn_emit(ptr @.str9063) %t203 = call ptr @fn_val(ptr @.str9064, ptr @.str9065) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str9066) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then42, label %ifend44 then42: %t207 = load ptr, ptr %t0 %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 ptr, ptr %t211, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @fn_emit_expr(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str9067, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str9068) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str9069) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str9070) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then45, label %ifend47 then45: %t226 = load ptr, ptr %t0 %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 ptr, ptr %t230, i32 0 %t232 = load ptr, ptr %t231 %t233 = call ptr @fn_emit_expr(ptr %t232) store ptr %t233, ptr %t234 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @lp_str_concat(ptr @.str9071, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str9072) %t240 = call ptr @fn_emit_bind(ptr %t239) %t241 = call ptr @fn_val(ptr %t240, ptr @.str9073) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str9074) %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then48, label %ifend50 then48: %t245 = load ptr, ptr %t0 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 7 %t247 = load ptr, ptr %t246 %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds ptr, ptr %t249, i32 0 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_emit_expr(ptr %t251) store ptr %t252, ptr %t253 %t254 = load ptr, ptr %t0 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds ptr, ptr %t258, i32 1 %t260 = load ptr, ptr %t259 %t261 = call ptr @fn_emit_expr(ptr %t260) store ptr %t261, ptr %t262 call void @fn_emit(ptr @.str9075) %t263 = load ptr, ptr %t253 %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 %t265 = load ptr, ptr %t264 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str9076) %t266 = load ptr, ptr %t262 %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 %t268 = load ptr, ptr %t267 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str9077) %t269 = call ptr @fn_val(ptr @.str9078, ptr @.str9079) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str9080) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then51, label %ifend53 then51: %t273 = load ptr, ptr %t0 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0 %t277 = load ptr, ptr %t276 %t278 = getelementptr inbounds ptr, ptr %t277, i32 0 %t279 = load ptr, ptr %t278 %t280 = call ptr @fn_emit_expr(ptr %t279) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 %t284 = load ptr, ptr %t283 %t285 = call ptr @lp_str_concat(ptr @.str9081, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str9082) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str9083) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str9084) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: %t292 = call ptr @fn_emit_bind(ptr @.str9085) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = call ptr @lp_str_concat(ptr @.str9086, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str9087) %t297 = call ptr @fn_emit_bind(ptr %t296) store ptr %t297, ptr %t298 %t299 = load ptr, ptr %t298 %t300 = call ptr @lp_str_concat(ptr @.str9088, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str9089) %t302 = call ptr @fn_emit_bind(ptr %t301) %t303 = call ptr @fn_val(ptr %t302, ptr @.str9090) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str9091) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: %t307 = call ptr @fn_emit_bind(ptr @.str9092) %t308 = call ptr @fn_val(ptr %t307, ptr @.str9093) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str9094) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str9095) %t312 = call ptr @fn_val(ptr @.str9096, ptr @.str9097) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str9098) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: call void @fn_emit(ptr @.str9099) %t316 = call ptr @fn_val(ptr @.str9100, ptr @.str9101) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str9102) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: call void @fn_emit(ptr @.str9103) %t320 = call ptr @fn_val(ptr @.str9104, ptr @.str9105) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str9106) %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then69, label %ifend71 then69: %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 7 %t326 = load ptr, ptr %t325 %t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds ptr, ptr %t328, i32 0 %t330 = load ptr, ptr %t329 %t331 = call ptr @fn_emit_expr(ptr %t330) store ptr %t331, ptr %t332 call void @fn_emit(ptr @.str9107) %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 call void @fn_emit(ptr %t335) call void @fn_emit(ptr @.str9108) %t336 = call ptr @fn_val(ptr @.str9109, ptr @.str9110) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str9111) %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then72, label %ifend74 then72: %t340 = load ptr, ptr %t0 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 %t342 = load ptr, ptr %t341 %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds ptr, ptr %t344, i32 0 %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 call void @fn_emit(ptr @.str9112) %t349 = load ptr, ptr %t348 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str9113) %t352 = call ptr @fn_val(ptr @.str9114, ptr @.str9115) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str9116) %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t353 br i1 %t356, label %sc75, label %scend76 sc75: %t358 = call ptr @fn_find_extern(ptr @.str9117) %t359 = icmp eq ptr %t358, null %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t353 br label %scend76 scend76: %t363 = load i32, ptr %t353 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then77, label %ifend79 then77: store i32 1, ptr @g_g_uses_loopback %t365 = load ptr, ptr %t0 %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 = getelementptr inbounds ptr, ptr %t369, i32 0 %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_emit_expr(ptr %t371) store ptr %t372, ptr %t373 %t374 = load ptr, ptr %t0 %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 7 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0 %t378 = load ptr, ptr %t377 %t379 = getelementptr inbounds ptr, ptr %t378, i32 1 %t380 = load ptr, ptr %t379 %t381 = call ptr @fn_emit_expr(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t0 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 7 %t385 = load ptr, ptr %t384 %t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 %t387 = load ptr, ptr %t386 %t388 = getelementptr inbounds ptr, ptr %t387, i32 2 %t389 = load ptr, ptr %t388 %t390 = call ptr @fn_emit_expr(ptr %t389) store ptr %t390, ptr %t391 call void @fn_emit(ptr @.str9118) %t392 = load ptr, ptr %t373 %t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0 %t394 = load ptr, ptr %t393 call void @fn_emit(ptr %t394) call void @fn_emit(ptr @.str9119) %t395 = load ptr, ptr %t382 %t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0 %t397 = load ptr, ptr %t396 call void @fn_emit(ptr %t397) call void @fn_emit(ptr @.str9120) %t398 = load ptr, ptr %t391 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str9121) %t401 = call ptr @fn_val(ptr @.str9122, ptr @.str9123) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str9124) %t405 = icmp ne i32 %t404, 0 %t406 = zext i1 %t405 to i32 store i32 %t406, ptr %t402 br i1 %t405, label %sc80, label %scend81 sc80: %t407 = call ptr @fn_find_extern(ptr @.str9125) %t408 = icmp eq ptr %t407, null %t409 = zext i1 %t408 to i32 %t410 = icmp ne i32 %t409, 0 %t411 = zext i1 %t410 to i32 store i32 %t411, ptr %t402 br label %scend81 scend81: %t412 = load i32, ptr %t402 %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then82, label %ifend84 then82: store i32 1, ptr @g_g_uses_loopback %t414 = load ptr, ptr %t0 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 %t420 = load ptr, ptr %t419 %t421 = call ptr @fn_emit_expr(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t0 %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 %t425 = load ptr, ptr %t424 %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 %t427 = load ptr, ptr %t426 %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 %t429 = load ptr, ptr %t428 %t430 = call ptr @fn_emit_expr(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t422 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @lp_str_concat(ptr @.str9126, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str9127) %t437 = load ptr, ptr %t431 %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @lp_str_concat(ptr %t436, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str9128) %t442 = call ptr @fn_emit_bind(ptr %t441) %t443 = call ptr @fn_val(ptr %t442, ptr @.str9129) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str9130) %t446 = icmp ne i32 %t445, 0 br i1 %t446, label %then85, label %ifend87 then85: %t447 = load ptr, ptr %t0 %t448 = call ptr @fn_emit_len(ptr %t447) store ptr %t448, ptr %retval br label %ret ifend87: %t449 = load ptr, ptr %t38 %t450 = call i32 @lp_str_eq(ptr %t449, ptr @.str9131) %t451 = icmp ne i32 %t450, 0 br i1 %t451, label %then88, label %ifend90 then88: %t452 = load ptr, ptr %t0 %t453 = call ptr @fn_emit_push(ptr %t452) store ptr %t453, ptr %retval br label %ret ifend90: %t454 = load ptr, ptr %t38 %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str9132) %t456 = icmp ne i32 %t455, 0 br i1 %t456, label %then91, label %ifend93 then91: %t457 = load ptr, ptr %t0 %t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 7 %t459 = load ptr, ptr %t458 %t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0 %t461 = load ptr, ptr %t460 %t462 = getelementptr inbounds ptr, ptr %t461, i32 0 %t463 = load ptr, ptr %t462 %t464 = call ptr @fn_emit_expr(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1 %t468 = load ptr, ptr %t467 %t469 = call ptr @fn_llty(ptr %t468) %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str9133) %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then94, label %ifend96 then94: %t472 = load ptr, ptr %t465 store ptr %t472, ptr %retval br label %ret ifend96: %t473 = load ptr, ptr %t465 %t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1 %t475 = load ptr, ptr %t474 %t476 = call i32 @fn_is_fp(ptr %t475) %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then97, label %ifend99 then97: %t478 = load ptr, ptr %t465 %t479 = call ptr @fn_emit_fp_str(ptr %t478) store ptr %t479, ptr %retval br label %ret ifend99: %t480 = load ptr, ptr %t465 %t481 = getelementptr inbounds %Cmp_Val, ptr %t480, i32 0, i32 1 %t482 = load ptr, ptr %t481 %t483 = call ptr @fn_llty(ptr %t482) %t484 = call i32 @lp_str_eq(ptr %t483, ptr @.str9134) %t485 = icmp ne i32 %t484, 0 br i1 %t485, label %then100, label %ifend102 then100: store i32 1, ptr @g_g_uses_longstr %t486 = load ptr, ptr %t465 %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 %t488 = load ptr, ptr %t487 %t489 = call ptr @lp_str_concat(ptr @.str9135, ptr %t488) %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str9136) %t491 = call ptr @fn_emit_bind(ptr %t490) %t492 = call ptr @fn_val(ptr %t491, ptr @.str9137) store ptr %t492, ptr %retval br label %ret ifend102: store i32 1, ptr @g_g_uses_intstr %t493 = load ptr, ptr %t465 %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = call ptr @lp_str_concat(ptr @.str9138, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str9139) %t498 = call ptr @fn_emit_bind(ptr %t497) %t499 = call ptr @fn_val(ptr %t498, ptr @.str9140) store ptr %t499, ptr %retval br label %ret ifend93: %t500 = load ptr, ptr %t38 %t501 = call i32 @lp_str_eq(ptr %t500, ptr @.str9141) %t502 = icmp ne i32 %t501, 0 br i1 %t502, label %then103, label %ifend105 then103: %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 ptr, ptr %t507, i32 0 %t509 = load ptr, ptr %t508 %t510 = call ptr @fn_emit_expr(ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t511 %t513 = getelementptr inbounds %Cmp_Val, ptr %t512, i32 0, i32 1 %t514 = load ptr, ptr %t513 %t515 = call i32 @fn_is_fp(ptr %t514) %t516 = icmp ne i32 %t515, 0 br i1 %t516, label %then106, label %ifend108 then106: %t517 = load ptr, ptr %t511 %t518 = call ptr @fn_emit_fp_str(ptr %t517) store ptr %t518, ptr %t511 br label %ifend108 ifend108: %t519 = load ptr, ptr %t511 %t520 = getelementptr inbounds %Cmp_Val, ptr %t519, i32 0, i32 1 %t521 = load ptr, ptr %t520 %t522 = call ptr @fn_llty(ptr %t521) %t523 = call i32 @lp_str_eq(ptr %t522, ptr @.str9142) %t524 = icmp ne i32 %t523, 0 br i1 %t524, label %then109, label %else110 then109: %t525 = load ptr, ptr %t511 %t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0 %t527 = load ptr, ptr %t526 %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str9144) %t529 = call ptr @lp_str_concat(ptr @.str9143, ptr %t528) call void @fn_emit(ptr %t529) br label %ifend111 else110: %t530 = load ptr, ptr %t511 %t531 = getelementptr inbounds %Cmp_Val, ptr %t530, i32 0, i32 1 %t532 = load ptr, ptr %t531 %t533 = call ptr @fn_llty(ptr %t532) %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str9145) %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then112, label %else113 then112: %t536 = load ptr, ptr %t511 %t537 = getelementptr inbounds %Cmp_Val, ptr %t536, i32 0, i32 0 %t538 = load ptr, ptr %t537 %t539 = call ptr @lp_str_concat(ptr %t538, ptr @.str9147) %t540 = call ptr @lp_str_concat(ptr @.str9146, ptr %t539) call void @fn_emit(ptr %t540) br label %ifend114 else113: %t541 = load ptr, ptr %t511 %t542 = getelementptr inbounds %Cmp_Val, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str9149) %t545 = call ptr @lp_str_concat(ptr @.str9148, ptr %t544) call void @fn_emit(ptr %t545) br label %ifend114 ifend114: br label %ifend111 ifend111: %t546 = call ptr @fn_val(ptr @.str9150, ptr @.str9151) store ptr %t546, ptr %retval br label %ret ifend105: %t547 = load ptr, ptr %t38 %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str9152) %t549 = icmp ne i32 %t548, 0 br i1 %t549, label %then115, label %ifend117 then115: %t550 = load ptr, ptr %t0 %t551 = getelementptr inbounds %Cmp_Node, ptr %t550, i32 0, i32 7 %t552 = load ptr, ptr %t551 %t553 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 0 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds ptr, ptr %t554, i32 0 %t556 = load ptr, ptr %t555 %t557 = call ptr @fn_emit_expr(ptr %t556) store ptr %t557, ptr %t558 %t559 = load ptr, ptr %t558 %t560 = getelementptr inbounds %Cmp_Val, ptr %t559, i32 0, i32 0 %t561 = load ptr, ptr %t560 %t562 = call ptr @lp_str_concat(ptr @.str9153, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str9154) %t564 = call ptr @fn_emit_bind(ptr %t563) store ptr %t564, ptr %t565 %t566 = load ptr, ptr %t565 %t567 = call ptr @lp_str_concat(ptr @.str9155, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str9156) %t569 = call ptr @fn_emit_bind(ptr %t568) %t570 = call ptr @fn_val(ptr %t569, ptr @.str9157) store ptr %t570, ptr %retval br label %ret ifend117: %t571 = load ptr, ptr %t38 %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str9158) %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then118, label %ifend120 then118: %t574 = load ptr, ptr %t0 %t575 = getelementptr inbounds %Cmp_Node, ptr %t574, i32 0, i32 7 %t576 = load ptr, ptr %t575 %t577 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 0 %t578 = load ptr, ptr %t577 %t579 = getelementptr inbounds ptr, ptr %t578, i32 0 %t580 = load ptr, ptr %t579 %t581 = call ptr @fn_emit_expr(ptr %t580) store ptr %t581, ptr %t582 %t583 = load ptr, ptr %t582 %t584 = getelementptr inbounds %Cmp_Val, ptr %t583, i32 0, i32 0 %t585 = load ptr, ptr %t584 %t586 = call ptr @lp_str_concat(ptr @.str9159, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str9160) %t588 = call ptr @fn_emit_bind(ptr %t587) store ptr %t588, ptr %t589 %t590 = load ptr, ptr %t589 %t591 = call ptr @lp_str_concat(ptr @.str9161, ptr %t590) %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str9162) %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 @.str9163, ptr %t595) %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str9164) %t598 = call ptr @fn_emit_bind(ptr %t597) %t599 = call ptr @fn_val(ptr %t598, ptr @.str9165) store ptr %t599, ptr %retval br label %ret ifend120: %t600 = load ptr, ptr %t38 %t601 = call i32 @lp_str_eq(ptr %t600, ptr @.str9166) %t602 = icmp ne i32 %t601, 0 br i1 %t602, label %then121, label %ifend123 then121: %t603 = load ptr, ptr %t0 %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 7 %t605 = load ptr, ptr %t604 %t606 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 0 %t607 = load ptr, ptr %t606 %t608 = getelementptr inbounds ptr, ptr %t607, i32 0 %t609 = load ptr, ptr %t608 %t610 = call ptr @fn_emit_expr(ptr %t609) store ptr %t610, ptr %t611 %t612 = load ptr, ptr %t611 %t613 = getelementptr inbounds %Cmp_Val, ptr %t612, i32 0, i32 1 %t614 = load ptr, ptr %t613 %t615 = call i32 @fn_is_fp(ptr %t614) %t616 = icmp ne i32 %t615, 0 br i1 %t616, label %then124, label %ifend126 then124: %t617 = load ptr, ptr %t611 %t618 = call ptr @fn_emit_fp_to_fixed(ptr %t617) store ptr %t618, ptr %retval br label %ret ifend126: %t619 = load ptr, ptr %t611 %t620 = getelementptr inbounds %Cmp_Val, ptr %t619, i32 0, i32 2 %t621 = load ptr, ptr %t620 %t622 = icmp ne ptr %t621, null %t623 = zext i1 %t622 to i32 %t624 = icmp ne i32 %t623, 0 br i1 %t624, label %then127, label %ifend129 then127: %t625 = load ptr, ptr %t611 %t626 = getelementptr inbounds %Cmp_Val, ptr %t625, i32 0, i32 0 %t627 = load ptr, ptr %t626 %t628 = call ptr @fn_val(ptr %t627, ptr @.str9167) store ptr %t628, ptr %retval br label %ret ifend129: %t629 = load ptr, ptr %t611 %t630 = getelementptr inbounds %Cmp_Val, ptr %t629, i32 0, i32 0 %t631 = load ptr, ptr %t630 %t632 = call ptr @lp_str_concat(ptr @.str9168, ptr %t631) %t633 = call ptr @lp_str_concat(ptr %t632, ptr @.str9169) %t634 = call ptr @fn_emit_bind(ptr %t633) %t635 = call ptr @fn_val(ptr %t634, ptr @.str9170) store ptr %t635, ptr %retval br label %ret ifend123: %t639 = load ptr, ptr %t38 %t640 = call i32 @lp_str_eq(ptr %t639, ptr @.str9171) %t641 = icmp ne i32 %t640, 0 %t642 = zext i1 %t641 to i32 store i32 %t642, ptr %t638 br i1 %t641, label %scend131, label %sc130 sc130: %t643 = load ptr, ptr %t38 %t644 = call i32 @lp_str_eq(ptr %t643, ptr @.str9172) %t645 = icmp ne i32 %t644, 0 %t646 = zext i1 %t645 to i32 store i32 %t646, ptr %t638 br label %scend131 scend131: %t647 = load i32, ptr %t638 %t648 = icmp ne i32 %t647, 0 %t649 = zext i1 %t648 to i32 store i32 %t649, ptr %t637 br i1 %t648, label %sc132, label %scend133 sc132: %t650 = load ptr, ptr %t38 %t651 = call ptr @fn_find_fn(ptr %t650) %t652 = icmp eq ptr %t651, null %t653 = zext i1 %t652 to i32 %t654 = icmp ne i32 %t653, 0 %t655 = zext i1 %t654 to i32 store i32 %t655, ptr %t637 br label %scend133 scend133: %t656 = load i32, ptr %t637 %t657 = icmp ne i32 %t656, 0 %t658 = zext i1 %t657 to i32 store i32 %t658, ptr %t636 br i1 %t657, label %sc134, label %scend135 sc134: %t659 = load ptr, ptr %t0 %t660 = getelementptr inbounds %Cmp_Node, ptr %t659, i32 0, i32 7 %t661 = load ptr, ptr %t660 %t662 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 1 %t663 = load i32, ptr %t662 %t664 = icmp eq i32 %t663, 1 %t665 = zext i1 %t664 to i32 %t666 = icmp ne i32 %t665, 0 %t667 = zext i1 %t666 to i32 store i32 %t667, ptr %t636 br label %scend135 scend135: %t668 = load i32, ptr %t636 %t669 = icmp ne i32 %t668, 0 br i1 %t669, label %then136, label %ifend138 then136: %t670 = load ptr, ptr %t38 %t671 = load ptr, ptr %t0 %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 ptr, ptr %t675, i32 0 %t677 = load ptr, ptr %t676 %t678 = call ptr @fn_emit_expr(ptr %t677) %t679 = call ptr @fn_emit_fp_convert(ptr %t670, ptr %t678) store ptr %t679, ptr %retval br label %ret ifend138: %t682 = load ptr, ptr %t38 %t683 = call i32 @lp_str_eq(ptr %t682, ptr @.str9173) %t684 = icmp ne i32 %t683, 0 %t685 = zext i1 %t684 to i32 store i32 %t685, ptr %t681 br i1 %t684, label %sc139, label %scend140 sc139: %t686 = load ptr, ptr %t38 %t687 = call ptr @fn_find_fn(ptr %t686) %t688 = icmp eq ptr %t687, null %t689 = zext i1 %t688 to i32 %t690 = icmp ne i32 %t689, 0 %t691 = zext i1 %t690 to i32 store i32 %t691, ptr %t681 br label %scend140 scend140: %t692 = load i32, ptr %t681 %t693 = icmp ne i32 %t692, 0 %t694 = zext i1 %t693 to i32 store i32 %t694, ptr %t680 br i1 %t693, label %sc141, label %scend142 sc141: %t695 = load ptr, ptr %t0 %t696 = getelementptr inbounds %Cmp_Node, ptr %t695, i32 0, i32 7 %t697 = load ptr, ptr %t696 %t698 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 1 %t699 = load i32, ptr %t698 %t700 = icmp eq i32 %t699, 1 %t701 = zext i1 %t700 to i32 %t702 = icmp ne i32 %t701, 0 %t703 = zext i1 %t702 to i32 store i32 %t703, ptr %t680 br label %scend142 scend142: %t704 = load i32, ptr %t680 %t705 = icmp ne i32 %t704, 0 br i1 %t705, label %then143, label %ifend145 then143: %t706 = load ptr, ptr %t0 %t707 = getelementptr inbounds %Cmp_Node, ptr %t706, i32 0, i32 7 %t708 = load ptr, ptr %t707 %t709 = getelementptr inbounds %LSlice, ptr %t708, i32 0, i32 0 %t710 = load ptr, ptr %t709 %t711 = getelementptr inbounds ptr, ptr %t710, i32 0 %t712 = load ptr, ptr %t711 %t713 = call ptr @fn_emit_expr(ptr %t712) store ptr %t713, ptr %t714 %t715 = load ptr, ptr %t714 %t716 = getelementptr inbounds %Cmp_Val, ptr %t715, i32 0, i32 1 %t717 = load ptr, ptr %t716 %t718 = call i32 @fn_is_fp(ptr %t717) %t719 = icmp ne i32 %t718, 0 br i1 %t719, label %then146, label %ifend148 then146: %t720 = load ptr, ptr %t714 %t721 = call ptr @fn_emit_fp_to_int(ptr %t720) store ptr %t721, ptr %retval br label %ret ifend148: %t722 = load ptr, ptr %t714 %t723 = getelementptr inbounds %Cmp_Val, ptr %t722, i32 0, i32 1 %t724 = load ptr, ptr %t723 %t725 = call i32 @lp_str_eq(ptr %t724, ptr @.str9174) %t726 = icmp ne i32 %t725, 0 br i1 %t726, label %then149, label %ifend151 then149: %t727 = load ptr, ptr %t714 %t728 = getelementptr inbounds %Cmp_Val, ptr %t727, i32 0, i32 0 %t729 = load ptr, ptr %t728 %t730 = call ptr @lp_str_concat(ptr @.str9175, ptr %t729) %t731 = call ptr @lp_str_concat(ptr %t730, ptr @.str9176) %t732 = call ptr @fn_emit_bind(ptr %t731) %t733 = call ptr @fn_val(ptr %t732, ptr @.str9177) store ptr %t733, ptr %retval br label %ret ifend151: %t734 = load ptr, ptr %t714 %t735 = getelementptr inbounds %Cmp_Val, ptr %t734, i32 0, i32 1 %t736 = load ptr, ptr %t735 %t737 = call ptr @fn_llty(ptr %t736) %t738 = call i32 @lp_str_eq(ptr %t737, ptr @.str9178) %t739 = icmp ne i32 %t738, 0 br i1 %t739, label %then152, label %ifend154 then152: %t740 = load ptr, ptr %t714 %t741 = getelementptr inbounds %Cmp_Val, ptr %t740, i32 0, i32 0 %t742 = load ptr, ptr %t741 %t743 = call ptr @lp_str_concat(ptr @.str9179, ptr %t742) %t744 = call ptr @lp_str_concat(ptr %t743, ptr @.str9180) %t745 = call ptr @fn_emit_bind(ptr %t744) %t746 = call ptr @fn_val(ptr %t745, ptr @.str9181) store ptr %t746, ptr %retval br label %ret ifend154: %t747 = load ptr, ptr %t714 %t748 = getelementptr inbounds %Cmp_Val, ptr %t747, i32 0, i32 0 %t749 = load ptr, ptr %t748 %t750 = call ptr @fn_val(ptr %t749, ptr @.str9182) store ptr %t750, ptr %retval br label %ret ifend145: %t753 = load ptr, ptr %t38 %t754 = call i32 @lp_str_eq(ptr %t753, ptr @.str9183) %t755 = icmp ne i32 %t754, 0 %t756 = zext i1 %t755 to i32 store i32 %t756, ptr %t752 br i1 %t755, label %sc155, label %scend156 sc155: %t757 = load ptr, ptr %t38 %t758 = call ptr @fn_find_fn(ptr %t757) %t759 = icmp eq ptr %t758, null %t760 = zext i1 %t759 to i32 %t761 = icmp ne i32 %t760, 0 %t762 = zext i1 %t761 to i32 store i32 %t762, ptr %t752 br label %scend156 scend156: %t763 = load i32, ptr %t752 %t764 = icmp ne i32 %t763, 0 %t765 = zext i1 %t764 to i32 store i32 %t765, ptr %t751 br i1 %t764, label %sc157, label %scend158 sc157: %t766 = load ptr, ptr %t0 %t767 = getelementptr inbounds %Cmp_Node, ptr %t766, i32 0, i32 7 %t768 = load ptr, ptr %t767 %t769 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 1 %t770 = load i32, ptr %t769 %t771 = icmp eq i32 %t770, 1 %t772 = zext i1 %t771 to i32 %t773 = icmp ne i32 %t772, 0 %t774 = zext i1 %t773 to i32 store i32 %t774, ptr %t751 br label %scend158 scend158: %t775 = load i32, ptr %t751 %t776 = icmp ne i32 %t775, 0 br i1 %t776, label %then159, label %ifend161 then159: %t777 = load ptr, ptr %t0 %t778 = getelementptr inbounds %Cmp_Node, ptr %t777, i32 0, i32 7 %t779 = load ptr, ptr %t778 %t780 = getelementptr inbounds %LSlice, ptr %t779, i32 0, i32 0 %t781 = load ptr, ptr %t780 %t782 = getelementptr inbounds ptr, ptr %t781, i32 0 %t783 = load ptr, ptr %t782 %t784 = call ptr @fn_emit_expr(ptr %t783) store ptr %t784, ptr %t785 %t786 = load ptr, ptr %t785 %t787 = getelementptr inbounds %Cmp_Val, ptr %t786, i32 0, i32 1 %t788 = load ptr, ptr %t787 %t789 = call i32 @fn_is_fp(ptr %t788) %t790 = icmp ne i32 %t789, 0 br i1 %t790, label %then162, label %ifend164 then162: %t791 = load ptr, ptr %t785 %t792 = call ptr @fn_emit_fp_to_long(ptr %t791) store ptr %t792, ptr %retval br label %ret ifend164: %t793 = load ptr, ptr %t785 %t794 = call ptr @fn_to_long(ptr %t793) %t795 = call ptr @fn_val(ptr %t794, ptr @.str9184) store ptr %t795, ptr %retval br label %ret ifend161: %t797 = load ptr, ptr %t38 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str9185) %t799 = icmp ne i32 %t798, 0 %t800 = zext i1 %t799 to i32 store i32 %t800, ptr %t796 br i1 %t799, label %sc165, label %scend166 sc165: %t801 = load ptr, ptr %t38 %t802 = call ptr @fn_find_fn(ptr %t801) %t803 = icmp eq ptr %t802, null %t804 = zext i1 %t803 to i32 %t805 = icmp ne i32 %t804, 0 %t806 = zext i1 %t805 to i32 store i32 %t806, ptr %t796 br label %scend166 scend166: %t807 = load i32, ptr %t796 %t808 = icmp ne i32 %t807, 0 br i1 %t808, label %then167, label %ifend169 then167: %t809 = load ptr, ptr %t0 %t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 7 %t811 = load ptr, ptr %t810 %t812 = getelementptr inbounds %LSlice, ptr %t811, i32 0, i32 0 %t813 = load ptr, ptr %t812 %t814 = getelementptr inbounds ptr, ptr %t813, i32 0 %t815 = load ptr, ptr %t814 %t816 = call ptr @fn_emit_expr(ptr %t815) %t817 = call ptr @fn_emit_float_bits(ptr %t816) store ptr %t817, ptr %retval br label %ret ifend169: %t819 = load ptr, ptr %t38 %t820 = call i32 @lp_str_eq(ptr %t819, ptr @.str9186) %t821 = icmp ne i32 %t820, 0 %t822 = zext i1 %t821 to i32 store i32 %t822, ptr %t818 br i1 %t821, label %sc170, label %scend171 sc170: %t823 = load ptr, ptr %t38 %t824 = call ptr @fn_find_fn(ptr %t823) %t825 = icmp eq ptr %t824, null %t826 = zext i1 %t825 to i32 %t827 = icmp ne i32 %t826, 0 %t828 = zext i1 %t827 to i32 store i32 %t828, ptr %t818 br label %scend171 scend171: %t829 = load i32, ptr %t818 %t830 = icmp ne i32 %t829, 0 br i1 %t830, label %then172, label %ifend174 then172: %t831 = load ptr, ptr %t0 %t832 = getelementptr inbounds %Cmp_Node, ptr %t831, i32 0, i32 7 %t833 = load ptr, ptr %t832 %t834 = getelementptr inbounds %LSlice, ptr %t833, i32 0, i32 0 %t835 = load ptr, ptr %t834 %t836 = getelementptr inbounds ptr, ptr %t835, i32 0 %t837 = load ptr, ptr %t836 %t838 = call ptr @fn_emit_expr(ptr %t837) %t839 = call ptr @fn_emit_float_from_bits(ptr %t838) store ptr %t839, ptr %retval br label %ret ifend174: %t841 = load ptr, ptr %t38 %t842 = call i32 @lp_str_eq(ptr %t841, ptr @.str9187) %t843 = icmp ne i32 %t842, 0 %t844 = zext i1 %t843 to i32 store i32 %t844, ptr %t840 br i1 %t843, label %sc175, label %scend176 sc175: %t845 = load ptr, ptr %t38 %t846 = call ptr @fn_find_fn(ptr %t845) %t847 = icmp eq ptr %t846, null %t848 = zext i1 %t847 to i32 %t849 = icmp ne i32 %t848, 0 %t850 = zext i1 %t849 to i32 store i32 %t850, ptr %t840 br label %scend176 scend176: %t851 = load i32, ptr %t840 %t852 = icmp ne i32 %t851, 0 br i1 %t852, label %then177, label %ifend179 then177: %t853 = load ptr, ptr %t0 %t854 = getelementptr inbounds %Cmp_Node, ptr %t853, i32 0, i32 7 %t855 = load ptr, ptr %t854 %t856 = getelementptr inbounds %LSlice, ptr %t855, i32 0, i32 0 %t857 = load ptr, ptr %t856 %t858 = getelementptr inbounds ptr, ptr %t857, i32 0 %t859 = load ptr, ptr %t858 %t860 = call ptr @fn_emit_expr(ptr %t859) %t861 = call ptr @fn_emit_double_bits(ptr %t860) store ptr %t861, ptr %retval br label %ret ifend179: %t863 = load ptr, ptr %t38 %t864 = call i32 @lp_str_eq(ptr %t863, ptr @.str9188) %t865 = icmp ne i32 %t864, 0 %t866 = zext i1 %t865 to i32 store i32 %t866, ptr %t862 br i1 %t865, label %sc180, label %scend181 sc180: %t867 = load ptr, ptr %t38 %t868 = call ptr @fn_find_fn(ptr %t867) %t869 = icmp eq ptr %t868, null %t870 = zext i1 %t869 to i32 %t871 = icmp ne i32 %t870, 0 %t872 = zext i1 %t871 to i32 store i32 %t872, ptr %t862 br label %scend181 scend181: %t873 = load i32, ptr %t862 %t874 = icmp ne i32 %t873, 0 br i1 %t874, label %then182, label %ifend184 then182: %t875 = load ptr, ptr %t0 %t876 = getelementptr inbounds %Cmp_Node, ptr %t875, i32 0, i32 7 %t877 = load ptr, ptr %t876 %t878 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 0 %t879 = load ptr, ptr %t878 %t880 = getelementptr inbounds ptr, ptr %t879, i32 0 %t881 = load ptr, ptr %t880 %t882 = call ptr @fn_emit_expr(ptr %t881) %t883 = call ptr @fn_emit_double_from_bits(ptr %t882) store ptr %t883, ptr %retval br label %ret ifend184: %t886 = load ptr, ptr %t38 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str9189) %t888 = icmp ne i32 %t887, 0 %t889 = zext i1 %t888 to i32 store i32 %t889, ptr %t885 br i1 %t888, label %scend186, label %sc185 sc185: %t890 = load ptr, ptr %t38 %t891 = call i32 @lp_str_eq(ptr %t890, ptr @.str9190) %t892 = icmp ne i32 %t891, 0 %t893 = zext i1 %t892 to i32 store i32 %t893, ptr %t885 br label %scend186 scend186: %t894 = load i32, ptr %t885 %t895 = icmp ne i32 %t894, 0 %t896 = zext i1 %t895 to i32 store i32 %t896, ptr %t884 br i1 %t895, label %sc187, label %scend188 sc187: %t897 = load ptr, ptr %t38 %t898 = call ptr @fn_find_fn(ptr %t897) %t899 = icmp eq ptr %t898, null %t900 = zext i1 %t899 to i32 %t901 = icmp ne i32 %t900, 0 %t902 = zext i1 %t901 to i32 store i32 %t902, ptr %t884 br label %scend188 scend188: %t903 = load i32, ptr %t884 %t904 = icmp ne i32 %t903, 0 br i1 %t904, label %then189, label %ifend191 then189: store ptr @.str9191, ptr %t905 %t906 = load ptr, ptr %t38 %t907 = call i32 @lp_str_eq(ptr %t906, ptr @.str9192) %t908 = icmp ne i32 %t907, 0 br i1 %t908, label %then192, label %ifend194 then192: store ptr @.str9193, ptr %t905 br label %ifend194 ifend194: %t909 = load ptr, ptr %t905 %t910 = load ptr, ptr %t0 %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 7 %t912 = load ptr, ptr %t911 %t913 = getelementptr inbounds %LSlice, ptr %t912, i32 0, i32 0 %t914 = load ptr, ptr %t913 %t915 = getelementptr inbounds ptr, ptr %t914, i32 0 %t916 = load ptr, ptr %t915 %t917 = call ptr @fn_emit_expr(ptr %t916) %t918 = call ptr @fn_emit_fp_buffer(ptr %t909, ptr %t917) store ptr %t918, ptr %retval br label %ret ifend191: %t919 = load ptr, ptr %t38 %t920 = call i32 @lp_str_eq(ptr %t919, ptr @.str9194) %t921 = icmp ne i32 %t920, 0 br i1 %t921, label %then195, label %ifend197 then195: %t922 = load ptr, ptr %t0 %t923 = getelementptr inbounds %Cmp_Node, ptr %t922, i32 0, i32 7 %t924 = load ptr, ptr %t923 %t925 = getelementptr inbounds %LSlice, ptr %t924, i32 0, i32 0 %t926 = load ptr, ptr %t925 %t927 = getelementptr inbounds ptr, ptr %t926, i32 0 %t928 = load ptr, ptr %t927 %t929 = call ptr @fn_emit_expr(ptr %t928) store ptr %t929, ptr %t930 %t931 = load ptr, ptr %t930 %t932 = getelementptr inbounds %Cmp_Val, ptr %t931, i32 0, i32 0 %t933 = load ptr, ptr %t932 %t934 = call ptr @lp_str_concat(ptr @.str9195, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str9196) %t936 = call ptr @fn_emit_bind(ptr %t935) %t937 = call ptr @fn_val(ptr %t936, ptr @.str9197) store ptr %t937, ptr %retval br label %ret ifend197: %t938 = load ptr, ptr %t38 %t939 = call i32 @lp_str_eq(ptr %t938, ptr @.str9198) %t940 = icmp ne i32 %t939, 0 br i1 %t940, label %then198, label %ifend200 then198: store i32 1, ptr @g_g_uses_expect %t941 = load ptr, ptr %t0 %t942 = getelementptr inbounds %Cmp_Node, ptr %t941, i32 0, i32 7 %t943 = load ptr, ptr %t942 %t944 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 0 %t945 = load ptr, ptr %t944 %t946 = getelementptr inbounds ptr, ptr %t945, i32 0 %t947 = load ptr, ptr %t946 %t948 = call ptr @fn_emit_expr(ptr %t947) store ptr %t948, ptr %t949 %t950 = load ptr, ptr %t949 %t951 = getelementptr inbounds %Cmp_Val, ptr %t950, i32 0, i32 0 %t952 = load ptr, ptr %t951 %t953 = call ptr @lp_str_concat(ptr @.str9199, ptr %t952) %t954 = call ptr @lp_str_concat(ptr %t953, ptr @.str9200) %t955 = call ptr @fn_emit_bind(ptr %t954) store ptr %t955, ptr %t956 %t957 = load ptr, ptr @g_g_src_name %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str9201) %t959 = load ptr, ptr %t0 %t960 = getelementptr inbounds %Cmp_Node, ptr %t959, i32 0, i32 8 %t961 = load i32, ptr %t960 %t962 = call ptr @fn_itoa(i32 %t961) %t963 = call ptr @lp_str_concat(ptr %t958, ptr %t962) %t964 = call ptr @lp_str_concat(ptr %t963, ptr @.str9202) %t965 = call ptr @fn_emit_str_const(ptr %t964) store ptr %t965, ptr %t966 %t967 = load ptr, ptr %t956 %t968 = load ptr, ptr %t966 call void @fn_emit_expect_fail(ptr %t967, ptr %t968, ptr @.str9203, ptr @.str9204) %t969 = call ptr @fn_val(ptr @.str9205, ptr @.str9206) store ptr %t969, ptr %retval br label %ret ifend200: %t970 = load ptr, ptr %t38 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str9207) %t972 = icmp ne i32 %t971, 0 br i1 %t972, label %then201, label %ifend203 then201: store i32 1, ptr @g_g_uses_expect %t973 = load ptr, ptr %t0 %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 ptr, ptr %t977, i32 0 %t979 = load ptr, ptr %t978 %t980 = call ptr @fn_emit_expr(ptr %t979) store ptr %t980, ptr %t981 %t982 = load ptr, ptr %t0 %t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 7 %t984 = load ptr, ptr %t983 %t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0 %t986 = load ptr, ptr %t985 %t987 = getelementptr inbounds ptr, ptr %t986, i32 1 %t988 = load ptr, ptr %t987 %t989 = call ptr @fn_emit_expr(ptr %t988) store ptr %t989, ptr %t990 %t991 = load ptr, ptr %t981 %t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0 %t993 = load ptr, ptr %t992 %t994 = call ptr @lp_str_concat(ptr @.str9208, ptr %t993) %t995 = call ptr @lp_str_concat(ptr %t994, ptr @.str9209) %t996 = load ptr, ptr %t990 %t997 = getelementptr inbounds %Cmp_Val, ptr %t996, i32 0, i32 0 %t998 = load ptr, ptr %t997 %t999 = call ptr @lp_str_concat(ptr %t995, ptr %t998) %t1000 = call ptr @fn_emit_bind(ptr %t999) store ptr %t1000, ptr %t1001 %t1002 = load ptr, ptr @g_g_src_name %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str9210) %t1004 = load ptr, ptr %t0 %t1005 = getelementptr inbounds %Cmp_Node, ptr %t1004, i32 0, i32 8 %t1006 = load i32, ptr %t1005 %t1007 = call ptr @fn_itoa(i32 %t1006) %t1008 = call ptr @lp_str_concat(ptr %t1003, ptr %t1007) %t1009 = call ptr @lp_str_concat(ptr %t1008, ptr @.str9211) %t1010 = call ptr @fn_emit_str_const(ptr %t1009) store ptr %t1010, ptr %t1011 %t1012 = load ptr, ptr %t1001 %t1013 = load ptr, ptr %t1011 %t1014 = load ptr, ptr %t981 %t1015 = getelementptr inbounds %Cmp_Val, ptr %t1014, i32 0, i32 0 %t1016 = load ptr, ptr %t1015 %t1017 = load ptr, ptr %t990 %t1018 = getelementptr inbounds %Cmp_Val, ptr %t1017, i32 0, i32 0 %t1019 = load ptr, ptr %t1018 call void @fn_emit_expect_fail(ptr %t1012, ptr %t1013, ptr %t1016, ptr %t1019) %t1020 = call ptr @fn_val(ptr @.str9212, ptr @.str9213) store ptr %t1020, ptr %retval br label %ret ifend203: %t1021 = load ptr, ptr %t38 %t1022 = call i32 @lp_str_eq(ptr %t1021, ptr @.str9214) %t1023 = icmp ne i32 %t1022, 0 br i1 %t1023, label %then204, label %ifend206 then204: store i32 1, ptr @g_g_uses_expect %t1024 = load ptr, ptr %t0 %t1025 = getelementptr inbounds %Cmp_Node, ptr %t1024, i32 0, i32 7 %t1026 = load ptr, ptr %t1025 %t1027 = getelementptr inbounds %LSlice, ptr %t1026, i32 0, i32 0 %t1028 = load ptr, ptr %t1027 %t1029 = getelementptr inbounds ptr, ptr %t1028, i32 0 %t1030 = load ptr, ptr %t1029 %t1031 = call ptr @fn_emit_expr(ptr %t1030) store ptr %t1031, ptr %t1032 %t1033 = load ptr, ptr %t0 %t1034 = getelementptr inbounds %Cmp_Node, ptr %t1033, i32 0, i32 7 %t1035 = load ptr, ptr %t1034 %t1036 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 0 %t1037 = load ptr, ptr %t1036 %t1038 = getelementptr inbounds ptr, ptr %t1037, i32 1 %t1039 = load ptr, ptr %t1038 %t1040 = call ptr @fn_emit_expr(ptr %t1039) store ptr %t1040, ptr %t1041 %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 ptr, ptr %t1046, i32 2 %t1048 = load ptr, ptr %t1047 %t1049 = call ptr @fn_emit_expr(ptr %t1048) store ptr %t1049, ptr %t1050 %t1051 = load ptr, ptr %t1032 %t1052 = getelementptr inbounds %Cmp_Val, ptr %t1051, i32 0, i32 0 %t1053 = load ptr, ptr %t1052 %t1054 = call ptr @lp_str_concat(ptr @.str9215, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str9216) %t1056 = load ptr, ptr %t1041 %t1057 = getelementptr inbounds %Cmp_Val, ptr %t1056, i32 0, i32 0 %t1058 = load ptr, ptr %t1057 %t1059 = call ptr @lp_str_concat(ptr %t1055, ptr %t1058) %t1060 = call ptr @fn_emit_bind(ptr %t1059) store ptr %t1060, ptr %t1061 %t1062 = load ptr, ptr %t1061 %t1063 = call ptr @lp_str_concat(ptr @.str9217, ptr %t1062) %t1064 = call ptr @fn_emit_bind(ptr %t1063) store ptr %t1064, ptr %t1065 %t1066 = load ptr, ptr %t1061 %t1067 = call ptr @lp_str_concat(ptr @.str9218, ptr %t1066) %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str9219) %t1069 = call ptr @fn_emit_bind(ptr %t1068) store ptr %t1069, ptr %t1070 %t1071 = load ptr, ptr %t1070 %t1072 = call ptr @lp_str_concat(ptr @.str9220, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str9221) %t1074 = load ptr, ptr %t1065 %t1075 = call ptr @lp_str_concat(ptr %t1073, ptr %t1074) %t1076 = call ptr @lp_str_concat(ptr %t1075, ptr @.str9222) %t1077 = load ptr, ptr %t1061 %t1078 = call ptr @lp_str_concat(ptr %t1076, ptr %t1077) %t1079 = call ptr @fn_emit_bind(ptr %t1078) store ptr %t1079, ptr %t1080 %t1081 = load ptr, ptr %t1080 %t1082 = call ptr @lp_str_concat(ptr @.str9223, ptr %t1081) %t1083 = call ptr @lp_str_concat(ptr %t1082, ptr @.str9224) %t1084 = load ptr, ptr %t1050 %t1085 = getelementptr inbounds %Cmp_Val, ptr %t1084, i32 0, i32 0 %t1086 = load ptr, ptr %t1085 %t1087 = call ptr @lp_str_concat(ptr %t1083, ptr %t1086) %t1088 = call ptr @fn_emit_bind(ptr %t1087) store ptr %t1088, ptr %t1089 %t1090 = load ptr, ptr @g_g_src_name %t1091 = call ptr @lp_str_concat(ptr %t1090, ptr @.str9225) %t1092 = load ptr, ptr %t0 %t1093 = getelementptr inbounds %Cmp_Node, ptr %t1092, i32 0, i32 8 %t1094 = load i32, ptr %t1093 %t1095 = call ptr @fn_itoa(i32 %t1094) %t1096 = call ptr @lp_str_concat(ptr %t1091, ptr %t1095) %t1097 = call ptr @lp_str_concat(ptr %t1096, ptr @.str9226) %t1098 = call ptr @fn_emit_str_const(ptr %t1097) store ptr %t1098, ptr %t1099 %t1100 = load ptr, ptr %t1089 %t1101 = load ptr, ptr %t1099 %t1102 = load ptr, ptr %t1032 %t1103 = getelementptr inbounds %Cmp_Val, ptr %t1102, i32 0, i32 0 %t1104 = load ptr, ptr %t1103 %t1105 = load ptr, ptr %t1041 %t1106 = getelementptr inbounds %Cmp_Val, ptr %t1105, i32 0, i32 0 %t1107 = load ptr, ptr %t1106 call void @fn_emit_expect_fail(ptr %t1100, ptr %t1101, ptr %t1104, ptr %t1107) %t1108 = call ptr @fn_val(ptr @.str9227, ptr @.str9228) store ptr %t1108, ptr %retval br label %ret ifend206: %t1109 = load ptr, ptr %t38 %t1110 = call i32 @lp_str_eq(ptr %t1109, ptr @.str9229) %t1111 = icmp ne i32 %t1110, 0 br i1 %t1111, label %then207, label %ifend209 then207: store i32 1, ptr @g_g_uses_panic %t1112 = load ptr, ptr %t0 %t1113 = getelementptr inbounds %Cmp_Node, ptr %t1112, i32 0, i32 7 %t1114 = load ptr, ptr %t1113 %t1115 = getelementptr inbounds %LSlice, ptr %t1114, i32 0, i32 0 %t1116 = load ptr, ptr %t1115 %t1117 = getelementptr inbounds ptr, ptr %t1116, i32 0 %t1118 = load ptr, ptr %t1117 %t1119 = call ptr @fn_emit_expr(ptr %t1118) store ptr %t1119, ptr %t1120 %t1121 = load ptr, ptr @g_g_src_name %t1122 = call ptr @lp_str_concat(ptr %t1121, ptr @.str9230) %t1123 = load ptr, ptr %t0 %t1124 = getelementptr inbounds %Cmp_Node, ptr %t1123, i32 0, i32 8 %t1125 = load i32, ptr %t1124 %t1126 = call ptr @fn_itoa(i32 %t1125) %t1127 = call ptr @lp_str_concat(ptr %t1122, ptr %t1126) %t1128 = call ptr @lp_str_concat(ptr %t1127, ptr @.str9231) %t1129 = call ptr @fn_emit_str_const(ptr %t1128) store ptr %t1129, ptr %t1130 %t1131 = call ptr @fn_stdstream_rhs(i32 2) %t1132 = call ptr @fn_emit_bind(ptr %t1131) store ptr %t1132, ptr %t1133 %t1134 = load ptr, ptr %t1133 %t1135 = call ptr @lp_str_concat(ptr @.str9232, ptr %t1134) %t1136 = call ptr @lp_str_concat(ptr %t1135, ptr @.str9233) %t1137 = load ptr, ptr %t1130 %t1138 = call ptr @lp_str_concat(ptr %t1136, ptr %t1137) %t1139 = call ptr @lp_str_concat(ptr %t1138, ptr @.str9234) %t1140 = load ptr, ptr %t1120 %t1141 = getelementptr inbounds %Cmp_Val, ptr %t1140, i32 0, i32 0 %t1142 = load ptr, ptr %t1141 %t1143 = call ptr @lp_str_concat(ptr %t1139, ptr %t1142) %t1144 = call ptr @lp_str_concat(ptr %t1143, ptr @.str9235) call void @fn_emit(ptr %t1144) call void @fn_emit(ptr @.str9236) store i32 1, ptr @g_g_term %t1145 = call ptr @fn_val(ptr @.str9237, ptr @.str9238) store ptr %t1145, ptr %retval br label %ret ifend209: %t1146 = load ptr, ptr %t38 %t1147 = call i32 @lp_str_eq(ptr %t1146, ptr @.str9239) %t1148 = icmp ne i32 %t1147, 0 br i1 %t1148, label %then210, label %ifend212 then210: store i32 1, ptr @g_g_uses_panic %t1149 = load ptr, ptr %t0 %t1150 = getelementptr inbounds %Cmp_Node, ptr %t1149, i32 0, i32 7 %t1151 = load ptr, ptr %t1150 %t1152 = getelementptr inbounds %LSlice, ptr %t1151, i32 0, i32 0 %t1153 = load ptr, ptr %t1152 %t1154 = getelementptr inbounds ptr, ptr %t1153, i32 0 %t1155 = load ptr, ptr %t1154 %t1156 = call ptr @fn_emit_expr(ptr %t1155) store ptr %t1156, ptr %t1157 %t1158 = load ptr, ptr %t1157 %t1159 = getelementptr inbounds %Cmp_Val, ptr %t1158, i32 0, i32 0 %t1160 = load ptr, ptr %t1159 %t1161 = call ptr @lp_str_concat(ptr @.str9240, ptr %t1160) %t1162 = call ptr @lp_str_concat(ptr %t1161, ptr @.str9241) %t1163 = call ptr @fn_emit_bind(ptr %t1162) store ptr %t1163, ptr %t1164 %t1165 = call ptr @fn_lbl(ptr @.str9242) store ptr %t1165, ptr %t1166 %t1167 = call ptr @fn_lbl(ptr @.str9243) store ptr %t1167, ptr %t1168 %t1169 = load ptr, ptr %t1164 %t1170 = call ptr @lp_str_concat(ptr @.str9244, ptr %t1169) %t1171 = call ptr @lp_str_concat(ptr %t1170, ptr @.str9245) %t1172 = load ptr, ptr %t1166 %t1173 = call ptr @lp_str_concat(ptr %t1171, ptr %t1172) %t1174 = call ptr @lp_str_concat(ptr %t1173, ptr @.str9246) %t1175 = load ptr, ptr %t1168 %t1176 = call ptr @lp_str_concat(ptr %t1174, ptr %t1175) %t1177 = call ptr @lp_str_concat(ptr %t1176, ptr @.str9247) call void @fn_emit(ptr %t1177) %t1178 = load ptr, ptr %t1168 %t1179 = call ptr @lp_str_concat(ptr %t1178, ptr @.str9248) call void @fn_emit(ptr %t1179) %t1180 = load ptr, ptr %t0 %t1181 = getelementptr inbounds %Cmp_Node, ptr %t1180, i32 0, i32 7 %t1182 = load ptr, ptr %t1181 %t1183 = getelementptr inbounds %LSlice, ptr %t1182, i32 0, i32 0 %t1184 = load ptr, ptr %t1183 %t1185 = getelementptr inbounds ptr, ptr %t1184, i32 1 %t1186 = load ptr, ptr %t1185 %t1187 = call ptr @fn_emit_expr(ptr %t1186) store ptr %t1187, ptr %t1188 %t1189 = load ptr, ptr @g_g_src_name %t1190 = call ptr @lp_str_concat(ptr %t1189, ptr @.str9249) %t1191 = load ptr, ptr %t0 %t1192 = getelementptr inbounds %Cmp_Node, ptr %t1191, i32 0, i32 8 %t1193 = load i32, ptr %t1192 %t1194 = call ptr @fn_itoa(i32 %t1193) %t1195 = call ptr @lp_str_concat(ptr %t1190, ptr %t1194) %t1196 = call ptr @lp_str_concat(ptr %t1195, ptr @.str9250) %t1197 = call ptr @fn_emit_str_const(ptr %t1196) store ptr %t1197, ptr %t1198 %t1199 = call ptr @fn_stdstream_rhs(i32 2) %t1200 = call ptr @fn_emit_bind(ptr %t1199) store ptr %t1200, ptr %t1201 %t1202 = load ptr, ptr %t1201 %t1203 = call ptr @lp_str_concat(ptr @.str9251, ptr %t1202) %t1204 = call ptr @lp_str_concat(ptr %t1203, ptr @.str9252) %t1205 = load ptr, ptr %t1198 %t1206 = call ptr @lp_str_concat(ptr %t1204, ptr %t1205) %t1207 = call ptr @lp_str_concat(ptr %t1206, ptr @.str9253) %t1208 = load ptr, ptr %t1188 %t1209 = getelementptr inbounds %Cmp_Val, ptr %t1208, i32 0, i32 0 %t1210 = load ptr, ptr %t1209 %t1211 = call ptr @lp_str_concat(ptr %t1207, ptr %t1210) %t1212 = call ptr @lp_str_concat(ptr %t1211, ptr @.str9254) call void @fn_emit(ptr %t1212) call void @fn_emit(ptr @.str9255) %t1213 = load ptr, ptr %t1166 %t1214 = call ptr @lp_str_concat(ptr %t1213, ptr @.str9256) call void @fn_emit(ptr %t1214) %t1215 = call ptr @fn_val(ptr @.str9257, ptr @.str9258) store ptr %t1215, ptr %retval br label %ret ifend212: %t1217 = load ptr, ptr %t38 %t1218 = call i32 @lp_str_eq(ptr %t1217, ptr @.str9259) %t1219 = icmp ne i32 %t1218, 0 %t1220 = zext i1 %t1219 to i32 store i32 %t1220, ptr %t1216 br i1 %t1219, label %sc213, label %scend214 sc213: %t1221 = call ptr @fn_find_fn(ptr @.str9260) %t1222 = icmp eq ptr %t1221, null %t1223 = zext i1 %t1222 to i32 %t1224 = icmp ne i32 %t1223, 0 %t1225 = zext i1 %t1224 to i32 store i32 %t1225, ptr %t1216 br label %scend214 scend214: %t1226 = load i32, ptr %t1216 %t1227 = icmp ne i32 %t1226, 0 br i1 %t1227, label %then215, label %ifend217 then215: store i32 1, ptr @g_g_uses_result %t1228 = load ptr, ptr %t0 %t1229 = getelementptr inbounds %Cmp_Node, ptr %t1228, i32 0, i32 7 %t1230 = load ptr, ptr %t1229 %t1231 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 0 %t1232 = load ptr, ptr %t1231 %t1233 = getelementptr inbounds ptr, ptr %t1232, i32 0 %t1234 = load ptr, ptr %t1233 %t1235 = call ptr @fn_emit_expr(ptr %t1234) store ptr %t1235, ptr %t1236 %t1237 = call ptr @fn_emit_bind(ptr @.str9261) store ptr %t1237, ptr %t1238 %t1239 = load ptr, ptr %t1238 %t1240 = call ptr @lp_str_concat(ptr @.str9262, ptr %t1239) %t1241 = call ptr @lp_str_concat(ptr %t1240, ptr @.str9263) %t1242 = call ptr @fn_emit_bind(ptr %t1241) store ptr %t1242, ptr %t1243 %t1244 = load ptr, ptr %t1243 %t1245 = call ptr @lp_str_concat(ptr @.str9264, ptr %t1244) %t1246 = call ptr @lp_str_concat(ptr %t1245, ptr @.str9265) call void @fn_emit(ptr %t1246) %t1247 = load ptr, ptr %t1238 %t1248 = call ptr @lp_str_concat(ptr @.str9266, ptr %t1247) %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str9267) %t1250 = call ptr @fn_emit_bind(ptr %t1249) store ptr %t1250, ptr %t1251 %t1252 = load ptr, ptr %t1236 %t1253 = call ptr @fn_coerce_code(ptr %t1252, ptr @.str9269) %t1254 = call ptr @lp_str_concat(ptr @.str9268, ptr %t1253) %t1255 = call ptr @lp_str_concat(ptr %t1254, ptr @.str9270) %t1256 = load ptr, ptr %t1251 %t1257 = call ptr @lp_str_concat(ptr %t1255, ptr %t1256) %t1258 = call ptr @lp_str_concat(ptr %t1257, ptr @.str9271) call void @fn_emit(ptr %t1258) %t1259 = load ptr, ptr %t1238 %t1260 = call ptr @lp_str_concat(ptr @.str9272, ptr %t1259) %t1261 = call ptr @lp_str_concat(ptr %t1260, ptr @.str9273) %t1262 = call ptr @fn_emit_bind(ptr %t1261) store ptr %t1262, ptr %t1263 %t1264 = load ptr, ptr %t1263 %t1265 = call ptr @lp_str_concat(ptr @.str9274, ptr %t1264) %t1266 = call ptr @lp_str_concat(ptr %t1265, ptr @.str9275) call void @fn_emit(ptr %t1266) %t1267 = load ptr, ptr %t1238 %t1268 = call ptr @fn_val(ptr %t1267, ptr @.str9276) store ptr %t1268, ptr %retval br label %ret ifend217: %t1270 = load ptr, ptr %t38 %t1271 = call i32 @lp_str_eq(ptr %t1270, ptr @.str9277) %t1272 = icmp ne i32 %t1271, 0 %t1273 = zext i1 %t1272 to i32 store i32 %t1273, ptr %t1269 br i1 %t1272, label %sc218, label %scend219 sc218: %t1274 = call ptr @fn_find_fn(ptr @.str9278) %t1275 = icmp eq ptr %t1274, null %t1276 = zext i1 %t1275 to i32 %t1277 = icmp ne i32 %t1276, 0 %t1278 = zext i1 %t1277 to i32 store i32 %t1278, ptr %t1269 br label %scend219 scend219: %t1279 = load i32, ptr %t1269 %t1280 = icmp ne i32 %t1279, 0 br i1 %t1280, label %then220, label %ifend222 then220: store i32 1, ptr @g_g_uses_result %t1281 = load ptr, ptr %t0 %t1282 = getelementptr inbounds %Cmp_Node, ptr %t1281, i32 0, i32 7 %t1283 = load ptr, ptr %t1282 %t1284 = getelementptr inbounds %LSlice, ptr %t1283, i32 0, i32 0 %t1285 = load ptr, ptr %t1284 %t1286 = getelementptr inbounds ptr, ptr %t1285, i32 0 %t1287 = load ptr, ptr %t1286 %t1288 = call ptr @fn_emit_expr(ptr %t1287) store ptr %t1288, ptr %t1289 %t1290 = call ptr @fn_emit_bind(ptr @.str9279) store ptr %t1290, ptr %t1291 %t1292 = load ptr, ptr %t1291 %t1293 = call ptr @lp_str_concat(ptr @.str9280, ptr %t1292) %t1294 = call ptr @lp_str_concat(ptr %t1293, ptr @.str9281) %t1295 = call ptr @fn_emit_bind(ptr %t1294) store ptr %t1295, ptr %t1296 %t1297 = load ptr, ptr %t1296 %t1298 = call ptr @lp_str_concat(ptr @.str9282, ptr %t1297) %t1299 = call ptr @lp_str_concat(ptr %t1298, ptr @.str9283) call void @fn_emit(ptr %t1299) %t1300 = load ptr, ptr %t1291 %t1301 = call ptr @lp_str_concat(ptr @.str9284, ptr %t1300) %t1302 = call ptr @lp_str_concat(ptr %t1301, ptr @.str9285) %t1303 = call ptr @fn_emit_bind(ptr %t1302) store ptr %t1303, ptr %t1304 %t1305 = load ptr, ptr %t1304 %t1306 = call ptr @lp_str_concat(ptr @.str9286, ptr %t1305) %t1307 = call ptr @lp_str_concat(ptr %t1306, ptr @.str9287) call void @fn_emit(ptr %t1307) %t1308 = load ptr, ptr %t1291 %t1309 = call ptr @lp_str_concat(ptr @.str9288, ptr %t1308) %t1310 = call ptr @lp_str_concat(ptr %t1309, ptr @.str9289) %t1311 = call ptr @fn_emit_bind(ptr %t1310) store ptr %t1311, ptr %t1312 %t1313 = load ptr, ptr %t1289 %t1314 = getelementptr inbounds %Cmp_Val, ptr %t1313, i32 0, i32 0 %t1315 = load ptr, ptr %t1314 %t1316 = call ptr @lp_str_concat(ptr @.str9290, ptr %t1315) %t1317 = call ptr @lp_str_concat(ptr %t1316, ptr @.str9291) %t1318 = load ptr, ptr %t1312 %t1319 = call ptr @lp_str_concat(ptr %t1317, ptr %t1318) %t1320 = call ptr @lp_str_concat(ptr %t1319, ptr @.str9292) call void @fn_emit(ptr %t1320) %t1321 = load ptr, ptr %t1291 %t1322 = call ptr @fn_val(ptr %t1321, ptr @.str9293) store ptr %t1322, ptr %retval br label %ret ifend222: %t1324 = load ptr, ptr %t38 %t1325 = call i32 @lp_str_eq(ptr %t1324, ptr @.str9294) %t1326 = icmp ne i32 %t1325, 0 %t1327 = zext i1 %t1326 to i32 store i32 %t1327, ptr %t1323 br i1 %t1326, label %sc223, label %scend224 sc223: %t1328 = call ptr @fn_find_fn(ptr @.str9295) %t1329 = icmp eq ptr %t1328, null %t1330 = zext i1 %t1329 to i32 %t1331 = icmp ne i32 %t1330, 0 %t1332 = zext i1 %t1331 to i32 store i32 %t1332, ptr %t1323 br label %scend224 scend224: %t1333 = load i32, ptr %t1323 %t1334 = icmp ne i32 %t1333, 0 br i1 %t1334, label %then225, label %ifend227 then225: %t1335 = load ptr, ptr %t0 %t1336 = getelementptr inbounds %Cmp_Node, ptr %t1335, i32 0, i32 7 %t1337 = load ptr, ptr %t1336 %t1338 = getelementptr inbounds %LSlice, ptr %t1337, i32 0, i32 0 %t1339 = load ptr, ptr %t1338 %t1340 = getelementptr inbounds ptr, ptr %t1339, i32 0 %t1341 = load ptr, ptr %t1340 %t1342 = call ptr @fn_emit_expr(ptr %t1341) store ptr %t1342, ptr %t1343 %t1344 = load ptr, ptr %t1343 %t1345 = getelementptr inbounds %Cmp_Val, ptr %t1344, i32 0, i32 0 %t1346 = load ptr, ptr %t1345 %t1347 = call ptr @lp_str_concat(ptr @.str9296, ptr %t1346) %t1348 = call ptr @lp_str_concat(ptr %t1347, ptr @.str9297) %t1349 = call ptr @fn_emit_bind(ptr %t1348) store ptr %t1349, ptr %t1350 %t1351 = load ptr, ptr %t1350 %t1352 = call ptr @lp_str_concat(ptr @.str9298, ptr %t1351) %t1353 = call ptr @fn_emit_bind(ptr %t1352) store ptr %t1353, ptr %t1354 %t1355 = load ptr, ptr %t1354 %t1356 = call ptr @lp_str_concat(ptr @.str9299, ptr %t1355) %t1357 = call ptr @lp_str_concat(ptr %t1356, ptr @.str9300) %t1358 = call ptr @fn_emit_bind(ptr %t1357) store ptr %t1358, ptr %t1359 %t1360 = load ptr, ptr %t1359 %t1361 = call ptr @lp_str_concat(ptr @.str9301, ptr %t1360) %t1362 = call ptr @lp_str_concat(ptr %t1361, ptr @.str9302) %t1363 = call ptr @fn_emit_bind(ptr %t1362) %t1364 = call ptr @fn_val(ptr %t1363, ptr @.str9303) store ptr %t1364, ptr %retval br label %ret ifend227: %t1366 = load ptr, ptr %t38 %t1367 = call i32 @lp_str_eq(ptr %t1366, ptr @.str9304) %t1368 = icmp ne i32 %t1367, 0 %t1369 = zext i1 %t1368 to i32 store i32 %t1369, ptr %t1365 br i1 %t1368, label %sc228, label %scend229 sc228: %t1370 = call ptr @fn_find_fn(ptr @.str9305) %t1371 = icmp eq ptr %t1370, null %t1372 = zext i1 %t1371 to i32 %t1373 = icmp ne i32 %t1372, 0 %t1374 = zext i1 %t1373 to i32 store i32 %t1374, ptr %t1365 br label %scend229 scend229: %t1375 = load i32, ptr %t1365 %t1376 = icmp ne i32 %t1375, 0 br i1 %t1376, label %then230, label %ifend232 then230: %t1377 = load ptr, ptr %t0 %t1378 = getelementptr inbounds %Cmp_Node, ptr %t1377, i32 0, i32 7 %t1379 = load ptr, ptr %t1378 %t1380 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 0 %t1381 = load ptr, ptr %t1380 %t1382 = getelementptr inbounds ptr, ptr %t1381, i32 0 %t1383 = load ptr, ptr %t1382 %t1384 = call ptr @fn_emit_expr(ptr %t1383) store ptr %t1384, ptr %t1385 %t1386 = load ptr, ptr %t1385 %t1387 = getelementptr inbounds %Cmp_Val, ptr %t1386, i32 0, i32 0 %t1388 = load ptr, ptr %t1387 %t1389 = call ptr @lp_str_concat(ptr @.str9306, ptr %t1388) %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str9307) %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 @.str9308, ptr %t1393) %t1395 = call ptr @fn_emit_bind(ptr %t1394) store ptr %t1395, ptr %t1396 %t1397 = load ptr, ptr %t1396 %t1398 = call ptr @lp_str_concat(ptr @.str9309, ptr %t1397) %t1399 = call ptr @lp_str_concat(ptr %t1398, ptr @.str9310) %t1400 = call ptr @fn_emit_bind(ptr %t1399) store ptr %t1400, ptr %t1401 %t1402 = load ptr, ptr %t1401 %t1403 = call ptr @lp_str_concat(ptr @.str9311, ptr %t1402) %t1404 = call ptr @lp_str_concat(ptr %t1403, ptr @.str9312) %t1405 = call ptr @fn_emit_bind(ptr %t1404) %t1406 = call ptr @fn_val(ptr %t1405, ptr @.str9313) store ptr %t1406, ptr %retval br label %ret ifend232: %t1408 = load ptr, ptr %t38 %t1409 = call i32 @lp_str_eq(ptr %t1408, ptr @.str9314) %t1410 = icmp ne i32 %t1409, 0 %t1411 = zext i1 %t1410 to i32 store i32 %t1411, ptr %t1407 br i1 %t1410, label %sc233, label %scend234 sc233: %t1412 = call ptr @fn_find_fn(ptr @.str9315) %t1413 = icmp eq ptr %t1412, null %t1414 = zext i1 %t1413 to i32 %t1415 = icmp ne i32 %t1414, 0 %t1416 = zext i1 %t1415 to i32 store i32 %t1416, ptr %t1407 br label %scend234 scend234: %t1417 = load i32, ptr %t1407 %t1418 = icmp ne i32 %t1417, 0 br i1 %t1418, label %then235, label %ifend237 then235: store i32 1, ptr @g_g_uses_option %t1419 = load ptr, ptr %t0 %t1420 = getelementptr inbounds %Cmp_Node, ptr %t1419, i32 0, i32 7 %t1421 = load ptr, ptr %t1420 %t1422 = getelementptr inbounds %LSlice, ptr %t1421, i32 0, i32 0 %t1423 = load ptr, ptr %t1422 %t1424 = getelementptr inbounds ptr, ptr %t1423, i32 0 %t1425 = load ptr, ptr %t1424 %t1426 = call ptr @fn_emit_expr(ptr %t1425) store ptr %t1426, ptr %t1427 %t1428 = call ptr @fn_emit_bind(ptr @.str9316) store ptr %t1428, ptr %t1429 %t1430 = load ptr, ptr %t1429 %t1431 = call ptr @lp_str_concat(ptr @.str9317, ptr %t1430) %t1432 = call ptr @lp_str_concat(ptr %t1431, ptr @.str9318) %t1433 = call ptr @fn_emit_bind(ptr %t1432) store ptr %t1433, ptr %t1434 %t1435 = load ptr, ptr %t1434 %t1436 = call ptr @lp_str_concat(ptr @.str9319, ptr %t1435) %t1437 = call ptr @lp_str_concat(ptr %t1436, ptr @.str9320) call void @fn_emit(ptr %t1437) %t1438 = load ptr, ptr %t1429 %t1439 = call ptr @lp_str_concat(ptr @.str9321, ptr %t1438) %t1440 = call ptr @lp_str_concat(ptr %t1439, ptr @.str9322) %t1441 = call ptr @fn_emit_bind(ptr %t1440) store ptr %t1441, ptr %t1442 %t1443 = load ptr, ptr %t1427 %t1444 = call ptr @fn_coerce_code(ptr %t1443, ptr @.str9324) %t1445 = call ptr @lp_str_concat(ptr @.str9323, ptr %t1444) %t1446 = call ptr @lp_str_concat(ptr %t1445, ptr @.str9325) %t1447 = load ptr, ptr %t1442 %t1448 = call ptr @lp_str_concat(ptr %t1446, ptr %t1447) %t1449 = call ptr @lp_str_concat(ptr %t1448, ptr @.str9326) call void @fn_emit(ptr %t1449) %t1450 = load ptr, ptr %t1429 %t1451 = call ptr @fn_val(ptr %t1450, ptr @.str9327) store ptr %t1451, ptr %retval br label %ret ifend237: %t1453 = load ptr, ptr %t38 %t1454 = call i32 @lp_str_eq(ptr %t1453, ptr @.str9328) %t1455 = icmp ne i32 %t1454, 0 %t1456 = zext i1 %t1455 to i32 store i32 %t1456, ptr %t1452 br i1 %t1455, label %sc238, label %scend239 sc238: %t1457 = call ptr @fn_find_fn(ptr @.str9329) %t1458 = icmp eq ptr %t1457, null %t1459 = zext i1 %t1458 to i32 %t1460 = icmp ne i32 %t1459, 0 %t1461 = zext i1 %t1460 to i32 store i32 %t1461, ptr %t1452 br label %scend239 scend239: %t1462 = load i32, ptr %t1452 %t1463 = icmp ne i32 %t1462, 0 br i1 %t1463, label %then240, label %ifend242 then240: store i32 1, ptr @g_g_uses_option %t1464 = call ptr @fn_emit_bind(ptr @.str9330) store ptr %t1464, ptr %t1465 %t1466 = load ptr, ptr %t1465 %t1467 = call ptr @lp_str_concat(ptr @.str9331, ptr %t1466) %t1468 = call ptr @lp_str_concat(ptr %t1467, ptr @.str9332) %t1469 = call ptr @fn_emit_bind(ptr %t1468) store ptr %t1469, ptr %t1470 %t1471 = load ptr, ptr %t1470 %t1472 = call ptr @lp_str_concat(ptr @.str9333, ptr %t1471) %t1473 = call ptr @lp_str_concat(ptr %t1472, ptr @.str9334) call void @fn_emit(ptr %t1473) %t1474 = load ptr, ptr %t1465 %t1475 = call ptr @lp_str_concat(ptr @.str9335, ptr %t1474) %t1476 = call ptr @lp_str_concat(ptr %t1475, ptr @.str9336) %t1477 = call ptr @fn_emit_bind(ptr %t1476) store ptr %t1477, ptr %t1478 %t1479 = load ptr, ptr %t1478 %t1480 = call ptr @lp_str_concat(ptr @.str9337, ptr %t1479) %t1481 = call ptr @lp_str_concat(ptr %t1480, ptr @.str9338) call void @fn_emit(ptr %t1481) %t1482 = load ptr, ptr %t1465 %t1483 = call ptr @fn_val(ptr %t1482, ptr @.str9339) store ptr %t1483, ptr %retval br label %ret ifend242: %t1485 = load ptr, ptr %t38 %t1486 = call i32 @lp_str_eq(ptr %t1485, ptr @.str9340) %t1487 = icmp ne i32 %t1486, 0 %t1488 = zext i1 %t1487 to i32 store i32 %t1488, ptr %t1484 br i1 %t1487, label %sc243, label %scend244 sc243: %t1489 = call ptr @fn_find_fn(ptr @.str9341) %t1490 = icmp eq ptr %t1489, null %t1491 = zext i1 %t1490 to i32 %t1492 = icmp ne i32 %t1491, 0 %t1493 = zext i1 %t1492 to i32 store i32 %t1493, ptr %t1484 br label %scend244 scend244: %t1494 = load i32, ptr %t1484 %t1495 = icmp ne i32 %t1494, 0 br i1 %t1495, label %then245, label %ifend247 then245: %t1496 = load ptr, ptr %t0 %t1497 = getelementptr inbounds %Cmp_Node, ptr %t1496, i32 0, i32 7 %t1498 = load ptr, ptr %t1497 %t1499 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 0 %t1500 = load ptr, ptr %t1499 %t1501 = getelementptr inbounds ptr, ptr %t1500, i32 0 %t1502 = load ptr, ptr %t1501 %t1503 = call ptr @fn_emit_expr(ptr %t1502) store ptr %t1503, ptr %t1504 %t1505 = load ptr, ptr %t1504 %t1506 = getelementptr inbounds %Cmp_Val, ptr %t1505, i32 0, i32 0 %t1507 = load ptr, ptr %t1506 %t1508 = call ptr @lp_str_concat(ptr @.str9342, ptr %t1507) %t1509 = call ptr @lp_str_concat(ptr %t1508, ptr @.str9343) %t1510 = call ptr @fn_emit_bind(ptr %t1509) store ptr %t1510, ptr %t1511 %t1512 = load ptr, ptr %t1511 %t1513 = call ptr @lp_str_concat(ptr @.str9344, ptr %t1512) %t1514 = call ptr @fn_emit_bind(ptr %t1513) store ptr %t1514, ptr %t1515 %t1516 = load ptr, ptr %t1515 %t1517 = call ptr @lp_str_concat(ptr @.str9345, ptr %t1516) %t1518 = call ptr @lp_str_concat(ptr %t1517, ptr @.str9346) %t1519 = call ptr @fn_emit_bind(ptr %t1518) store ptr %t1519, ptr %t1520 %t1521 = load ptr, ptr %t1520 %t1522 = call ptr @lp_str_concat(ptr @.str9347, ptr %t1521) %t1523 = call ptr @lp_str_concat(ptr %t1522, ptr @.str9348) %t1524 = call ptr @fn_emit_bind(ptr %t1523) %t1525 = call ptr @fn_val(ptr %t1524, ptr @.str9349) store ptr %t1525, ptr %retval br label %ret ifend247: %t1527 = load ptr, ptr %t38 %t1528 = call i32 @lp_str_eq(ptr %t1527, ptr @.str9350) %t1529 = icmp ne i32 %t1528, 0 %t1530 = zext i1 %t1529 to i32 store i32 %t1530, ptr %t1526 br i1 %t1529, label %sc248, label %scend249 sc248: %t1531 = call ptr @fn_find_fn(ptr @.str9351) %t1532 = icmp eq ptr %t1531, null %t1533 = zext i1 %t1532 to i32 %t1534 = icmp ne i32 %t1533, 0 %t1535 = zext i1 %t1534 to i32 store i32 %t1535, ptr %t1526 br label %scend249 scend249: %t1536 = load i32, ptr %t1526 %t1537 = icmp ne i32 %t1536, 0 br i1 %t1537, label %then250, label %ifend252 then250: %t1538 = load ptr, ptr %t0 %t1539 = getelementptr inbounds %Cmp_Node, ptr %t1538, i32 0, i32 7 %t1540 = load ptr, ptr %t1539 %t1541 = getelementptr inbounds %LSlice, ptr %t1540, i32 0, i32 0 %t1542 = load ptr, ptr %t1541 %t1543 = getelementptr inbounds ptr, ptr %t1542, i32 0 %t1544 = load ptr, ptr %t1543 %t1545 = call ptr @fn_emit_expr(ptr %t1544) store ptr %t1545, ptr %t1546 %t1547 = load ptr, ptr %t1546 %t1548 = getelementptr inbounds %Cmp_Val, ptr %t1547, i32 0, i32 0 %t1549 = load ptr, ptr %t1548 %t1550 = call ptr @lp_str_concat(ptr @.str9352, ptr %t1549) %t1551 = call ptr @lp_str_concat(ptr %t1550, ptr @.str9353) %t1552 = call ptr @fn_emit_bind(ptr %t1551) store ptr %t1552, ptr %t1553 %t1554 = load ptr, ptr %t1553 %t1555 = call ptr @lp_str_concat(ptr @.str9354, ptr %t1554) %t1556 = call ptr @fn_emit_bind(ptr %t1555) store ptr %t1556, ptr %t1557 %t1558 = load ptr, ptr %t1557 %t1559 = call ptr @lp_str_concat(ptr @.str9355, ptr %t1558) %t1560 = call ptr @lp_str_concat(ptr %t1559, ptr @.str9356) %t1561 = call ptr @fn_emit_bind(ptr %t1560) store ptr %t1561, ptr %t1562 %t1563 = load ptr, ptr %t1562 %t1564 = call ptr @lp_str_concat(ptr @.str9357, ptr %t1563) %t1565 = call ptr @lp_str_concat(ptr %t1564, ptr @.str9358) %t1566 = call ptr @fn_emit_bind(ptr %t1565) %t1567 = call ptr @fn_val(ptr %t1566, ptr @.str9359) store ptr %t1567, ptr %retval br label %ret ifend252: %t1569 = load ptr, ptr %t38 %t1570 = call i32 @lp_str_eq(ptr %t1569, ptr @.str9360) %t1571 = icmp ne i32 %t1570, 0 %t1572 = zext i1 %t1571 to i32 store i32 %t1572, ptr %t1568 br i1 %t1571, label %sc253, label %scend254 sc253: %t1573 = call ptr @fn_find_fn(ptr @.str9361) %t1574 = icmp eq ptr %t1573, null %t1575 = zext i1 %t1574 to i32 %t1576 = icmp ne i32 %t1575, 0 %t1577 = zext i1 %t1576 to i32 store i32 %t1577, ptr %t1568 br label %scend254 scend254: %t1578 = load i32, ptr %t1568 %t1579 = icmp ne i32 %t1578, 0 br i1 %t1579, label %then255, label %ifend257 then255: %t1580 = load ptr, ptr %t0 %t1581 = getelementptr inbounds %Cmp_Node, ptr %t1580, i32 0, i32 7 %t1582 = load ptr, ptr %t1581 %t1583 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 0 %t1584 = load ptr, ptr %t1583 %t1585 = getelementptr inbounds ptr, ptr %t1584, i32 0 %t1586 = load ptr, ptr %t1585 %t1587 = call ptr @fn_emit_expr(ptr %t1586) store ptr %t1587, ptr %t1588 %t1589 = load ptr, ptr %t0 %t1590 = getelementptr inbounds %Cmp_Node, ptr %t1589, i32 0, i32 7 %t1591 = load ptr, ptr %t1590 %t1592 = getelementptr inbounds %LSlice, ptr %t1591, i32 0, i32 0 %t1593 = load ptr, ptr %t1592 %t1594 = getelementptr inbounds ptr, ptr %t1593, i32 1 %t1595 = load ptr, ptr %t1594 %t1596 = call ptr @fn_emit_expr(ptr %t1595) store ptr %t1596, ptr %t1597 %t1598 = load ptr, ptr %t1588 %t1599 = getelementptr inbounds %Cmp_Val, ptr %t1598, i32 0, i32 0 %t1600 = load ptr, ptr %t1599 %t1601 = call ptr @lp_str_concat(ptr @.str9362, ptr %t1600) %t1602 = call ptr @lp_str_concat(ptr %t1601, ptr @.str9363) %t1603 = call ptr @fn_emit_bind(ptr %t1602) store ptr %t1603, ptr %t1604 %t1605 = load ptr, ptr %t1604 %t1606 = call ptr @lp_str_concat(ptr @.str9364, ptr %t1605) %t1607 = call ptr @fn_emit_bind(ptr %t1606) store ptr %t1607, ptr %t1608 %t1609 = load ptr, ptr %t1588 %t1610 = getelementptr inbounds %Cmp_Val, ptr %t1609, i32 0, i32 0 %t1611 = load ptr, ptr %t1610 %t1612 = call ptr @lp_str_concat(ptr @.str9365, ptr %t1611) %t1613 = call ptr @lp_str_concat(ptr %t1612, ptr @.str9366) %t1614 = call ptr @fn_emit_bind(ptr %t1613) store ptr %t1614, ptr %t1615 %t1616 = load ptr, ptr %t1615 %t1617 = call ptr @lp_str_concat(ptr @.str9367, ptr %t1616) %t1618 = call ptr @fn_emit_bind(ptr %t1617) store ptr %t1618, ptr %t1619 %t1620 = load ptr, ptr %t1608 %t1621 = call ptr @lp_str_concat(ptr @.str9368, ptr %t1620) %t1622 = call ptr @lp_str_concat(ptr %t1621, ptr @.str9369) %t1623 = call ptr @fn_emit_bind(ptr %t1622) store ptr %t1623, ptr %t1624 %t1625 = load ptr, ptr %t1624 %t1626 = call ptr @lp_str_concat(ptr @.str9370, ptr %t1625) %t1627 = call ptr @lp_str_concat(ptr %t1626, ptr @.str9371) %t1628 = load ptr, ptr %t1619 %t1629 = call ptr @lp_str_concat(ptr %t1627, ptr %t1628) %t1630 = call ptr @lp_str_concat(ptr %t1629, ptr @.str9372) %t1631 = load ptr, ptr %t1597 %t1632 = call ptr @fn_coerce_code(ptr %t1631, ptr @.str9373) %t1633 = call ptr @lp_str_concat(ptr %t1630, ptr %t1632) %t1634 = call ptr @fn_emit_bind(ptr %t1633) %t1635 = call ptr @fn_val(ptr %t1634, ptr @.str9374) store ptr %t1635, ptr %retval br label %ret ifend257: %t1636 = load ptr, ptr %t38 %t1637 = call i32 @lp_str_eq(ptr %t1636, ptr @.str9375) %t1638 = icmp ne i32 %t1637, 0 br i1 %t1638, label %then258, label %ifend260 then258: %t1639 = load ptr, ptr %t0 %t1640 = getelementptr inbounds %Cmp_Node, ptr %t1639, i32 0, i32 7 %t1641 = load ptr, ptr %t1640 %t1642 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 0 %t1643 = load ptr, ptr %t1642 %t1644 = getelementptr inbounds ptr, ptr %t1643, i32 0 %t1645 = load ptr, ptr %t1644 %t1646 = call ptr @fn_emit_expr(ptr %t1645) store ptr %t1646, ptr %t1647 %t1648 = load ptr, ptr %t1647 %t1649 = getelementptr inbounds %Cmp_Val, ptr %t1648, i32 0, i32 0 %t1650 = load ptr, ptr %t1649 %t1651 = call ptr @lp_str_concat(ptr @.str9376, ptr %t1650) %t1652 = call ptr @lp_str_concat(ptr %t1651, ptr @.str9377) %t1653 = call ptr @fn_emit_bind(ptr %t1652) %t1654 = call ptr @fn_val(ptr %t1653, ptr @.str9378) store ptr %t1654, ptr %retval br label %ret ifend260: %t1655 = load ptr, ptr %t38 %t1656 = call i32 @lp_str_eq(ptr %t1655, ptr @.str9379) %t1657 = icmp ne i32 %t1656, 0 br i1 %t1657, label %then261, label %ifend263 then261: %t1658 = load ptr, ptr %t0 %t1659 = getelementptr inbounds %Cmp_Node, ptr %t1658, i32 0, i32 7 %t1660 = load ptr, ptr %t1659 %t1661 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 0 %t1662 = load ptr, ptr %t1661 %t1663 = getelementptr inbounds ptr, ptr %t1662, i32 0 %t1664 = load ptr, ptr %t1663 %t1665 = call ptr @fn_emit_expr(ptr %t1664) store ptr %t1665, ptr %t1666 %t1667 = load ptr, ptr %t0 %t1668 = getelementptr inbounds %Cmp_Node, ptr %t1667, i32 0, i32 7 %t1669 = load ptr, ptr %t1668 %t1670 = getelementptr inbounds %LSlice, ptr %t1669, i32 0, i32 0 %t1671 = load ptr, ptr %t1670 %t1672 = getelementptr inbounds ptr, ptr %t1671, i32 1 %t1673 = load ptr, ptr %t1672 %t1674 = call ptr @fn_emit_expr(ptr %t1673) store ptr %t1674, ptr %t1675 %t1676 = load ptr, ptr %t1666 %t1677 = getelementptr inbounds %Cmp_Val, ptr %t1676, i32 0, i32 0 %t1678 = load ptr, ptr %t1677 %t1679 = call ptr @lp_str_concat(ptr @.str9380, ptr %t1678) %t1680 = call ptr @lp_str_concat(ptr %t1679, ptr @.str9381) %t1681 = load ptr, ptr %t1675 %t1682 = getelementptr inbounds %Cmp_Val, ptr %t1681, i32 0, i32 0 %t1683 = load ptr, ptr %t1682 %t1684 = call ptr @lp_str_concat(ptr %t1680, ptr %t1683) %t1685 = call ptr @lp_str_concat(ptr %t1684, ptr @.str9382) %t1686 = call ptr @fn_emit_bind(ptr %t1685) %t1687 = call ptr @fn_val(ptr %t1686, ptr @.str9383) store ptr %t1687, ptr %retval br label %ret ifend263: %t1688 = load ptr, ptr %t38 %t1689 = call i32 @lp_str_eq(ptr %t1688, ptr @.str9384) %t1690 = icmp ne i32 %t1689, 0 br i1 %t1690, label %then264, label %ifend266 then264: %t1691 = load ptr, ptr %t0 %t1692 = getelementptr inbounds %Cmp_Node, ptr %t1691, i32 0, i32 7 %t1693 = load ptr, ptr %t1692 %t1694 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 0 %t1695 = load ptr, ptr %t1694 %t1696 = getelementptr inbounds ptr, ptr %t1695, i32 0 %t1697 = load ptr, ptr %t1696 %t1698 = call ptr @fn_emit_expr(ptr %t1697) store ptr %t1698, ptr %t1699 %t1700 = load ptr, ptr %t0 %t1701 = getelementptr inbounds %Cmp_Node, ptr %t1700, i32 0, i32 7 %t1702 = load ptr, ptr %t1701 %t1703 = getelementptr inbounds %LSlice, ptr %t1702, i32 0, i32 0 %t1704 = load ptr, ptr %t1703 %t1705 = getelementptr inbounds ptr, ptr %t1704, i32 1 %t1706 = load ptr, ptr %t1705 %t1707 = call ptr @fn_emit_expr(ptr %t1706) store ptr %t1707, ptr %t1708 %t1709 = load ptr, ptr %t0 %t1710 = getelementptr inbounds %Cmp_Node, ptr %t1709, i32 0, i32 7 %t1711 = load ptr, ptr %t1710 %t1712 = getelementptr inbounds %LSlice, ptr %t1711, i32 0, i32 0 %t1713 = load ptr, ptr %t1712 %t1714 = getelementptr inbounds ptr, ptr %t1713, i32 2 %t1715 = load ptr, ptr %t1714 %t1716 = call ptr @fn_emit_expr(ptr %t1715) store ptr %t1716, ptr %t1717 %t1718 = load ptr, ptr %t1699 %t1719 = getelementptr inbounds %Cmp_Val, ptr %t1718, i32 0, i32 0 %t1720 = load ptr, ptr %t1719 %t1721 = call ptr @lp_str_concat(ptr @.str9385, ptr %t1720) %t1722 = call ptr @lp_str_concat(ptr %t1721, ptr @.str9386) %t1723 = load ptr, ptr %t1708 %t1724 = getelementptr inbounds %Cmp_Val, ptr %t1723, i32 0, i32 0 %t1725 = load ptr, ptr %t1724 %t1726 = call ptr @lp_str_concat(ptr %t1722, ptr %t1725) %t1727 = call ptr @lp_str_concat(ptr %t1726, ptr @.str9387) %t1728 = load ptr, ptr %t1717 %t1729 = getelementptr inbounds %Cmp_Val, ptr %t1728, i32 0, i32 0 %t1730 = load ptr, ptr %t1729 %t1731 = call ptr @lp_str_concat(ptr %t1727, ptr %t1730) %t1732 = call ptr @lp_str_concat(ptr %t1731, ptr @.str9388) %t1733 = call ptr @fn_emit_bind(ptr %t1732) store ptr %t1733, ptr %t1734 %t1735 = load ptr, ptr %t1734 %t1736 = call ptr @lp_str_concat(ptr @.str9389, ptr %t1735) %t1737 = call ptr @lp_str_concat(ptr %t1736, ptr @.str9390) %t1738 = call ptr @fn_emit_bind(ptr %t1737) %t1739 = call ptr @fn_val(ptr %t1738, ptr @.str9391) store ptr %t1739, ptr %retval br label %ret ifend266: %t1740 = load ptr, ptr %t38 %t1741 = call i32 @lp_str_eq(ptr %t1740, ptr @.str9392) %t1742 = icmp ne i32 %t1741, 0 br i1 %t1742, label %then267, label %ifend269 then267: %t1743 = load ptr, ptr %t0 %t1744 = getelementptr inbounds %Cmp_Node, ptr %t1743, i32 0, i32 7 %t1745 = load ptr, ptr %t1744 %t1746 = getelementptr inbounds %LSlice, ptr %t1745, i32 0, i32 0 %t1747 = load ptr, ptr %t1746 %t1748 = getelementptr inbounds ptr, ptr %t1747, i32 0 %t1749 = load ptr, ptr %t1748 %t1750 = call ptr @fn_emit_expr(ptr %t1749) store ptr %t1750, ptr %t1751 %t1752 = load ptr, ptr %t0 %t1753 = getelementptr inbounds %Cmp_Node, ptr %t1752, i32 0, i32 7 %t1754 = load ptr, ptr %t1753 %t1755 = getelementptr inbounds %LSlice, ptr %t1754, i32 0, i32 0 %t1756 = load ptr, ptr %t1755 %t1757 = getelementptr inbounds ptr, ptr %t1756, i32 1 %t1758 = load ptr, ptr %t1757 %t1759 = call ptr @fn_emit_expr(ptr %t1758) store ptr %t1759, ptr %t1760 %t1761 = load ptr, ptr %t0 %t1762 = getelementptr inbounds %Cmp_Node, ptr %t1761, i32 0, i32 7 %t1763 = load ptr, ptr %t1762 %t1764 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 0 %t1765 = load ptr, ptr %t1764 %t1766 = getelementptr inbounds ptr, ptr %t1765, i32 2 %t1767 = load ptr, ptr %t1766 %t1768 = call ptr @fn_emit_expr(ptr %t1767) store ptr %t1768, ptr %t1769 %t1770 = load ptr, ptr %t0 %t1771 = getelementptr inbounds %Cmp_Node, ptr %t1770, i32 0, i32 7 %t1772 = load ptr, ptr %t1771 %t1773 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 0 %t1774 = load ptr, ptr %t1773 %t1775 = getelementptr inbounds ptr, ptr %t1774, i32 3 %t1776 = load ptr, ptr %t1775 %t1777 = call ptr @fn_emit_expr(ptr %t1776) store ptr %t1777, ptr %t1778 %t1779 = load ptr, ptr %t1778 %t1780 = getelementptr inbounds %Cmp_Val, ptr %t1779, i32 0, i32 0 %t1781 = load ptr, ptr %t1780 %t1782 = call ptr @lp_str_concat(ptr @.str9393, ptr %t1781) %t1783 = call ptr @lp_str_concat(ptr %t1782, ptr @.str9394) %t1784 = call ptr @fn_emit_bind(ptr %t1783) store ptr %t1784, ptr %t1785 call void @fn_emit(ptr @.str9395) %t1786 = load ptr, ptr %t1751 %t1787 = getelementptr inbounds %Cmp_Val, ptr %t1786, i32 0, i32 0 %t1788 = load ptr, ptr %t1787 call void @fn_emit(ptr %t1788) call void @fn_emit(ptr @.str9396) %t1789 = load ptr, ptr %t1760 %t1790 = getelementptr inbounds %Cmp_Val, ptr %t1789, i32 0, i32 0 %t1791 = load ptr, ptr %t1790 call void @fn_emit(ptr %t1791) call void @fn_emit(ptr @.str9397) %t1792 = load ptr, ptr %t1769 %t1793 = getelementptr inbounds %Cmp_Val, ptr %t1792, i32 0, i32 0 %t1794 = load ptr, ptr %t1793 call void @fn_emit(ptr %t1794) call void @fn_emit(ptr @.str9398) %t1795 = load ptr, ptr %t1785 call void @fn_emit(ptr %t1795) call void @fn_emit(ptr @.str9399) %t1796 = call ptr @fn_val(ptr @.str9400, ptr @.str9401) store ptr %t1796, ptr %retval br label %ret ifend269: %t1797 = load ptr, ptr %t38 %t1798 = call i32 @lp_str_eq(ptr %t1797, ptr @.str9402) %t1799 = icmp ne i32 %t1798, 0 br i1 %t1799, label %then270, label %ifend272 then270: %t1800 = load ptr, ptr %t0 %t1801 = getelementptr inbounds %Cmp_Node, ptr %t1800, i32 0, i32 7 %t1802 = load ptr, ptr %t1801 %t1803 = getelementptr inbounds %LSlice, ptr %t1802, i32 0, i32 0 %t1804 = load ptr, ptr %t1803 %t1805 = getelementptr inbounds ptr, ptr %t1804, i32 0 %t1806 = load ptr, ptr %t1805 %t1807 = call ptr @fn_emit_expr(ptr %t1806) store ptr %t1807, ptr %t1808 %t1809 = load ptr, ptr %t0 %t1810 = getelementptr inbounds %Cmp_Node, ptr %t1809, i32 0, i32 7 %t1811 = load ptr, ptr %t1810 %t1812 = getelementptr inbounds %LSlice, ptr %t1811, i32 0, i32 0 %t1813 = load ptr, ptr %t1812 %t1814 = getelementptr inbounds ptr, ptr %t1813, i32 1 %t1815 = load ptr, ptr %t1814 %t1816 = call ptr @fn_emit_expr(ptr %t1815) store ptr %t1816, ptr %t1817 %t1818 = load ptr, ptr %t1808 %t1819 = getelementptr inbounds %Cmp_Val, ptr %t1818, i32 0, i32 0 %t1820 = load ptr, ptr %t1819 %t1821 = call ptr @lp_str_concat(ptr @.str9403, ptr %t1820) %t1822 = call ptr @lp_str_concat(ptr %t1821, ptr @.str9404) %t1823 = load ptr, ptr %t1817 %t1824 = getelementptr inbounds %Cmp_Val, ptr %t1823, i32 0, i32 0 %t1825 = load ptr, ptr %t1824 %t1826 = call ptr @lp_str_concat(ptr %t1822, ptr %t1825) %t1827 = call ptr @lp_str_concat(ptr %t1826, ptr @.str9405) %t1828 = call ptr @fn_emit_bind(ptr %t1827) %t1829 = call ptr @fn_val(ptr %t1828, ptr @.str9406) store ptr %t1829, ptr %retval br label %ret ifend272: %t1830 = load ptr, ptr %t38 %t1831 = call i32 @lp_str_eq(ptr %t1830, ptr @.str9407) %t1832 = icmp ne i32 %t1831, 0 br i1 %t1832, label %then273, label %ifend275 then273: %t1833 = call ptr @fn_emit_bind(ptr @.str9408) %t1834 = call ptr @fn_val(ptr %t1833, ptr @.str9409) store ptr %t1834, ptr %retval br label %ret ifend275: %t1835 = load ptr, ptr %t38 %t1836 = call i32 @lp_str_eq(ptr %t1835, ptr @.str9410) %t1837 = icmp ne i32 %t1836, 0 br i1 %t1837, label %then276, label %ifend278 then276: %t1838 = load ptr, ptr %t0 %t1839 = getelementptr inbounds %Cmp_Node, ptr %t1838, i32 0, i32 7 %t1840 = load ptr, ptr %t1839 %t1841 = getelementptr inbounds %LSlice, ptr %t1840, i32 0, i32 0 %t1842 = load ptr, ptr %t1841 %t1843 = getelementptr inbounds ptr, ptr %t1842, i32 0 %t1844 = load ptr, ptr %t1843 %t1845 = call ptr @fn_emit_expr(ptr %t1844) store ptr %t1845, ptr %t1846 %t1847 = load ptr, ptr %t1846 %t1848 = getelementptr inbounds %Cmp_Val, ptr %t1847, i32 0, i32 0 %t1849 = load ptr, ptr %t1848 %t1850 = call ptr @lp_str_concat(ptr @.str9411, ptr %t1849) %t1851 = call ptr @lp_str_concat(ptr %t1850, ptr @.str9412) %t1852 = call ptr @fn_emit_bind(ptr %t1851) %t1853 = call ptr @fn_val(ptr %t1852, ptr @.str9413) store ptr %t1853, ptr %retval br label %ret ifend278: %t1854 = load ptr, ptr %t38 %t1855 = call i32 @lp_str_eq(ptr %t1854, ptr @.str9414) %t1856 = icmp ne i32 %t1855, 0 br i1 %t1856, label %then279, label %ifend281 then279: %t1857 = load ptr, ptr %t0 %t1858 = getelementptr inbounds %Cmp_Node, ptr %t1857, i32 0, i32 7 %t1859 = load ptr, ptr %t1858 %t1860 = getelementptr inbounds %LSlice, ptr %t1859, i32 0, i32 0 %t1861 = load ptr, ptr %t1860 %t1862 = getelementptr inbounds ptr, ptr %t1861, i32 0 %t1863 = load ptr, ptr %t1862 %t1864 = call ptr @fn_emit_expr(ptr %t1863) store ptr %t1864, ptr %t1865 %t1866 = load ptr, ptr %t1865 %t1867 = getelementptr inbounds %Cmp_Val, ptr %t1866, i32 0, i32 0 %t1868 = load ptr, ptr %t1867 %t1869 = call ptr @lp_str_concat(ptr @.str9415, ptr %t1868) %t1870 = call ptr @lp_str_concat(ptr %t1869, ptr @.str9416) %t1871 = call ptr @fn_emit_bind(ptr %t1870) %t1872 = call ptr @fn_val(ptr %t1871, ptr @.str9417) store ptr %t1872, ptr %retval br label %ret ifend281: %t1873 = load ptr, ptr %t38 %t1874 = call i32 @lp_str_eq(ptr %t1873, ptr @.str9418) %t1875 = icmp ne i32 %t1874, 0 br i1 %t1875, label %then282, label %ifend284 then282: %t1876 = load ptr, ptr %t0 %t1877 = getelementptr inbounds %Cmp_Node, ptr %t1876, i32 0, i32 7 %t1878 = load ptr, ptr %t1877 %t1879 = getelementptr inbounds %LSlice, ptr %t1878, i32 0, i32 0 %t1880 = load ptr, ptr %t1879 %t1881 = getelementptr inbounds ptr, ptr %t1880, i32 0 %t1882 = load ptr, ptr %t1881 %t1883 = call ptr @fn_emit_expr(ptr %t1882) store ptr %t1883, ptr %t1884 %t1885 = load ptr, ptr %t0 %t1886 = getelementptr inbounds %Cmp_Node, ptr %t1885, i32 0, i32 7 %t1887 = load ptr, ptr %t1886 %t1888 = getelementptr inbounds %LSlice, ptr %t1887, i32 0, i32 0 %t1889 = load ptr, ptr %t1888 %t1890 = getelementptr inbounds ptr, ptr %t1889, i32 1 %t1891 = load ptr, ptr %t1890 %t1892 = call ptr @fn_emit_expr(ptr %t1891) store ptr %t1892, ptr %t1893 %t1894 = load ptr, ptr %t1884 %t1895 = getelementptr inbounds %Cmp_Val, ptr %t1894, i32 0, i32 0 %t1896 = load ptr, ptr %t1895 %t1897 = call ptr @lp_str_concat(ptr @.str9419, ptr %t1896) %t1898 = call ptr @lp_str_concat(ptr %t1897, ptr @.str9420) %t1899 = load ptr, ptr %t1893 %t1900 = getelementptr inbounds %Cmp_Val, ptr %t1899, i32 0, i32 0 %t1901 = load ptr, ptr %t1900 %t1902 = call ptr @lp_str_concat(ptr %t1898, ptr %t1901) %t1903 = call ptr @lp_str_concat(ptr %t1902, ptr @.str9421) %t1904 = call ptr @fn_emit_bind(ptr %t1903) %t1905 = call ptr @fn_val(ptr %t1904, ptr @.str9422) store ptr %t1905, ptr %retval br label %ret ifend284: %t1906 = load ptr, ptr %t38 %t1907 = call i32 @lp_str_eq(ptr %t1906, ptr @.str9423) %t1908 = icmp ne i32 %t1907, 0 br i1 %t1908, label %then285, label %ifend287 then285: %t1909 = load ptr, ptr %t0 %t1910 = getelementptr inbounds %Cmp_Node, ptr %t1909, i32 0, i32 7 %t1911 = load ptr, ptr %t1910 %t1912 = getelementptr inbounds %LSlice, ptr %t1911, i32 0, i32 0 %t1913 = load ptr, ptr %t1912 %t1914 = getelementptr inbounds ptr, ptr %t1913, i32 0 %t1915 = load ptr, ptr %t1914 %t1916 = call ptr @fn_emit_expr(ptr %t1915) store ptr %t1916, ptr %t1917 %t1918 = load ptr, ptr %t0 %t1919 = getelementptr inbounds %Cmp_Node, ptr %t1918, i32 0, i32 7 %t1920 = load ptr, ptr %t1919 %t1921 = getelementptr inbounds %LSlice, ptr %t1920, i32 0, i32 0 %t1922 = load ptr, ptr %t1921 %t1923 = getelementptr inbounds ptr, ptr %t1922, i32 1 %t1924 = load ptr, ptr %t1923 %t1925 = call ptr @fn_emit_expr(ptr %t1924) store ptr %t1925, ptr %t1926 %t1927 = load ptr, ptr %t1917 %t1928 = getelementptr inbounds %Cmp_Val, ptr %t1927, i32 0, i32 0 %t1929 = load ptr, ptr %t1928 %t1930 = call ptr @lp_str_concat(ptr @.str9424, ptr %t1929) %t1931 = call ptr @lp_str_concat(ptr %t1930, ptr @.str9425) %t1932 = load ptr, ptr %t1926 %t1933 = getelementptr inbounds %Cmp_Val, ptr %t1932, i32 0, i32 0 %t1934 = load ptr, ptr %t1933 %t1935 = call ptr @lp_str_concat(ptr %t1931, ptr %t1934) %t1936 = call ptr @lp_str_concat(ptr %t1935, ptr @.str9426) %t1937 = call ptr @fn_emit_bind(ptr %t1936) %t1938 = call ptr @fn_val(ptr %t1937, ptr @.str9427) store ptr %t1938, ptr %retval br label %ret ifend287: %t1939 = load ptr, ptr %t38 %t1940 = call i32 @lp_str_eq(ptr %t1939, ptr @.str9428) %t1941 = icmp ne i32 %t1940, 0 br i1 %t1941, label %then288, label %ifend290 then288: %t1942 = load ptr, ptr %t0 %t1943 = getelementptr inbounds %Cmp_Node, ptr %t1942, i32 0, i32 7 %t1944 = load ptr, ptr %t1943 %t1945 = getelementptr inbounds %LSlice, ptr %t1944, i32 0, i32 0 %t1946 = load ptr, ptr %t1945 %t1947 = getelementptr inbounds ptr, ptr %t1946, i32 0 %t1948 = load ptr, ptr %t1947 %t1949 = call ptr @fn_emit_expr(ptr %t1948) store ptr %t1949, ptr %t1950 %t1951 = load ptr, ptr %t0 %t1952 = getelementptr inbounds %Cmp_Node, ptr %t1951, i32 0, i32 7 %t1953 = load ptr, ptr %t1952 %t1954 = getelementptr inbounds %LSlice, ptr %t1953, i32 0, i32 0 %t1955 = load ptr, ptr %t1954 %t1956 = getelementptr inbounds ptr, ptr %t1955, i32 1 %t1957 = load ptr, ptr %t1956 %t1958 = call ptr @fn_emit_expr(ptr %t1957) store ptr %t1958, ptr %t1959 call void @fn_emit(ptr @.str9429) %t1960 = load ptr, ptr %t1950 %t1961 = getelementptr inbounds %Cmp_Val, ptr %t1960, i32 0, i32 0 %t1962 = load ptr, ptr %t1961 call void @fn_emit(ptr %t1962) call void @fn_emit(ptr @.str9430) %t1963 = load ptr, ptr %t1959 %t1964 = getelementptr inbounds %Cmp_Val, ptr %t1963, i32 0, i32 0 %t1965 = load ptr, ptr %t1964 call void @fn_emit(ptr %t1965) call void @fn_emit(ptr @.str9431) %t1966 = call ptr @fn_val(ptr @.str9432, ptr @.str9433) store ptr %t1966, ptr %retval br label %ret ifend290: %t1967 = load ptr, ptr %t38 %t1968 = call i32 @lp_str_eq(ptr %t1967, ptr @.str9434) %t1969 = icmp ne i32 %t1968, 0 br i1 %t1969, label %then291, label %ifend293 then291: %t1970 = load ptr, ptr %t0 %t1971 = getelementptr inbounds %Cmp_Node, ptr %t1970, i32 0, i32 7 %t1972 = load ptr, ptr %t1971 %t1973 = getelementptr inbounds %LSlice, ptr %t1972, i32 0, i32 0 %t1974 = load ptr, ptr %t1973 %t1975 = getelementptr inbounds ptr, ptr %t1974, i32 0 %t1976 = load ptr, ptr %t1975 %t1977 = call ptr @fn_emit_expr(ptr %t1976) store ptr %t1977, ptr %t1978 %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 ptr, ptr %t1983, i32 1 %t1985 = load ptr, ptr %t1984 %t1986 = call ptr @fn_emit_expr(ptr %t1985) store ptr %t1986, ptr %t1987 call void @fn_emit(ptr @.str9435) %t1988 = load ptr, ptr %t1978 %t1989 = getelementptr inbounds %Cmp_Val, ptr %t1988, i32 0, i32 0 %t1990 = load ptr, ptr %t1989 call void @fn_emit(ptr %t1990) call void @fn_emit(ptr @.str9436) %t1991 = load ptr, ptr %t1987 %t1992 = getelementptr inbounds %Cmp_Val, ptr %t1991, i32 0, i32 0 %t1993 = load ptr, ptr %t1992 call void @fn_emit(ptr %t1993) call void @fn_emit(ptr @.str9437) %t1994 = call ptr @fn_val(ptr @.str9438, ptr @.str9439) store ptr %t1994, ptr %retval br label %ret ifend293: %t1995 = load ptr, ptr %t38 %t1996 = call i32 @lp_str_eq(ptr %t1995, ptr @.str9440) %t1997 = icmp ne i32 %t1996, 0 br i1 %t1997, label %then294, label %ifend296 then294: %t1998 = load ptr, ptr %t0 %t1999 = getelementptr inbounds %Cmp_Node, ptr %t1998, i32 0, i32 7 %t2000 = load ptr, ptr %t1999 %t2001 = getelementptr inbounds %LSlice, ptr %t2000, i32 0, i32 0 %t2002 = load ptr, ptr %t2001 %t2003 = getelementptr inbounds ptr, ptr %t2002, i32 0 %t2004 = load ptr, ptr %t2003 %t2005 = call ptr @fn_emit_expr(ptr %t2004) store ptr %t2005, ptr %t2006 %t2007 = load ptr, ptr %t2006 %t2008 = getelementptr inbounds %Cmp_Val, ptr %t2007, i32 0, i32 0 %t2009 = load ptr, ptr %t2008 %t2010 = call ptr @lp_str_concat(ptr @.str9441, ptr %t2009) %t2011 = call ptr @lp_str_concat(ptr %t2010, ptr @.str9442) %t2012 = call ptr @fn_emit_bind(ptr %t2011) %t2013 = call ptr @fn_val(ptr %t2012, ptr @.str9443) store ptr %t2013, ptr %retval br label %ret ifend296: %t2014 = load ptr, ptr %t38 %t2015 = call i32 @lp_str_eq(ptr %t2014, ptr @.str9444) %t2016 = icmp ne i32 %t2015, 0 br i1 %t2016, label %then297, label %ifend299 then297: %t2017 = call ptr @fn_emit_bind(ptr @.str9445) %t2018 = call ptr @fn_val(ptr %t2017, ptr @.str9446) store ptr %t2018, ptr %retval br label %ret ifend299: %t2019 = load ptr, ptr %t38 %t2020 = call i32 @lp_str_eq(ptr %t2019, ptr @.str9447) %t2021 = icmp ne i32 %t2020, 0 br i1 %t2021, label %then300, label %ifend302 then300: %t2022 = load ptr, ptr %t0 %t2023 = getelementptr inbounds %Cmp_Node, ptr %t2022, i32 0, i32 7 %t2024 = load ptr, ptr %t2023 %t2025 = getelementptr inbounds %LSlice, ptr %t2024, i32 0, i32 0 %t2026 = load ptr, ptr %t2025 %t2027 = getelementptr inbounds ptr, ptr %t2026, i32 0 %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 @.str9448, ptr %t2033) %t2035 = call ptr @lp_str_concat(ptr %t2034, ptr @.str9449) %t2036 = call ptr @fn_emit_bind(ptr %t2035) %t2037 = call ptr @fn_val(ptr %t2036, ptr @.str9450) store ptr %t2037, ptr %retval br label %ret ifend302: %t2038 = load ptr, ptr %t38 %t2039 = call i32 @lp_str_eq(ptr %t2038, ptr @.str9451) %t2040 = icmp ne i32 %t2039, 0 br i1 %t2040, label %then303, label %ifend305 then303: %t2041 = load ptr, ptr %t0 %t2042 = getelementptr inbounds %Cmp_Node, ptr %t2041, i32 0, i32 7 %t2043 = load ptr, ptr %t2042 %t2044 = getelementptr inbounds %LSlice, ptr %t2043, i32 0, i32 0 %t2045 = load ptr, ptr %t2044 %t2046 = getelementptr inbounds ptr, ptr %t2045, i32 0 %t2047 = load ptr, ptr %t2046 %t2048 = call ptr @fn_emit_expr(ptr %t2047) store ptr %t2048, ptr %t2049 %t2050 = load ptr, ptr %t2049 %t2051 = getelementptr inbounds %Cmp_Val, ptr %t2050, i32 0, i32 0 %t2052 = load ptr, ptr %t2051 %t2053 = call ptr @lp_str_concat(ptr @.str9452, ptr %t2052) %t2054 = call ptr @lp_str_concat(ptr %t2053, ptr @.str9453) %t2055 = call ptr @fn_emit_bind(ptr %t2054) %t2056 = call ptr @fn_val(ptr %t2055, ptr @.str9454) store ptr %t2056, ptr %retval br label %ret ifend305: %t2057 = load ptr, ptr %t38 %t2058 = call i32 @lp_str_eq(ptr %t2057, ptr @.str9455) %t2059 = icmp ne i32 %t2058, 0 br i1 %t2059, label %then306, label %ifend308 then306: %t2060 = load ptr, ptr %t0 %t2061 = getelementptr inbounds %Cmp_Node, ptr %t2060, i32 0, i32 7 %t2062 = load ptr, ptr %t2061 %t2063 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 0 %t2064 = load ptr, ptr %t2063 %t2065 = getelementptr inbounds ptr, ptr %t2064, i32 0 %t2066 = load ptr, ptr %t2065 %t2067 = call ptr @fn_emit_expr(ptr %t2066) store ptr %t2067, ptr %t2068 %t2069 = load ptr, ptr %t0 %t2070 = getelementptr inbounds %Cmp_Node, ptr %t2069, i32 0, i32 7 %t2071 = load ptr, ptr %t2070 %t2072 = getelementptr inbounds %LSlice, ptr %t2071, i32 0, i32 0 %t2073 = load ptr, ptr %t2072 %t2074 = getelementptr inbounds ptr, ptr %t2073, i32 1 %t2075 = load ptr, ptr %t2074 %t2076 = call ptr @fn_emit_expr(ptr %t2075) store ptr %t2076, ptr %t2077 %t2078 = load ptr, ptr %t2068 %t2079 = getelementptr inbounds %Cmp_Val, ptr %t2078, i32 0, i32 0 %t2080 = load ptr, ptr %t2079 %t2081 = call ptr @lp_str_concat(ptr @.str9456, ptr %t2080) %t2082 = call ptr @lp_str_concat(ptr %t2081, ptr @.str9457) %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 @.str9458) %t2088 = call ptr @fn_emit_bind(ptr %t2087) %t2089 = call ptr @fn_val(ptr %t2088, ptr @.str9459) store ptr %t2089, ptr %retval br label %ret ifend308: %t2090 = load ptr, ptr %t38 %t2091 = call i32 @lp_str_eq(ptr %t2090, ptr @.str9460) %t2092 = icmp ne i32 %t2091, 0 br i1 %t2092, label %then309, label %ifend311 then309: %t2093 = load ptr, ptr %t0 %t2094 = getelementptr inbounds %Cmp_Node, ptr %t2093, i32 0, i32 7 %t2095 = load ptr, ptr %t2094 %t2096 = getelementptr inbounds %LSlice, ptr %t2095, i32 0, i32 0 %t2097 = load ptr, ptr %t2096 %t2098 = getelementptr inbounds ptr, ptr %t2097, i32 0 %t2099 = load ptr, ptr %t2098 %t2100 = call ptr @fn_emit_expr(ptr %t2099) store ptr %t2100, ptr %t2101 %t2102 = load ptr, ptr %t0 %t2103 = getelementptr inbounds %Cmp_Node, ptr %t2102, i32 0, i32 7 %t2104 = load ptr, ptr %t2103 %t2105 = getelementptr inbounds %LSlice, ptr %t2104, i32 0, i32 0 %t2106 = load ptr, ptr %t2105 %t2107 = getelementptr inbounds ptr, ptr %t2106, i32 1 %t2108 = load ptr, ptr %t2107 %t2109 = call ptr @fn_emit_expr(ptr %t2108) store ptr %t2109, ptr %t2110 %t2111 = load ptr, ptr %t2101 %t2112 = getelementptr inbounds %Cmp_Val, ptr %t2111, i32 0, i32 0 %t2113 = load ptr, ptr %t2112 %t2114 = call ptr @lp_str_concat(ptr @.str9461, ptr %t2113) %t2115 = call ptr @lp_str_concat(ptr %t2114, ptr @.str9462) %t2116 = load ptr, ptr %t2110 %t2117 = getelementptr inbounds %Cmp_Val, ptr %t2116, i32 0, i32 0 %t2118 = load ptr, ptr %t2117 %t2119 = call ptr @lp_str_concat(ptr %t2115, ptr %t2118) %t2120 = call ptr @lp_str_concat(ptr %t2119, ptr @.str9463) %t2121 = call ptr @fn_emit_bind(ptr %t2120) %t2122 = call ptr @fn_val(ptr %t2121, ptr @.str9464) store ptr %t2122, ptr %retval br label %ret ifend311: %t2123 = load ptr, ptr %t38 %t2124 = call i32 @fn_is_intrinsic(ptr %t2123) %t2125 = icmp ne i32 %t2124, 0 br i1 %t2125, label %then312, label %ifend314 then312: %t2126 = load ptr, ptr %t38 %t2127 = load ptr, ptr %t0 %t2128 = call ptr @fn_emit_intrinsic(ptr %t2126, ptr %t2127) store ptr %t2128, ptr %retval br label %ret ifend314: %t2129 = load ptr, ptr %t38 %t2130 = call i32 @fn_is_intrinsic2(ptr %t2129) %t2131 = icmp ne i32 %t2130, 0 br i1 %t2131, label %then315, label %ifend317 then315: %t2132 = load ptr, ptr %t38 %t2133 = load ptr, ptr %t0 %t2134 = call ptr @fn_emit_intrinsic2(ptr %t2132, ptr %t2133) store ptr %t2134, ptr %retval br label %ret ifend317: %t2135 = load ptr, ptr %t38 %t2136 = call i32 @fn_is_math_builtin(ptr %t2135) %t2137 = icmp ne i32 %t2136, 0 br i1 %t2137, label %then318, label %ifend320 then318: %t2138 = load ptr, ptr %t38 %t2139 = load ptr, ptr %t0 %t2140 = call ptr @fn_emit_math_builtin(ptr %t2138, ptr %t2139) store ptr %t2140, ptr %retval br label %ret ifend320: %t2141 = load ptr, ptr %t38 %t2142 = call ptr @fn_find_extern(ptr %t2141) store ptr %t2142, ptr %t2143 %t2144 = load ptr, ptr %t2143 %t2145 = icmp ne ptr %t2144, null %t2146 = zext i1 %t2145 to i32 %t2147 = icmp ne i32 %t2146, 0 br i1 %t2147, label %then321, label %ifend323 then321: %t2148 = load ptr, ptr %t0 %t2149 = load ptr, ptr %t2143 %t2150 = call ptr @fn_param_labels(ptr %t2149) call void @fn_reorder_named(ptr %t2148, ptr %t2150) %t2151 = getelementptr %LSlice, ptr null, i32 1 %t2152 = ptrtoint ptr %t2151 to i64 %t2153 = call ptr @malloc(i64 %t2152) %t2154 = getelementptr inbounds %LSlice, ptr %t2153, i32 0, i32 0 store ptr null, ptr %t2154 %t2155 = getelementptr inbounds %LSlice, ptr %t2153, i32 0, i32 1 store i32 0, ptr %t2155 %t2156 = getelementptr inbounds %LSlice, ptr %t2153, i32 0, i32 2 store i32 0, ptr %t2156 store ptr %t2153, ptr %t2157 %t2158 = getelementptr %LSlice, ptr null, i32 1 %t2159 = ptrtoint ptr %t2158 to i64 %t2160 = call ptr @malloc(i64 %t2159) %t2161 = getelementptr inbounds %LSlice, ptr %t2160, i32 0, i32 0 store ptr null, ptr %t2161 %t2162 = getelementptr inbounds %LSlice, ptr %t2160, i32 0, i32 1 store i32 0, ptr %t2162 %t2163 = getelementptr inbounds %LSlice, ptr %t2160, i32 0, i32 2 store i32 0, ptr %t2163 store ptr %t2160, ptr %t2164 store i32 0, ptr %t2165 br label %wcond324 wcond324: %t2166 = load i32, ptr %t2165 %t2167 = load ptr, ptr %t0 %t2168 = getelementptr inbounds %Cmp_Node, ptr %t2167, i32 0, i32 7 %t2169 = load ptr, ptr %t2168 %t2170 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 1 %t2171 = load i32, ptr %t2170 %t2172 = icmp slt i32 %t2166, %t2171 %t2173 = zext i1 %t2172 to i32 %t2174 = icmp ne i32 %t2173, 0 br i1 %t2174, label %wbody325, label %wend326 wbody325: %t2175 = load ptr, ptr %t0 %t2176 = getelementptr inbounds %Cmp_Node, ptr %t2175, i32 0, i32 7 %t2177 = load ptr, ptr %t2176 %t2178 = getelementptr inbounds %LSlice, ptr %t2177, i32 0, i32 0 %t2179 = load ptr, ptr %t2178 %t2180 = load i32, ptr %t2165 %t2181 = getelementptr inbounds ptr, ptr %t2179, i32 %t2180 %t2182 = load ptr, ptr %t2181 %t2183 = call ptr @fn_emit_expr(ptr %t2182) store ptr %t2183, ptr %t2184 %t2185 = load ptr, ptr %t2157 %t2186 = load ptr, ptr %t2184 %t2187 = getelementptr inbounds %Cmp_Val, ptr %t2186, i32 0, i32 0 %t2188 = load ptr, ptr %t2187 %t2189 = getelementptr inbounds %LSlice, ptr %t2185, i32 0, i32 1 %t2190 = getelementptr inbounds %LSlice, ptr %t2185, i32 0, i32 2 %t2191 = getelementptr inbounds %LSlice, ptr %t2185, i32 0, i32 0 %t2192 = load i32, ptr %t2189 %t2193 = load i32, ptr %t2190 %t2194 = icmp sge i32 %t2192, %t2193 br i1 %t2194, label %grow327, label %put328 grow327: %t2195 = mul i32 %t2193, 2 %t2196 = icmp eq i32 %t2193, 0 %t2197 = select i1 %t2196, i32 8, i32 %t2195 %t2198 = getelementptr ptr, ptr null, i32 1 %t2199 = ptrtoint ptr %t2198 to i64 %t2200 = zext i32 %t2197 to i64 %t2201 = mul i64 %t2200, %t2199 %t2202 = load ptr, ptr %t2191 %t2203 = call ptr @realloc(ptr %t2202, i64 %t2201) store ptr %t2203, ptr %t2191 store i32 %t2197, ptr %t2190 br label %put328 put328: %t2204 = load ptr, ptr %t2191 %t2205 = getelementptr inbounds ptr, ptr %t2204, i32 %t2192 store ptr %t2188, ptr %t2205 %t2206 = add i32 %t2192, 1 store i32 %t2206, ptr %t2189 %t2207 = load ptr, ptr %t2164 %t2208 = load ptr, ptr %t2184 %t2209 = getelementptr inbounds %Cmp_Val, ptr %t2208, i32 0, i32 1 %t2210 = load ptr, ptr %t2209 %t2211 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 1 %t2212 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 2 %t2213 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 0 %t2214 = load i32, ptr %t2211 %t2215 = load i32, ptr %t2212 %t2216 = icmp sge i32 %t2214, %t2215 br i1 %t2216, label %grow329, label %put330 grow329: %t2217 = mul i32 %t2215, 2 %t2218 = icmp eq i32 %t2215, 0 %t2219 = select i1 %t2218, i32 8, i32 %t2217 %t2220 = getelementptr ptr, ptr null, i32 1 %t2221 = ptrtoint ptr %t2220 to i64 %t2222 = zext i32 %t2219 to i64 %t2223 = mul i64 %t2222, %t2221 %t2224 = load ptr, ptr %t2213 %t2225 = call ptr @realloc(ptr %t2224, i64 %t2223) store ptr %t2225, ptr %t2213 store i32 %t2219, ptr %t2212 br label %put330 put330: %t2226 = load ptr, ptr %t2213 %t2227 = getelementptr inbounds ptr, ptr %t2226, i32 %t2214 store ptr %t2210, ptr %t2227 %t2228 = add i32 %t2214, 1 store i32 %t2228, ptr %t2211 %t2229 = load i32, ptr %t2165 %t2230 = add i32 %t2229, 1 store i32 %t2230, ptr %t2165 br label %wcond324 wend326: %t2231 = load ptr, ptr %t2143 %t2232 = getelementptr inbounds %Cmp_Node, ptr %t2231, i32 0, i32 3 %t2233 = load ptr, ptr %t2232 %t2234 = call ptr @fn_llty(ptr %t2233) store ptr %t2234, ptr %t2235 call void @fn_emit(ptr @.str9465) store ptr @.str9466, ptr %t2236 %t2237 = load ptr, ptr %t2235 %t2238 = call i32 @lp_str_eq(ptr %t2237, ptr @.str9467) %t2239 = icmp eq i32 %t2238, 0 %t2240 = zext i1 %t2239 to i32 %t2241 = icmp ne i32 %t2240, 0 br i1 %t2241, label %then331, label %ifend333 then331: %t2242 = call ptr @fn_nreg() store ptr %t2242, ptr %t2236 %t2243 = load ptr, ptr %t2236 call void @fn_emit(ptr %t2243) call void @fn_emit(ptr @.str9468) br label %ifend333 ifend333: call void @fn_emit(ptr @.str9469) %t2244 = load ptr, ptr %t2235 call void @fn_emit(ptr %t2244) call void @fn_emit(ptr @.str9470) %t2245 = load ptr, ptr %t2143 %t2246 = getelementptr inbounds %Cmp_Node, ptr %t2245, i32 0, i32 4 %t2247 = load ptr, ptr %t2246 %t2248 = getelementptr inbounds %Cmp_Node, ptr %t2247, i32 0, i32 1 %t2249 = load ptr, ptr %t2248 call void @fn_emit(ptr %t2249) call void @fn_emit(ptr @.str9471) store i32 0, ptr %t2165 br label %wcond334 wcond334: %t2250 = load i32, ptr %t2165 %t2251 = load ptr, ptr %t2157 %t2252 = getelementptr inbounds %LSlice, ptr %t2251, i32 0, i32 1 %t2253 = load i32, ptr %t2252 %t2254 = icmp slt i32 %t2250, %t2253 %t2255 = zext i1 %t2254 to i32 %t2256 = icmp ne i32 %t2255, 0 br i1 %t2256, label %wbody335, label %wend336 wbody335: %t2257 = load i32, ptr %t2165 %t2258 = icmp sgt i32 %t2257, 0 %t2259 = zext i1 %t2258 to i32 %t2260 = icmp ne i32 %t2259, 0 br i1 %t2260, label %then337, label %ifend339 then337: call void @fn_emit(ptr @.str9472) br label %ifend339 ifend339: %t2261 = load ptr, ptr %t2164 %t2262 = getelementptr inbounds %LSlice, ptr %t2261, i32 0, i32 0 %t2263 = load ptr, ptr %t2262 %t2264 = load i32, ptr %t2165 %t2265 = getelementptr inbounds ptr, ptr %t2263, i32 %t2264 %t2266 = load ptr, ptr %t2265 %t2267 = call ptr @fn_llty(ptr %t2266) call void @fn_emit(ptr %t2267) call void @fn_emit(ptr @.str9473) %t2268 = load ptr, ptr %t2157 %t2269 = getelementptr inbounds %LSlice, ptr %t2268, i32 0, i32 0 %t2270 = load ptr, ptr %t2269 %t2271 = load i32, ptr %t2165 %t2272 = getelementptr inbounds ptr, ptr %t2270, i32 %t2271 %t2273 = load ptr, ptr %t2272 call void @fn_emit(ptr %t2273) %t2274 = load i32, ptr %t2165 %t2275 = add i32 %t2274, 1 store i32 %t2275, ptr %t2165 br label %wcond334 wend336: call void @fn_emit(ptr @.str9474) %t2276 = load ptr, ptr %t2236 %t2277 = load ptr, ptr %t2143 %t2278 = getelementptr inbounds %Cmp_Node, ptr %t2277, i32 0, i32 3 %t2279 = load ptr, ptr %t2278 %t2280 = call ptr @fn_val(ptr %t2276, ptr %t2279) store ptr %t2280, ptr %retval br label %ret ifend323: %t2281 = load ptr, ptr %t38 %t2282 = call ptr @fn_variant_enum(ptr %t2281) store ptr %t2282, ptr %t2283 %t2284 = load ptr, ptr %t2283 %t2285 = icmp ne ptr %t2284, null %t2286 = zext i1 %t2285 to i32 %t2287 = icmp ne i32 %t2286, 0 br i1 %t2287, label %then340, label %ifend342 then340: %t2288 = load ptr, ptr %t2283 %t2289 = load i32, ptr @g_g_var_ord %t2290 = load ptr, ptr %t0 %t2291 = getelementptr inbounds %Cmp_Node, ptr %t2290, i32 0, i32 7 %t2292 = load ptr, ptr %t2291 %t2293 = call ptr @fn_emit_variant_new(ptr %t2288, i32 %t2289, ptr %t2292) store ptr %t2293, ptr %retval br label %ret ifend342: %t2294 = load ptr, ptr %t38 %t2295 = call ptr @fn_find_fn(ptr %t2294) store ptr %t2295, ptr %t2296 %t2297 = load ptr, ptr %t38 store ptr %t2297, ptr %t2298 %t2299 = load ptr, ptr %t2296 %t2300 = icmp eq ptr %t2299, null %t2301 = zext i1 %t2300 to i32 %t2302 = icmp ne i32 %t2301, 0 br i1 %t2302, label %then343, label %ifend345 then343: %t2303 = load ptr, ptr %t38 %t2304 = call ptr @lp_str_concat(ptr @.str9475, ptr %t2303) store ptr %t2304, ptr %t2305 %t2306 = load ptr, ptr %t2305 %t2307 = call ptr @fn_find_fn(ptr %t2306) store ptr %t2307, ptr %t2296 %t2308 = load ptr, ptr %t2296 %t2309 = icmp eq ptr %t2308, null %t2310 = zext i1 %t2309 to i32 %t2311 = icmp ne i32 %t2310, 0 br i1 %t2311, label %then346, label %ifend348 then346: %t2312 = load ptr, ptr %t38 %t2313 = call ptr @lp_str_concat(ptr @.str9476, ptr %t2312) call void @fn_perr(ptr %t2313) br label %ifend348 ifend348: %t2314 = load ptr, ptr %t2305 store ptr %t2314, ptr %t2298 br label %ifend345 ifend345: %t2315 = load ptr, ptr %t0 %t2316 = load ptr, ptr %t2296 %t2317 = call ptr @fn_param_labels(ptr %t2316) call void @fn_reorder_named(ptr %t2315, ptr %t2317) %t2318 = load ptr, ptr %t2296 %t2319 = call ptr @fn_param_types(ptr %t2318) store ptr %t2319, ptr %t2320 %t2321 = getelementptr %LSlice, ptr null, i32 1 %t2322 = ptrtoint ptr %t2321 to i64 %t2323 = call ptr @malloc(i64 %t2322) %t2324 = getelementptr inbounds %LSlice, ptr %t2323, i32 0, i32 0 store ptr null, ptr %t2324 %t2325 = getelementptr inbounds %LSlice, ptr %t2323, i32 0, i32 1 store i32 0, ptr %t2325 %t2326 = getelementptr inbounds %LSlice, ptr %t2323, i32 0, i32 2 store i32 0, ptr %t2326 store ptr %t2323, ptr %t2327 %t2328 = getelementptr %LSlice, ptr null, i32 1 %t2329 = ptrtoint ptr %t2328 to i64 %t2330 = call ptr @malloc(i64 %t2329) %t2331 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 0 store ptr null, ptr %t2331 %t2332 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 1 store i32 0, ptr %t2332 %t2333 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 2 store i32 0, ptr %t2333 store ptr %t2330, ptr %t2334 store i32 0, ptr %t2335 br label %wcond349 wcond349: %t2336 = load i32, ptr %t2335 %t2337 = load ptr, ptr %t0 %t2338 = getelementptr inbounds %Cmp_Node, ptr %t2337, i32 0, i32 7 %t2339 = load ptr, ptr %t2338 %t2340 = getelementptr inbounds %LSlice, ptr %t2339, i32 0, i32 1 %t2341 = load i32, ptr %t2340 %t2342 = icmp slt i32 %t2336, %t2341 %t2343 = zext i1 %t2342 to i32 %t2344 = icmp ne i32 %t2343, 0 br i1 %t2344, label %wbody350, label %wend351 wbody350: %t2345 = load ptr, ptr %t0 %t2346 = getelementptr inbounds %Cmp_Node, ptr %t2345, i32 0, i32 7 %t2347 = load ptr, ptr %t2346 %t2348 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 0 %t2349 = load ptr, ptr %t2348 %t2350 = load i32, ptr %t2335 %t2351 = getelementptr inbounds ptr, ptr %t2349, i32 %t2350 %t2352 = load ptr, ptr %t2351 %t2353 = call ptr @fn_emit_expr(ptr %t2352) store ptr %t2353, ptr %t2354 %t2355 = load ptr, ptr %t2354 %t2356 = getelementptr inbounds %Cmp_Val, ptr %t2355, i32 0, i32 1 %t2357 = load ptr, ptr %t2356 store ptr %t2357, ptr %t2358 %t2359 = load i32, ptr %t2335 %t2360 = load ptr, ptr %t2320 %t2361 = getelementptr inbounds %LSlice, ptr %t2360, i32 0, i32 1 %t2362 = load i32, ptr %t2361 %t2363 = icmp slt i32 %t2359, %t2362 %t2364 = zext i1 %t2363 to i32 %t2365 = icmp ne i32 %t2364, 0 br i1 %t2365, label %then352, label %ifend354 then352: %t2366 = load ptr, ptr %t2320 %t2367 = getelementptr inbounds %LSlice, ptr %t2366, i32 0, i32 0 %t2368 = load ptr, ptr %t2367 %t2369 = load i32, ptr %t2335 %t2370 = getelementptr inbounds ptr, ptr %t2368, i32 %t2369 %t2371 = load ptr, ptr %t2370 store ptr %t2371, ptr %t2358 br label %ifend354 ifend354: %t2372 = load ptr, ptr %t2327 %t2373 = load ptr, ptr %t2354 %t2374 = load ptr, ptr %t2358 %t2375 = call ptr @fn_coerce_code(ptr %t2373, ptr %t2374) %t2376 = getelementptr inbounds %LSlice, ptr %t2372, i32 0, i32 1 %t2377 = getelementptr inbounds %LSlice, ptr %t2372, i32 0, i32 2 %t2378 = getelementptr inbounds %LSlice, ptr %t2372, i32 0, i32 0 %t2379 = load i32, ptr %t2376 %t2380 = load i32, ptr %t2377 %t2381 = icmp sge i32 %t2379, %t2380 br i1 %t2381, label %grow355, label %put356 grow355: %t2382 = mul i32 %t2380, 2 %t2383 = icmp eq i32 %t2380, 0 %t2384 = select i1 %t2383, i32 8, i32 %t2382 %t2385 = getelementptr ptr, ptr null, i32 1 %t2386 = ptrtoint ptr %t2385 to i64 %t2387 = zext i32 %t2384 to i64 %t2388 = mul i64 %t2387, %t2386 %t2389 = load ptr, ptr %t2378 %t2390 = call ptr @realloc(ptr %t2389, i64 %t2388) store ptr %t2390, ptr %t2378 store i32 %t2384, ptr %t2377 br label %put356 put356: %t2391 = load ptr, ptr %t2378 %t2392 = getelementptr inbounds ptr, ptr %t2391, i32 %t2379 store ptr %t2375, ptr %t2392 %t2393 = add i32 %t2379, 1 store i32 %t2393, ptr %t2376 %t2394 = load ptr, ptr %t2334 %t2395 = load ptr, ptr %t2358 %t2396 = getelementptr inbounds %LSlice, ptr %t2394, i32 0, i32 1 %t2397 = getelementptr inbounds %LSlice, ptr %t2394, i32 0, i32 2 %t2398 = getelementptr inbounds %LSlice, ptr %t2394, i32 0, i32 0 %t2399 = load i32, ptr %t2396 %t2400 = load i32, ptr %t2397 %t2401 = icmp sge i32 %t2399, %t2400 br i1 %t2401, label %grow357, label %put358 grow357: %t2402 = mul i32 %t2400, 2 %t2403 = icmp eq i32 %t2400, 0 %t2404 = select i1 %t2403, i32 8, i32 %t2402 %t2405 = getelementptr ptr, ptr null, i32 1 %t2406 = ptrtoint ptr %t2405 to i64 %t2407 = zext i32 %t2404 to i64 %t2408 = mul i64 %t2407, %t2406 %t2409 = load ptr, ptr %t2398 %t2410 = call ptr @realloc(ptr %t2409, i64 %t2408) store ptr %t2410, ptr %t2398 store i32 %t2404, ptr %t2397 br label %put358 put358: %t2411 = load ptr, ptr %t2398 %t2412 = getelementptr inbounds ptr, ptr %t2411, i32 %t2399 store ptr %t2395, ptr %t2412 %t2413 = add i32 %t2399, 1 store i32 %t2413, ptr %t2396 %t2414 = load i32, ptr %t2335 %t2415 = add i32 %t2414, 1 store i32 %t2415, ptr %t2335 br label %wcond349 wend351: %t2416 = load ptr, ptr %t2296 %t2417 = getelementptr inbounds %Cmp_Node, ptr %t2416, i32 0, i32 3 %t2418 = load ptr, ptr %t2417 %t2419 = call ptr @fn_llty(ptr %t2418) store ptr %t2419, ptr %t2420 call void @fn_emit(ptr @.str9477) store ptr @.str9478, ptr %t2421 %t2422 = load ptr, ptr %t2420 %t2423 = call i32 @lp_str_eq(ptr %t2422, ptr @.str9479) %t2424 = icmp eq i32 %t2423, 0 %t2425 = zext i1 %t2424 to i32 %t2426 = icmp ne i32 %t2425, 0 br i1 %t2426, label %then359, label %ifend361 then359: %t2427 = call ptr @fn_nreg() store ptr %t2427, ptr %t2421 %t2428 = load ptr, ptr %t2421 call void @fn_emit(ptr %t2428) call void @fn_emit(ptr @.str9480) br label %ifend361 ifend361: call void @fn_emit(ptr @.str9481) %t2429 = load ptr, ptr %t2420 call void @fn_emit(ptr %t2429) call void @fn_emit(ptr @.str9482) %t2430 = load ptr, ptr %t2298 call void @fn_emit(ptr %t2430) call void @fn_emit(ptr @.str9483) store i32 0, ptr %t2335 br label %wcond362 wcond362: %t2431 = load i32, ptr %t2335 %t2432 = load ptr, ptr %t2327 %t2433 = getelementptr inbounds %LSlice, ptr %t2432, i32 0, i32 1 %t2434 = load i32, ptr %t2433 %t2435 = icmp slt i32 %t2431, %t2434 %t2436 = zext i1 %t2435 to i32 %t2437 = icmp ne i32 %t2436, 0 br i1 %t2437, label %wbody363, label %wend364 wbody363: %t2438 = load i32, ptr %t2335 %t2439 = icmp sgt i32 %t2438, 0 %t2440 = zext i1 %t2439 to i32 %t2441 = icmp ne i32 %t2440, 0 br i1 %t2441, label %then365, label %ifend367 then365: call void @fn_emit(ptr @.str9484) br label %ifend367 ifend367: %t2442 = load ptr, ptr %t2334 %t2443 = getelementptr inbounds %LSlice, ptr %t2442, i32 0, i32 0 %t2444 = load ptr, ptr %t2443 %t2445 = load i32, ptr %t2335 %t2446 = getelementptr inbounds ptr, ptr %t2444, i32 %t2445 %t2447 = load ptr, ptr %t2446 %t2448 = call ptr @fn_llty(ptr %t2447) call void @fn_emit(ptr %t2448) call void @fn_emit(ptr @.str9485) %t2449 = load ptr, ptr %t2327 %t2450 = getelementptr inbounds %LSlice, ptr %t2449, i32 0, i32 0 %t2451 = load ptr, ptr %t2450 %t2452 = load i32, ptr %t2335 %t2453 = getelementptr inbounds ptr, ptr %t2451, i32 %t2452 %t2454 = load ptr, ptr %t2453 call void @fn_emit(ptr %t2454) %t2455 = load i32, ptr %t2335 %t2456 = add i32 %t2455, 1 store i32 %t2456, ptr %t2335 br label %wcond362 wend364: call void @fn_emit(ptr @.str9486) %t2457 = load ptr, ptr %t2421 %t2458 = load ptr, ptr %t2296 %t2459 = getelementptr inbounds %Cmp_Node, ptr %t2458, i32 0, i32 3 %t2460 = load ptr, ptr %t2459 %t2461 = call ptr @fn_val(ptr %t2457, ptr %t2460) store ptr %t2461, ptr %retval br label %ret ret: %t2462 = load ptr, ptr %retval ret ptr %t2462 } define ptr @fn_emit_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t28 = alloca ptr %t84 = alloca ptr %t89 = alloca ptr %t94 = alloca ptr %t163 = alloca ptr %t177 = alloca i32 %t195 = alloca i32 %t198 = alloca i32 %t250 = alloca i32 %t272 = alloca ptr %t287 = alloca ptr %t318 = alloca ptr %t339 = alloca ptr %t382 = alloca i32 %t405 = alloca i32 %t426 = alloca i32 %t438 = alloca ptr %t443 = alloca i32 %t448 = alloca i32 %t470 = alloca ptr %t491 = alloca ptr %t504 = alloca ptr %t516 = alloca ptr %t523 = alloca ptr %t574 = alloca ptr %t608 = alloca i32 %t630 = alloca ptr %t701 = 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 @.str9487, ptr @.str9488) 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 @.str9489) store ptr %t16, ptr %retval br label %ret ifend5: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 40 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = call ptr @fn_itoa(i32 %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str9490) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 2 %t31 = load ptr, ptr %t0 store ptr %t31, ptr %t30 %t32 = load ptr, ptr %t28 store ptr %t32, ptr %retval br label %ret ifend8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq i32 %t35, 190 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then9, label %ifend11 then9: %t39 = load ptr, ptr @g_g_prevals %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 2 %t44 = load i32, ptr %t43 %t45 = getelementptr inbounds ptr, ptr %t41, i32 %t44 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %retval br label %ret ifend11: %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, 32 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then12, label %ifend14 then12: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 2 %t55 = load i32, ptr %t54 %t56 = call ptr @fn_itoa(i32 %t55) %t57 = call ptr @fn_val(ptr %t56, ptr @.str9491) store ptr %t57, ptr %retval br label %ret ifend14: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 0 %t60 = load i32, ptr %t59 %t61 = icmp eq i32 %t60, 43 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then15, label %ifend17 then15: %t64 = call ptr @fn_val(ptr @.str9492, ptr @.str9493) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 22 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then18, label %ifend20 then18: %t71 = load ptr, ptr %t0 %t72 = call ptr @fn_emit_spawn(ptr %t71) %t73 = call ptr @fn_val(ptr %t72, ptr @.str9494) store ptr %t73, ptr %retval br label %ret ifend20: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 0 %t76 = load i32, ptr %t75 %t77 = icmp eq i32 %t76, 44 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then21, label %ifend23 then21: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_emit_expr(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 5 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 6 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_emit_expr(ptr %t92) store ptr %t93, ptr %t94 store i32 1, ptr @g_g_uses_strslice %t95 = load ptr, ptr %t84 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @lp_str_concat(ptr @.str9495, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str9496) %t100 = load ptr, ptr %t89 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @lp_str_concat(ptr %t99, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str9497) %t105 = load ptr, ptr %t94 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @lp_str_concat(ptr %t104, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str9498) %t110 = call ptr @fn_emit_bind(ptr %t109) %t111 = call ptr @fn_val(ptr %t110, ptr @.str9499) store ptr %t111, ptr %retval br label %ret ifend23: %t112 = load ptr, ptr %t0 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 0 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 31 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then24, label %ifend26 then24: %t118 = load ptr, ptr %t0 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_emit_str_const(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str9500) store ptr %t122, ptr %retval br label %ret ifend26: %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, 39 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then27, label %ifend29 then27: %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 %t132 = call i32 @fn_is_slice_ty(ptr %t131) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then30, label %ifend32 then30: %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t135 %t137 = call ptr @fn_emit_new_slice(ptr %t136) store ptr %t137, ptr %retval br label %ret ifend32: %t138 = load ptr, ptr %t0 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = load ptr, ptr %t0 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 4 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_emit_new_struct(ptr %t140, ptr %t143) store ptr %t144, ptr %retval br label %ret ifend29: %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 0 %t147 = load i32, ptr %t146 %t148 = icmp eq i32 %t147, 54 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then33, label %ifend35 then33: %t151 = load ptr, ptr %t0 %t152 = call ptr @fn_emit_list(ptr %t151) store ptr %t152, ptr %retval br label %ret ifend35: %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, 55 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then36, label %ifend38 then36: %t159 = load ptr, ptr %t0 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_find_fn(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t163 %t165 = icmp eq ptr %t164, null %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then39, label %ifend41 then39: %t168 = load ptr, ptr %t0 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call ptr @lp_str_concat(ptr @.str9501, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str9502) %t173 = load ptr, ptr %t0 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 %t175 = load ptr, ptr %t174 %t176 = call ptr @lp_str_concat(ptr %t172, ptr %t175) call void @fn_perr(ptr %t176) br label %ifend41 ifend41: %t178 = load ptr, ptr %t163 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 7 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp eq i32 %t182, 2 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t177 br i1 %t185, label %sc42, label %scend43 sc42: %t187 = load ptr, ptr %t163 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 3 %t189 = load ptr, ptr %t188 %t190 = call ptr @fn_llty(ptr %t189) %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str9503) %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t177 br label %scend43 scend43: %t194 = load i32, ptr %t177 store i32 %t194, ptr %t195 %t196 = load i32, ptr %t195 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then44, label %ifend46 then44: %t199 = load ptr, ptr %t163 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds ptr, ptr %t203, i32 0 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 3 %t207 = load ptr, ptr %t206 %t208 = call ptr @fn_llty(ptr %t207) %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str9504) %t210 = icmp ne i32 %t209, 0 %t211 = zext i1 %t210 to i32 store i32 %t211, ptr %t198 br i1 %t210, label %sc47, label %scend48 sc47: %t212 = load ptr, ptr %t163 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds ptr, ptr %t216, i32 1 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 3 %t220 = load ptr, ptr %t219 %t221 = call ptr @fn_llty(ptr %t220) %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str9505) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t198 br label %scend48 scend48: %t225 = load i32, ptr %t198 store i32 %t225, ptr %t195 br label %ifend46 ifend46: %t226 = load i32, ptr %t195 %t227 = icmp eq i32 %t226, 0 %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then49, label %ifend51 then49: %t230 = load ptr, ptr %t0 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 1 %t232 = load ptr, ptr %t231 %t233 = call ptr @lp_str_concat(ptr @.str9506, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str9507) call void @fn_perr(ptr %t234) br label %ifend51 ifend51: %t235 = load ptr, ptr %t0 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 %t237 = load ptr, ptr %t236 %t238 = call ptr @lp_str_concat(ptr @.str9508, ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str9509) store ptr %t239, ptr %retval br label %ret ifend38: %t240 = load ptr, ptr %t0 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 0 %t242 = load i32, ptr %t241 %t243 = icmp eq i32 %t242, 33 %t244 = zext i1 %t243 to i32 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then52, label %ifend54 then52: %t246 = load ptr, ptr %t0 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 %t249 = call i32 @fn_loc_find(ptr %t248) store i32 %t249, ptr %t250 %t251 = load i32, ptr %t250 %t252 = icmp sge i32 %t251, 0 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then55, label %ifend57 then55: %t255 = load ptr, ptr @g_loc_reg %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 %t258 = load i32, ptr %t250 %t259 = getelementptr inbounds ptr, ptr %t257, i32 %t258 %t260 = load ptr, ptr %t259 %t261 = load ptr, ptr @g_loc_ty %t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = load i32, ptr %t250 %t265 = getelementptr inbounds ptr, ptr %t263, i32 %t264 %t266 = load ptr, ptr %t265 %t267 = call ptr @fn_emit_load_at(ptr %t260, ptr %t266) store ptr %t267, ptr %retval br label %ret ifend57: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 1 %t270 = load ptr, ptr %t269 %t271 = call ptr @fn_find_global(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t272 %t274 = icmp ne ptr %t273, null %t275 = zext i1 %t274 to i32 %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then58, label %ifend60 then58: %t277 = load ptr, ptr %t272 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 0 %t279 = load i32, ptr %t278 %t280 = icmp eq i32 %t279, 3 %t281 = zext i1 %t280 to i32 %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then61, label %ifend63 then61: %t283 = load ptr, ptr %t272 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 4 %t285 = load ptr, ptr %t284 %t286 = call ptr @fn_emit_expr(ptr %t285) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t272 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 3 %t290 = load ptr, ptr %t289 %t291 = call i32 @fn_is_fp(ptr %t290) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then64, label %ifend66 then64: %t293 = load ptr, ptr %t287 %t294 = load ptr, ptr %t272 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 3 %t296 = load ptr, ptr %t295 %t297 = load ptr, ptr %t0 %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 1 %t299 = load ptr, ptr %t298 %t300 = call ptr @lp_str_concat(ptr @.str9510, ptr %t299) %t301 = call ptr @fn_to_fp(ptr %t293, ptr %t296, ptr %t300) %t302 = load ptr, ptr %t272 %t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 3 %t304 = load ptr, ptr %t303 %t305 = call ptr @fn_val(ptr %t301, ptr %t304) store ptr %t305, ptr %retval br label %ret ifend66: %t306 = load ptr, ptr %t287 store ptr %t306, ptr %retval br label %ret ifend63: %t307 = load ptr, ptr %t272 %t308 = getelementptr inbounds %Cmp_Node, ptr %t307, i32 0, i32 3 %t309 = load ptr, ptr %t308 %t310 = call ptr @fn_llty(ptr %t309) %t311 = call ptr @lp_str_concat(ptr @.str9511, ptr %t310) %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str9512) %t313 = load ptr, ptr %t0 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 1 %t315 = load ptr, ptr %t314 %t316 = call ptr @lp_str_concat(ptr %t312, ptr %t315) %t317 = call ptr @fn_emit_bind(ptr %t316) store ptr %t317, ptr %t318 %t319 = load ptr, ptr %t318 %t320 = load ptr, ptr %t272 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 3 %t322 = load ptr, ptr %t321 %t323 = call ptr @fn_val(ptr %t319, ptr %t322) store ptr %t323, ptr %retval br label %ret ifend60: %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 %t327 = call i32 @fn_is_ui_ident(ptr %t326) %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then67, label %ifend69 then67: %t329 = load ptr, ptr %t0 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 %t331 = load ptr, ptr %t330 %t332 = call i32 @fn_ui_index_of(ptr %t331) %t333 = call ptr @fn_itoa(i32 %t332) %t334 = call ptr @fn_val(ptr %t333, ptr @.str9513) store ptr %t334, ptr %retval br label %ret ifend69: %t335 = load ptr, ptr %t0 %t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 1 %t337 = load ptr, ptr %t336 %t338 = call ptr @fn_variant_enum(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 %t341 = icmp ne ptr %t340, null %t342 = zext i1 %t341 to i32 %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then70, label %ifend72 then70: %t344 = load ptr, ptr %t339 %t345 = load i32, ptr @g_g_var_ord %t346 = getelementptr %LSlice, ptr null, i32 1 %t347 = ptrtoint ptr %t346 to i64 %t348 = call ptr @malloc(i64 %t347) %t349 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 0 store ptr null, ptr %t349 %t350 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 1 store i32 0, ptr %t350 %t351 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 2 store i32 0, ptr %t351 %t352 = call ptr @fn_emit_variant_new(ptr %t344, i32 %t345, ptr %t348) store ptr %t352, ptr %retval br label %ret ifend72: %t353 = load ptr, ptr %t0 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1 %t355 = load ptr, ptr %t354 %t356 = call ptr @lp_str_concat(ptr @.str9514, ptr %t355) call void @fn_perr(ptr %t356) br label %ifend54 ifend54: %t357 = load ptr, ptr %t0 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 0 %t359 = load i32, ptr %t358 %t360 = icmp eq i32 %t359, 35 %t361 = zext i1 %t360 to i32 %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then73, label %ifend75 then73: %t363 = load ptr, ptr %t0 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 4 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 0 %t367 = load i32, ptr %t366 %t368 = icmp eq i32 %t367, 33 %t369 = zext i1 %t368 to i32 %t370 = icmp ne i32 %t369, 0 br i1 %t370, label %then76, label %ifend78 then76: %t371 = load ptr, ptr %t0 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 %t373 = load ptr, ptr %t372 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 1 %t375 = load ptr, ptr %t374 %t376 = call i32 @lp_str_eq(ptr %t375, ptr @.str9515) %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then79, label %ifend81 then79: %t378 = load ptr, ptr %t0 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 1 %t380 = load ptr, ptr %t379 %t381 = call i32 @fn_color_lookup(ptr %t380) store i32 %t381, ptr %t382 %t383 = load i32, ptr %t382 %t384 = icmp slt i32 %t383, 0 %t385 = zext i1 %t384 to i32 %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then82, label %ifend84 then82: %t387 = load ptr, ptr %t0 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 1 %t389 = load ptr, ptr %t388 %t390 = call ptr @lp_str_concat(ptr @.str9516, ptr %t389) call void @fn_perr(ptr %t390) br label %ifend84 ifend84: %t391 = load i32, ptr %t382 %t392 = call ptr @fn_itoa(i32 %t391) %t393 = call ptr @fn_val(ptr %t392, ptr @.str9517) store ptr %t393, ptr %retval br label %ret ifend81: %t394 = load ptr, ptr %t0 %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 4 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 1 %t398 = load ptr, ptr %t397 %t399 = call i32 @lp_str_eq(ptr %t398, ptr @.str9518) %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then85, label %ifend87 then85: %t401 = load ptr, ptr %t0 %t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 1 %t403 = load ptr, ptr %t402 %t404 = call i32 @fn_key_lookup(ptr %t403) store i32 %t404, ptr %t405 %t406 = load i32, ptr %t405 %t407 = icmp slt i32 %t406, 0 %t408 = zext i1 %t407 to i32 %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then88, label %ifend90 then88: %t410 = load ptr, ptr %t0 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 1 %t412 = load ptr, ptr %t411 %t413 = call ptr @lp_str_concat(ptr @.str9519, ptr %t412) call void @fn_perr(ptr %t413) br label %ifend90 ifend90: %t414 = load i32, ptr %t405 %t415 = call ptr @fn_itoa(i32 %t414) %t416 = call ptr @fn_val(ptr %t415, ptr @.str9520) store ptr %t416, ptr %retval br label %ret ifend87: %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 = load ptr, ptr %t0 %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 1 %t424 = load ptr, ptr %t423 %t425 = call i32 @fn_enum_ordinal(ptr %t421, ptr %t424) store i32 %t425, ptr %t426 %t427 = load i32, ptr %t426 %t428 = icmp sge i32 %t427, 0 %t429 = zext i1 %t428 to i32 %t430 = icmp ne i32 %t429, 0 br i1 %t430, label %then91, label %ifend93 then91: %t431 = load i32, ptr %t426 %t432 = call ptr @fn_itoa(i32 %t431) %t433 = call ptr @fn_val(ptr %t432, ptr @.str9521) store ptr %t433, ptr %retval br label %ret ifend93: br label %ifend78 ifend78: %t434 = load ptr, ptr %t0 %t435 = getelementptr inbounds %Cmp_Node, ptr %t434, i32 0, i32 4 %t436 = load ptr, ptr %t435 %t437 = call ptr @fn_static_type(ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t438 %t440 = icmp ne ptr %t439, null %t441 = zext i1 %t440 to i32 %t442 = icmp ne i32 %t441, 0 br i1 %t442, label %then94, label %ifend96 then94: %t444 = load ptr, ptr %t438 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str9522) %t446 = icmp ne i32 %t445, 0 %t447 = zext i1 %t446 to i32 store i32 %t447, ptr %t443 br i1 %t446, label %sc97, label %scend98 sc97: %t449 = load ptr, ptr %t0 %t450 = getelementptr inbounds %Cmp_Node, ptr %t449, i32 0, i32 1 %t451 = load ptr, ptr %t450 %t452 = call i32 @lp_str_eq(ptr %t451, ptr @.str9523) %t453 = icmp ne i32 %t452, 0 %t454 = zext i1 %t453 to i32 store i32 %t454, ptr %t448 br i1 %t453, label %scend100, label %sc99 sc99: %t455 = load ptr, ptr %t0 %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 1 %t457 = load ptr, ptr %t456 %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str9524) %t459 = icmp ne i32 %t458, 0 %t460 = zext i1 %t459 to i32 store i32 %t460, ptr %t448 br label %scend100 scend100: %t461 = load i32, ptr %t448 %t462 = icmp ne i32 %t461, 0 %t463 = zext i1 %t462 to i32 store i32 %t463, ptr %t443 br label %scend98 scend98: %t464 = load i32, ptr %t443 %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then101, label %ifend103 then101: %t466 = load ptr, ptr %t0 %t467 = getelementptr inbounds %Cmp_Node, ptr %t466, i32 0, i32 4 %t468 = load ptr, ptr %t467 %t469 = call ptr @fn_emit_expr(ptr %t468) store ptr %t469, ptr %t470 %t471 = load ptr, ptr %t0 %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 1 %t473 = load ptr, ptr %t472 %t474 = call i32 @lp_str_eq(ptr %t473, ptr @.str9525) %t475 = icmp ne i32 %t474, 0 br i1 %t475, label %then104, label %ifend106 then104: %t476 = load ptr, ptr %t470 %t477 = getelementptr inbounds %Cmp_Val, ptr %t476, i32 0, i32 0 %t478 = load ptr, ptr %t477 %t479 = call ptr @fn_vec_x(ptr %t478) %t480 = call ptr @fn_val(ptr %t479, ptr @.str9526) store ptr %t480, ptr %retval br label %ret ifend106: %t481 = load ptr, ptr %t470 %t482 = getelementptr inbounds %Cmp_Val, ptr %t481, i32 0, i32 0 %t483 = load ptr, ptr %t482 %t484 = call ptr @fn_vec_y(ptr %t483) %t485 = call ptr @fn_val(ptr %t484, ptr @.str9527) store ptr %t485, ptr %retval br label %ret ifend103: %t486 = load ptr, ptr %t438 %t487 = load ptr, ptr %t0 %t488 = getelementptr inbounds %Cmp_Node, ptr %t487, i32 0, i32 1 %t489 = load ptr, ptr %t488 %t490 = call ptr @fn_computed_expr(ptr %t486, ptr %t489) store ptr %t490, ptr %t491 %t492 = load ptr, ptr %t491 %t493 = icmp ne ptr %t492, null %t494 = zext i1 %t493 to i32 %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then107, label %ifend109 then107: %t496 = load ptr, ptr %t491 %t497 = load ptr, ptr %t0 %t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 4 %t499 = load ptr, ptr %t498 %t500 = call ptr @fn_qualify_fields(ptr %t496, ptr %t499) %t501 = call ptr @fn_emit_expr(ptr %t500) store ptr %t501, ptr %retval br label %ret ifend109: br label %ifend96 ifend96: %t502 = load ptr, ptr %t0 %t503 = call ptr @fn_emit_member_addr(ptr %t502) store ptr %t503, ptr %t504 %t505 = load ptr, ptr %t504 %t506 = load ptr, ptr @g_g_addr_ty %t507 = call ptr @fn_emit_load_at(ptr %t505, ptr %t506) store ptr %t507, ptr %retval br label %ret ifend75: %t508 = load ptr, ptr %t0 %t509 = getelementptr inbounds %Cmp_Node, ptr %t508, i32 0, i32 0 %t510 = load i32, ptr %t509 %t511 = icmp eq i32 %t510, 36 %t512 = zext i1 %t511 to i32 %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then110, label %ifend112 then110: %t514 = load ptr, ptr %t0 %t515 = call ptr @fn_emit_index_addr(ptr %t514) store ptr %t515, ptr %t516 %t517 = load ptr, ptr @g_g_addr_ty %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str9528) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then113, label %ifend115 then113: %t520 = load ptr, ptr %t516 %t521 = call ptr @lp_str_concat(ptr @.str9529, ptr %t520) %t522 = call ptr @fn_emit_bind(ptr %t521) store ptr %t522, ptr %t523 %t524 = load ptr, ptr %t523 %t525 = call ptr @lp_str_concat(ptr @.str9530, ptr %t524) %t526 = call ptr @lp_str_concat(ptr %t525, ptr @.str9531) %t527 = call ptr @fn_emit_bind(ptr %t526) %t528 = call ptr @fn_val(ptr %t527, ptr @.str9532) store ptr %t528, ptr %retval br label %ret ifend115: %t529 = load ptr, ptr %t516 %t530 = load ptr, ptr @g_g_addr_ty %t531 = call ptr @fn_emit_load_at(ptr %t529, ptr %t530) store ptr %t531, ptr %retval br label %ret ifend112: %t532 = load ptr, ptr %t0 %t533 = getelementptr inbounds %Cmp_Node, ptr %t532, i32 0, i32 0 %t534 = load i32, ptr %t533 %t535 = icmp eq i32 %t534, 49 %t536 = zext i1 %t535 to i32 %t537 = icmp ne i32 %t536, 0 br i1 %t537, label %then116, label %ifend118 then116: %t538 = load ptr, ptr %t0 %t539 = call ptr @fn_emit_emit(ptr %t538) store ptr %t539, ptr %retval br label %ret ifend118: %t540 = load ptr, ptr %t0 %t541 = getelementptr inbounds %Cmp_Node, ptr %t540, i32 0, i32 0 %t542 = load i32, ptr %t541 %t543 = icmp eq i32 %t542, 52 %t544 = zext i1 %t543 to i32 %t545 = icmp ne i32 %t544, 0 br i1 %t545, label %then119, label %ifend121 then119: %t546 = load ptr, ptr %t0 %t547 = call ptr @fn_emit_try(ptr %t546) store ptr %t547, ptr %retval br label %ret ifend121: %t548 = load ptr, ptr %t0 %t549 = getelementptr inbounds %Cmp_Node, ptr %t548, i32 0, i32 0 %t550 = load i32, ptr %t549 %t551 = icmp eq i32 %t550, 34 %t552 = zext i1 %t551 to i32 %t553 = icmp ne i32 %t552, 0 br i1 %t553, label %then122, label %ifend124 then122: %t554 = load ptr, ptr %t0 %t555 = call ptr @fn_emit_call(ptr %t554) store ptr %t555, ptr %retval br label %ret ifend124: %t556 = load ptr, ptr %t0 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 0 %t558 = load i32, ptr %t557 %t559 = icmp eq i32 %t558, 37 %t560 = zext i1 %t559 to i32 %t561 = icmp ne i32 %t560, 0 br i1 %t561, label %then125, label %ifend127 then125: %t562 = load ptr, ptr %t0 %t563 = call ptr @fn_emit_bin(ptr %t562) store ptr %t563, ptr %retval br label %ret ifend127: %t564 = load ptr, ptr %t0 %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 0 %t566 = load i32, ptr %t565 %t567 = icmp eq i32 %t566, 38 %t568 = zext i1 %t567 to i32 %t569 = icmp ne i32 %t568, 0 br i1 %t569, label %then128, label %ifend130 then128: %t570 = load ptr, ptr %t0 %t571 = getelementptr inbounds %Cmp_Node, ptr %t570, i32 0, i32 4 %t572 = load ptr, ptr %t571 %t573 = call ptr @fn_emit_expr(ptr %t572) store ptr %t573, ptr %t574 %t575 = load ptr, ptr %t574 %t576 = getelementptr inbounds %Cmp_Val, ptr %t575, i32 0, i32 1 %t577 = load ptr, ptr %t576 %t578 = call i32 @fn_is_fp(ptr %t577) %t579 = icmp ne i32 %t578, 0 br i1 %t579, label %then131, label %ifend133 then131: %t580 = load ptr, ptr %t0 %t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 1 %t582 = load ptr, ptr %t581 %t583 = call i32 @lp_str_eq(ptr %t582, ptr @.str9533) %t584 = icmp ne i32 %t583, 0 br i1 %t584, label %then134, label %ifend136 then134: %t585 = load ptr, ptr %t574 %t586 = getelementptr inbounds %Cmp_Val, ptr %t585, i32 0, i32 1 %t587 = load ptr, ptr %t586 %t588 = call ptr @lp_str_concat(ptr @.str9534, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str9535) %t590 = load ptr, ptr %t574 %t591 = getelementptr inbounds %Cmp_Val, ptr %t590, i32 0, i32 0 %t592 = load ptr, ptr %t591 %t593 = call ptr @lp_str_concat(ptr %t589, ptr %t592) %t594 = call ptr @fn_emit_bind(ptr %t593) %t595 = load ptr, ptr %t574 %t596 = getelementptr inbounds %Cmp_Val, ptr %t595, i32 0, i32 1 %t597 = load ptr, ptr %t596 %t598 = call ptr @fn_val(ptr %t594, ptr %t597) store ptr %t598, ptr %retval br label %ret ifend136: %t599 = load ptr, ptr %t0 %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 1 %t601 = load ptr, ptr %t600 %t602 = call ptr @lp_str_concat(ptr @.str9536, ptr %t601) %t603 = call ptr @lp_str_concat(ptr %t602, ptr @.str9537) %t604 = load ptr, ptr %t574 %t605 = getelementptr inbounds %Cmp_Val, ptr %t604, i32 0, i32 1 %t606 = load ptr, ptr %t605 %t607 = call ptr @lp_str_concat(ptr %t603, ptr %t606) call void @fn_perr(ptr %t607) br label %ifend133 ifend133: %t609 = load ptr, ptr %t0 %t610 = getelementptr inbounds %Cmp_Node, ptr %t609, i32 0, i32 1 %t611 = load ptr, ptr %t610 %t612 = call i32 @lp_str_eq(ptr %t611, ptr @.str9538) %t613 = icmp ne i32 %t612, 0 %t614 = zext i1 %t613 to i32 store i32 %t614, ptr %t608 br i1 %t613, label %sc137, label %scend138 sc137: %t615 = load ptr, ptr %t574 %t616 = getelementptr inbounds %Cmp_Val, ptr %t615, i32 0, i32 2 %t617 = load ptr, ptr %t616 %t618 = icmp ne ptr %t617, null %t619 = zext i1 %t618 to i32 %t620 = icmp ne i32 %t619, 0 %t621 = zext i1 %t620 to i32 store i32 %t621, ptr %t608 br label %scend138 scend138: %t622 = load i32, ptr %t608 %t623 = icmp ne i32 %t622, 0 br i1 %t623, label %then139, label %ifend141 then139: %t624 = load ptr, ptr %t574 %t625 = getelementptr inbounds %Cmp_Val, ptr %t624, i32 0, i32 0 %t626 = load ptr, ptr %t625 %t627 = call ptr @lp_str_concat(ptr @.str9539, ptr %t626) %t628 = call ptr @fn_emit_bind(ptr %t627) %t629 = call ptr @fn_val(ptr %t628, ptr @.str9540) store ptr %t629, ptr %t630 %t631 = load ptr, ptr %t630 %t632 = getelementptr inbounds %Cmp_Val, ptr %t631, i32 0, i32 2 %t633 = load ptr, ptr %t0 store ptr %t633, ptr %t632 %t634 = load ptr, ptr %t630 store ptr %t634, ptr %retval br label %ret ifend141: %t635 = load ptr, ptr %t574 %t636 = getelementptr inbounds %Cmp_Val, ptr %t635, i32 0, i32 1 %t637 = load ptr, ptr %t636 %t638 = call ptr @fn_llty(ptr %t637) %t639 = call i32 @lp_str_eq(ptr %t638, ptr @.str9541) %t640 = icmp ne i32 %t639, 0 br i1 %t640, label %then142, label %ifend144 then142: %t641 = load ptr, ptr %t0 %t642 = getelementptr inbounds %Cmp_Node, ptr %t641, i32 0, i32 1 %t643 = load ptr, ptr %t642 %t644 = call i32 @lp_str_eq(ptr %t643, ptr @.str9542) %t645 = icmp ne i32 %t644, 0 br i1 %t645, label %then145, label %ifend147 then145: %t646 = load ptr, ptr %t574 %t647 = getelementptr inbounds %Cmp_Val, ptr %t646, i32 0, i32 0 %t648 = load ptr, ptr %t647 %t649 = call ptr @lp_str_concat(ptr @.str9543, ptr %t648) %t650 = call ptr @fn_emit_bind(ptr %t649) %t651 = call ptr @fn_val(ptr %t650, ptr @.str9544) store ptr %t651, ptr %retval br label %ret ifend147: %t652 = load ptr, ptr %t0 %t653 = getelementptr inbounds %Cmp_Node, ptr %t652, i32 0, i32 1 %t654 = load ptr, ptr %t653 %t655 = call i32 @lp_str_eq(ptr %t654, ptr @.str9545) %t656 = icmp ne i32 %t655, 0 br i1 %t656, label %then148, label %ifend150 then148: %t657 = load ptr, ptr %t574 %t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0 %t659 = load ptr, ptr %t658 %t660 = call ptr @lp_str_concat(ptr @.str9546, ptr %t659) %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str9547) %t662 = call ptr @fn_emit_bind(ptr %t661) %t663 = call ptr @fn_val(ptr %t662, ptr @.str9548) store ptr %t663, ptr %retval br label %ret ifend150: br label %ifend144 ifend144: %t664 = load ptr, ptr %t0 %t665 = getelementptr inbounds %Cmp_Node, ptr %t664, i32 0, i32 1 %t666 = load ptr, ptr %t665 %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str9549) %t668 = icmp ne i32 %t667, 0 br i1 %t668, label %then151, label %ifend153 then151: %t669 = load ptr, ptr %t574 %t670 = getelementptr inbounds %Cmp_Val, ptr %t669, i32 0, i32 0 %t671 = load ptr, ptr %t670 %t672 = call ptr @lp_str_concat(ptr @.str9550, ptr %t671) %t673 = call ptr @fn_emit_bind(ptr %t672) %t674 = load ptr, ptr %t574 %t675 = getelementptr inbounds %Cmp_Val, ptr %t674, i32 0, i32 1 %t676 = load ptr, ptr %t675 %t677 = call ptr @fn_arith_ty(ptr %t676) %t678 = call ptr @fn_val(ptr %t673, ptr %t677) store ptr %t678, ptr %retval br label %ret ifend153: %t679 = load ptr, ptr %t0 %t680 = getelementptr inbounds %Cmp_Node, ptr %t679, i32 0, i32 1 %t681 = load ptr, ptr %t680 %t682 = call i32 @lp_str_eq(ptr %t681, ptr @.str9551) %t683 = icmp ne i32 %t682, 0 br i1 %t683, label %then154, label %ifend156 then154: %t684 = load ptr, ptr %t574 %t685 = getelementptr inbounds %Cmp_Val, ptr %t684, i32 0, i32 0 %t686 = load ptr, ptr %t685 %t687 = call ptr @lp_str_concat(ptr @.str9552, ptr %t686) %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str9553) %t689 = call ptr @fn_emit_bind(ptr %t688) %t690 = load ptr, ptr %t574 %t691 = getelementptr inbounds %Cmp_Val, ptr %t690, i32 0, i32 1 %t692 = load ptr, ptr %t691 %t693 = call ptr @fn_arith_ty(ptr %t692) %t694 = call ptr @fn_val(ptr %t689, ptr %t693) store ptr %t694, ptr %retval br label %ret ifend156: %t695 = load ptr, ptr %t574 %t696 = getelementptr inbounds %Cmp_Val, ptr %t695, i32 0, i32 0 %t697 = load ptr, ptr %t696 %t698 = call ptr @lp_str_concat(ptr @.str9554, ptr %t697) %t699 = call ptr @lp_str_concat(ptr %t698, ptr @.str9555) %t700 = call ptr @fn_emit_bind(ptr %t699) store ptr %t700, ptr %t701 %t702 = load ptr, ptr %t701 %t703 = call ptr @lp_str_concat(ptr @.str9556, ptr %t702) %t704 = call ptr @lp_str_concat(ptr %t703, ptr @.str9557) %t705 = call ptr @fn_emit_bind(ptr %t704) %t706 = call ptr @fn_val(ptr %t705, ptr @.str9558) store ptr %t706, ptr %retval br label %ret ifend130: call void @fn_perr(ptr @.str9559) %t707 = call ptr @fn_val(ptr @.str9560, ptr @.str9561) store ptr %t707, ptr %retval br label %ret ret: %t708 = load ptr, ptr %retval ret ptr %t708 } define void @fn_emit_block(ptr %arg_b) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, 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 @g_g_term %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: br label %ret ifend5: %t13 = load ptr, ptr %t0 %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 = load i32, ptr %t1 %t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18 %t20 = load ptr, ptr %t19 call void @fn_emit_stmt(ptr %t20) %t21 = load i32, ptr %t1 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t1 br label %wcond0 wend2: 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 @.str9562) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str9563) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9564) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9565) 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 %t57 = alloca ptr %t93 = alloca ptr %t98 = alloca ptr %t114 = alloca ptr %t125 = 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 @.str9566, ptr %t5 store ptr @.str9567, 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 i32, ptr %t24, i32 %t25 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t4 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = call ptr @lp_str_concat(ptr @.str9568, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9569) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8 %t38 = load i32, ptr %t37 %t39 = call ptr @fn_itoa(i32 %t38) %t40 = call ptr @lp_str_concat(ptr %t35, ptr %t39) call void @fn_perr(ptr %t40) br label %ifend8 ifend8: %t41 = load ptr, ptr @g_loc_reg %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = load i32, ptr %t17 %t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t5 %t47 = load ptr, ptr @g_loc_ty %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr %t17 %t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t6 br label %ifend5 else4: %t53 = load ptr, ptr %t4 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_find_global(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 %t59 = icmp eq ptr %t58, null %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then9, label %ifend11 then9: %t62 = load ptr, ptr %t4 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call ptr @lp_str_concat(ptr @.str9570, ptr %t64) call void @fn_perr(ptr %t65) br label %ifend11 ifend11: %t66 = load ptr, ptr %t4 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr @.str9571, ptr %t68) store ptr %t69, ptr %t5 %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t6 br label %ifend5 ifend5: br label %ifend2 else1: %t73 = load ptr, ptr %t4 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 0 %t75 = load i32, ptr %t74 %t76 = icmp eq i32 %t75, 35 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then12, label %else13 then12: %t79 = load ptr, ptr %t4 %t80 = call ptr @fn_emit_member_addr(ptr %t79) store ptr %t80, ptr %t5 %t81 = load ptr, ptr @g_g_addr_ty store ptr %t81, ptr %t6 br label %ifend14 else13: %t82 = load ptr, ptr %t4 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0 %t84 = load i32, ptr %t83 %t85 = icmp eq i32 %t84, 36 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then15, label %else16 then15: %t88 = load ptr, ptr %t4 %t89 = call ptr @fn_emit_index_addr(ptr %t88) store ptr %t89, ptr %t5 %t90 = load ptr, ptr @g_g_addr_ty store ptr %t90, ptr %t6 br label %ifend17 else16: call void @fn_perr(ptr @.str9572) br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend2 ifend2: %t91 = load ptr, ptr %t6 %t92 = call ptr @fn_llty(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 5 %t96 = load ptr, ptr %t95 %t97 = call ptr @fn_emit_expr(ptr %t96) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str9573) %t103 = icmp eq i32 %t102, 0 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then18, label %ifend20 then18: %t106 = load ptr, ptr %t93 %t107 = call ptr @lp_str_concat(ptr @.str9574, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str9575) %t109 = load ptr, ptr %t5 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = load ptr, ptr %t6 %t113 = call ptr @fn_val(ptr %t111, ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_compound_op(ptr %t117) %t119 = load ptr, ptr %t114 %t120 = load ptr, ptr %t98 %t121 = call ptr @fn_emit_bin_vals(ptr %t118, ptr %t119, ptr %t120, i32 0) store ptr %t121, ptr %t98 br label %ifend20 ifend20: %t122 = load ptr, ptr %t98 %t123 = load ptr, ptr %t6 %t124 = call ptr @fn_coerce_code(ptr %t122, ptr %t123) store ptr %t124, ptr %t125 %t126 = load ptr, ptr %t93 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str9576) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then21, label %ifend23 then21: %t129 = load ptr, ptr %t125 %t130 = call ptr @lp_str_concat(ptr @.str9577, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str9578) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t125 br label %ifend23 ifend23: %t133 = load ptr, ptr %t93 %t134 = load ptr, ptr %t125 %t135 = load ptr, ptr %t5 call void @fn_store_at(ptr %t133, ptr %t134, ptr %t135) 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 @.str9579, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9580) %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 @.str9581) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9582) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str9583) 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 @.str9584) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9585) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9586) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9587) br label %ifend2 else1: call void @fn_emit(ptr @.str9588) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9589) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9590) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9591) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9592) 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 @.str9593) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9594) 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 @.str9595) 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 @.str9596) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9597) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9598) 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 @.str9599) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str9600) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str9601) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str9602) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str9603) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9604) %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 @.str9605, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9606) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str9607) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str9608) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str9609) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9610) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9611) 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 @.str9612) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9613) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9614) 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 @.str9615) 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 @.str9616, 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 @.str9617) %t16 = call ptr @fn_lbl(ptr @.str9618) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str9619) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str9620) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str9621) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str9622) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9623) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9624) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str9625, 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 @.str9626, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9627) %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 @.str9628) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9629) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9630) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9631) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9632) 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 @.str9633) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str9634) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9635) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str9636, 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 @.str9637, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9638) %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 @.str9639, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str9640) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9641) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9642) 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 %t11 = 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 = 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: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_emit_expr(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_ret_ty %t13 = call ptr @fn_llty(ptr %t12) %t14 = load ptr, ptr %t11 %t15 = load ptr, ptr @g_ret_ty %t16 = call ptr @fn_coerce_code(ptr %t14, ptr %t15) call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str9643) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9644) store i32 1, ptr @g_g_term br label %ret ret: ret void } 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 ptr, ptr %t16, i32 %t17 %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 %t11 br i1 %t24, label %sc3, label %scend4 sc3: %t26 = load ptr, ptr %t0 %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 = load i32, ptr %t1 %t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str9645) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t11 br label %scend4 scend4: %t39 = load i32, ptr %t11 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t41 = load i32, ptr %t1 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } 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 %t19 = alloca ptr %t55 = alloca i32 %t101 = alloca ptr %t104 = alloca ptr %t106 = alloca ptr %t121 = alloca ptr %t124 = 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 ptr, ptr %t15, i32 %t16 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t1 %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 = load ptr, ptr %t19 %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 1 %t29 = load i32, ptr %t28 %t30 = icmp ne i32 %t24, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then0, label %ifend2 then0: %t33 = load ptr, ptr %t1 %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 %t38 = call ptr @lp_str_concat(ptr @.str9646, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str9647) %t40 = load ptr, ptr %t1 %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 = call ptr @fn_itoa(i32 %t44) %t46 = call ptr @lp_str_concat(ptr %t39, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str9648) %t48 = load ptr, ptr %t19 %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 = call ptr @fn_itoa(i32 %t52) %t54 = call ptr @lp_str_concat(ptr %t47, ptr %t53) call void @fn_perr(ptr %t54) br label %ifend2 ifend2: store i32 0, ptr %t55 br label %wcond3 wcond3: %t56 = load i32, ptr %t55 %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 1 %t61 = load i32, ptr %t60 %t62 = icmp slt i32 %t56, %t61 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %wbody4, label %wend5 wbody4: %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 = load i32, ptr %t55 %t71 = getelementptr inbounds ptr, ptr %t69, i32 %t70 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 0 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 33 %t76 = zext i1 %t75 to i32 %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then6, label %ifend8 then6: %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 %t85 = call ptr @lp_str_concat(ptr @.str9649, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str9650) %t87 = load i32, ptr %t55 %t88 = call ptr @fn_itoa(i32 %t87) %t89 = call ptr @lp_str_concat(ptr %t86, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str9651) call void @fn_perr(ptr %t90) br label %ifend8 ifend8: %t91 = load ptr, ptr %t19 %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 = load i32, ptr %t55 %t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_llty(ptr %t102) store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str9652) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str9653) %t108 = load ptr, ptr %t2 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str9654) %t111 = load i32, ptr %t55 %t112 = add i32 %t111, 1 %t113 = mul i32 8, %t112 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str9655) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr @.str9656, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str9657) %t118 = load ptr, ptr %t106 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) %t120 = call ptr @fn_emit_bind(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t104 %t123 = call ptr @fn_emit_alloca(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t104 %t126 = load ptr, ptr %t121 %t127 = load ptr, ptr %t124 call void @fn_store_at(ptr %t125, ptr %t126, ptr %t127) %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 = load i32, ptr %t55 %t134 = getelementptr inbounds ptr, ptr %t132, i32 %t133 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 %t138 = load ptr, ptr %t124 %t139 = load ptr, ptr %t101 call void @fn_loc_push(ptr %t137, ptr %t138, ptr %t139) %t140 = load i32, ptr %t55 %t141 = add i32 %t140, 1 store i32 %t141, ptr %t55 br label %wcond3 wend5: 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 %t31 = alloca ptr %t36 = alloca ptr %t37 = alloca i32 %t38 = alloca ptr %t39 = alloca i32 %t57 = alloca ptr %t61 = alloca ptr %t77 = alloca i32 %t100 = alloca ptr %t113 = alloca ptr %t115 = alloca ptr %t121 = alloca i32 %t155 = alloca i32 %t163 = 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 @.str9658, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str9659) 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 ptr, ptr %t27, i32 %t28 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_arm_is_default(ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then3, label %else4 then3: %t35 = load ptr, ptr %t31 store ptr %t35, ptr %t11 br label %ifend5 else4: store ptr @.str9660, ptr %t36 store i32 1, ptr %t37 store ptr null, ptr %t38 store i32 0, ptr %t39 br label %wcond6 wcond6: %t40 = load i32, ptr %t39 %t41 = load ptr, ptr %t31 %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 1 %t45 = load i32, ptr %t44 %t46 = icmp slt i32 %t40, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody7, label %wend8 wbody7: %t49 = load ptr, ptr %t31 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t39 %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 %t56 = load ptr, ptr %t55 store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t57 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 0 %t64 = load i32, ptr %t63 %t65 = icmp eq i32 %t64, 34 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then9, label %ifend11 then9: %t68 = load ptr, ptr %t57 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t61 %t73 = load ptr, ptr %t57 store ptr %t73, ptr %t38 br label %ifend11 ifend11: %t74 = load ptr, ptr %t2 %t75 = load ptr, ptr %t61 %t76 = call i32 @fn_variant_ordinal(ptr %t74, ptr %t75) store i32 %t76, ptr %t77 %t78 = load i32, ptr %t77 %t79 = icmp slt i32 %t78, 0 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then12, label %ifend14 then12: %t82 = load ptr, ptr %t61 %t83 = call ptr @lp_str_concat(ptr @.str9661, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9662) %t85 = load ptr, ptr %t2 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 %t88 = call ptr @lp_str_concat(ptr %t84, ptr %t87) call void @fn_perr(ptr %t88) br label %ifend14 ifend14: %t89 = load i32, ptr %t12 %t90 = load i32, ptr %t77 %t91 = shl i32 1, %t90 %t92 = or i32 %t89, %t91 store i32 %t92, ptr %t12 %t93 = load ptr, ptr %t8 %t94 = call ptr @lp_str_concat(ptr @.str9663, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str9664) %t96 = load i32, ptr %t77 %t97 = call ptr @fn_itoa(i32 %t96) %t98 = call ptr @lp_str_concat(ptr %t95, ptr %t97) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = load i32, ptr %t37 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then15, label %else16 then15: %t103 = load ptr, ptr %t100 store ptr %t103, ptr %t36 store i32 0, ptr %t37 br label %ifend17 else16: %t104 = load ptr, ptr %t36 %t105 = call ptr @lp_str_concat(ptr @.str9665, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str9666) %t107 = load ptr, ptr %t100 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @fn_emit_bind(ptr %t108) store ptr %t109, ptr %t36 br label %ifend17 ifend17: %t110 = load i32, ptr %t39 %t111 = add i32 %t110, 1 store i32 %t111, ptr %t39 br label %wcond6 wend8: %t112 = call ptr @fn_lbl(ptr @.str9667) store ptr %t112, ptr %t113 %t114 = call ptr @fn_lbl(ptr @.str9668) store ptr %t114, ptr %t115 call void @fn_emit(ptr @.str9669) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9670) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9671) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9672) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9673) store i32 0, ptr @g_g_term %t120 = load i32, ptr @g_nloc store i32 %t120, ptr %t121 %t122 = load ptr, ptr %t38 %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then18, label %ifend20 then18: %t126 = load ptr, ptr %t2 %t127 = load ptr, ptr %t38 %t128 = load ptr, ptr %t1 call void @fn_emit_bind_payload(ptr %t126, ptr %t127, ptr %t128) br label %ifend20 ifend20: %t129 = load ptr, ptr %t31 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 4 %t131 = load ptr, ptr %t130 call void @fn_emit_block(ptr %t131) %t132 = load i32, ptr %t121 store i32 %t132, ptr @g_nloc %t133 = load i32, ptr @g_g_term %t134 = icmp eq i32 %t133, 0 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str9674) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str9675) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9676) store i32 0, ptr @g_g_term br label %ifend5 ifend5: %t139 = load i32, ptr %t13 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t13 br label %wcond0 wend2: %t141 = load ptr, ptr %t11 %t142 = icmp ne ptr %t141, null %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then24, label %else25 then24: %t145 = load ptr, ptr %t11 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4 %t147 = load ptr, ptr %t146 call void @fn_emit_block(ptr %t147) br label %ifend26 else25: %t148 = load ptr, ptr %t2 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = shl i32 1, %t152 %t154 = sub i32 %t153, 1 store i32 %t154, ptr %t155 %t156 = load i32, ptr %t12 %t157 = load i32, ptr %t155 %t158 = icmp eq i32 %t156, %t157 %t159 = zext i1 %t158 to i32 %t160 = icmp eq i32 %t159, 0 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then27, label %ifend29 then27: store i32 0, ptr %t163 br label %wcond30 wcond30: %t164 = load i32, ptr %t163 %t165 = load ptr, ptr %t2 %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 1 %t169 = load i32, ptr %t168 %t170 = icmp slt i32 %t164, %t169 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %wbody31, label %wend32 wbody31: %t173 = load i32, ptr %t12 %t174 = load i32, ptr %t163 %t175 = shl i32 1, %t174 %t176 = and i32 %t173, %t175 %t177 = icmp eq i32 %t176, 0 %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then33, label %ifend35 then33: %t180 = load ptr, ptr %t2 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 %t183 = call ptr @lp_str_concat(ptr @.str9677, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str9678) %t185 = load ptr, ptr %t2 %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 = load i32, ptr %t163 %t191 = getelementptr inbounds ptr, ptr %t189, i32 %t190 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 %t195 = call ptr @lp_str_concat(ptr %t184, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str9679) call void @fn_perr(ptr %t196) br label %ifend35 ifend35: %t197 = load i32, ptr %t163 %t198 = add i32 %t197, 1 store i32 %t198, ptr %t163 br label %wcond30 wend32: br label %ifend29 ifend29: br label %ifend26 ifend26: %t199 = load i32, ptr @g_g_term %t200 = icmp eq i32 %t199, 0 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then36, label %ifend38 then36: call void @fn_emit(ptr @.str9680) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str9681) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) call void @fn_emit(ptr @.str9682) 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 %t39 = alloca ptr %t44 = alloca ptr %t45 = alloca i32 %t46 = alloca i32 %t65 = alloca ptr %t76 = alloca ptr %t89 = alloca ptr %t91 = 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 @.str9683) 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 ptr, ptr %t35, i32 %t36 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call i32 @fn_arm_is_default(ptr %t40) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then6, label %else7 then6: %t43 = load ptr, ptr %t39 store ptr %t43, ptr %t20 br label %ifend8 else7: store ptr @.str9684, ptr %t44 store i32 1, ptr %t45 store i32 0, ptr %t46 br label %wcond9 wcond9: %t47 = load i32, ptr %t46 %t48 = load ptr, ptr %t39 %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 %wbody10, label %wend11 wbody10: %t56 = load ptr, ptr %t39 %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 ptr, ptr %t60, i32 %t61 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_emit_expr(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t5 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr @.str9685, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9686) %t71 = load ptr, ptr %t65 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = call ptr @lp_str_concat(ptr %t70, ptr %t73) %t75 = call ptr @fn_emit_bind(ptr %t74) store ptr %t75, ptr %t76 %t77 = load i32, ptr %t45 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then12, label %else13 then12: %t79 = load ptr, ptr %t76 store ptr %t79, ptr %t44 store i32 0, ptr %t45 br label %ifend14 else13: %t80 = load ptr, ptr %t44 %t81 = call ptr @lp_str_concat(ptr @.str9687, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str9688) %t83 = load ptr, ptr %t76 %t84 = call ptr @lp_str_concat(ptr %t82, ptr %t83) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t44 br label %ifend14 ifend14: %t86 = load i32, ptr %t46 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t46 br label %wcond9 wend11: %t88 = call ptr @fn_lbl(ptr @.str9689) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str9690) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str9691) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9692) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9693) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9694) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str9695) store i32 0, ptr @g_g_term %t96 = load ptr, ptr %t39 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 %t98 = load ptr, ptr %t97 call void @fn_emit_block(ptr %t98) %t99 = load i32, ptr @g_g_term %t100 = icmp eq i32 %t99, 0 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str9696) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str9697) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str9698) store i32 0, ptr @g_g_term br label %ifend8 ifend8: %t105 = load i32, ptr %t21 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t21 br label %wcond3 wend5: %t107 = load ptr, ptr %t20 %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then18, label %ifend20 then18: %t111 = load ptr, ptr %t20 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = load ptr, ptr %t112 call void @fn_emit_block(ptr %t113) br label %ifend20 ifend20: %t114 = load i32, ptr @g_g_term %t115 = icmp eq i32 %t114, 0 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str9699) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9700) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9701) 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 %t46 = alloca ptr %t47 = alloca ptr %t48 = alloca i32 %t95 = alloca ptr %t96 = alloca ptr %t106 = alloca ptr %t120 = alloca ptr %t173 = alloca ptr %t181 = alloca i32 %t182 = alloca i32 %t193 = alloca ptr %t225 = alloca ptr %t241 = alloca ptr %t242 = alloca i32 %t279 = 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 @.str9702, 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 ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 store ptr null, ptr %t47 store i32 0, ptr %t48 br label %wcond6 wcond6: %t49 = load i32, ptr %t48 %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 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 %t49, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %wbody7, label %wend8 wbody7: %t60 = load ptr, ptr %t0 %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 7 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = load i32, ptr %t48 %t68 = getelementptr inbounds ptr, ptr %t66, i32 %t67 %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 %t46 %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 br i1 %t76, label %then9, label %ifend11 then9: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4 %t79 = load ptr, ptr %t78 %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 = load i32, ptr %t48 %t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 %t88 = load ptr, ptr %t87 store ptr %t88, ptr %t47 br label %ifend11 ifend11: %t89 = load i32, ptr %t48 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t48 br label %wcond6 wend8: %t91 = load ptr, ptr %t46 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3 %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_llty(ptr %t93) store ptr %t94, ptr %t95 store ptr @.str9703, ptr %t96 %t97 = load ptr, ptr %t95 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str9704) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: store ptr @.str9705, ptr %t96 br label %ifend14 ifend14: %t100 = load ptr, ptr %t47 %t101 = icmp ne ptr %t100, null %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then15, label %else16 then15: %t104 = load ptr, ptr %t47 %t105 = call ptr @fn_emit_expr(ptr %t104) store ptr %t105, ptr %t106 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 store ptr %t109, ptr %t96 br label %ifend17 else16: %t110 = load ptr, ptr %t46 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = load ptr, ptr %t111 %t113 = icmp ne ptr %t112, null %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: %t116 = load ptr, ptr %t46 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 %t118 = load ptr, ptr %t117 %t119 = call ptr @fn_emit_expr(ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 store ptr %t123, ptr %t96 br label %ifend20 ifend20: br label %ifend17 ifend17: %t124 = load ptr, ptr %t20 %t125 = load ptr, ptr %t96 %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2 %t128 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t129 = load i32, ptr %t126 %t130 = load i32, ptr %t127 %t131 = icmp sge i32 %t129, %t130 br i1 %t131, label %grow21, label %put22 grow21: %t132 = mul i32 %t130, 2 %t133 = icmp eq i32 %t130, 0 %t134 = select i1 %t133, i32 8, i32 %t132 %t135 = getelementptr ptr, ptr null, i32 1 %t136 = ptrtoint ptr %t135 to i64 %t137 = zext i32 %t134 to i64 %t138 = mul i64 %t137, %t136 %t139 = load ptr, ptr %t128 %t140 = call ptr @realloc(ptr %t139, i64 %t138) store ptr %t140, ptr %t128 store i32 %t134, ptr %t127 br label %put22 put22: %t141 = load ptr, ptr %t128 %t142 = getelementptr inbounds ptr, ptr %t141, i32 %t129 store ptr %t125, ptr %t142 %t143 = add i32 %t129, 1 store i32 %t143, ptr %t126 %t144 = load ptr, ptr %t27 %t145 = load ptr, ptr %t95 %t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 2 %t148 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t149 = load i32, ptr %t146 %t150 = load i32, ptr %t147 %t151 = icmp sge i32 %t149, %t150 br i1 %t151, label %grow23, label %put24 grow23: %t152 = mul i32 %t150, 2 %t153 = icmp eq i32 %t150, 0 %t154 = select i1 %t153, i32 8, i32 %t152 %t155 = getelementptr ptr, 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 %put24 put24: %t161 = load ptr, ptr %t148 %t162 = getelementptr inbounds ptr, ptr %t161, i32 %t149 store ptr %t145, ptr %t162 %t163 = add i32 %t149, 1 store i32 %t163, ptr %t146 %t164 = load i32, ptr %t28 %t165 = add i32 %t164, 1 store i32 %t165, ptr %t28 br label %wcond3 wend5: %t166 = load ptr, ptr %t5 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 3 %t168 = load ptr, ptr %t167 %t169 = icmp ne ptr %t168, null %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then25, label %ifend27 then25: %t172 = call ptr @fn_nreg() store ptr %t172, ptr %t173 call void @fn_emit(ptr @.str9706) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str9707) call void @fn_emit(ptr @.str9708) %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = call i32 @fn_net_event_id(ptr %t177) %t179 = call ptr @fn_itoa(i32 %t178) call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str9709) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9710) store i32 4, ptr %t181 store i32 0, ptr %t182 br label %wcond28 wcond28: %t183 = load i32, ptr %t182 %t184 = load ptr, ptr %t5 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp slt i32 %t183, %t188 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %wbody29, label %wend30 wbody29: %t192 = call ptr @fn_nreg() store ptr %t192, ptr %t193 call void @fn_emit(ptr @.str9711) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str9712) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9713) call void @fn_emit(ptr @.str9714) %t197 = load ptr, ptr %t27 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = load i32, ptr %t182 %t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200 %t202 = load ptr, ptr %t201 call void @fn_emit(ptr %t202) call void @fn_emit(ptr @.str9715) %t203 = load ptr, ptr %t20 %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = load i32, ptr %t182 %t207 = getelementptr inbounds ptr, ptr %t205, i32 %t206 %t208 = load ptr, ptr %t207 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str9716) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str9717) %t210 = load ptr, ptr %t5 %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 = load i32, ptr %t182 %t216 = getelementptr inbounds ptr, ptr %t214, i32 %t215 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 3 %t219 = load ptr, ptr %t218 %t220 = call i32 @fn_net_field_ibytes(ptr %t219) %t221 = load i32, ptr %t181 %t222 = add i32 %t221, %t220 store i32 %t222, ptr %t181 %t223 = load i32, ptr %t182 %t224 = add i32 %t223, 1 store i32 %t224, ptr %t182 br label %wcond28 wend30: store ptr @.str9718, ptr %t225 %t226 = load ptr, ptr %t5 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 3 %t228 = load ptr, ptr %t227 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str9719) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: store ptr @.str9720, ptr %t225 br label %ifend33 ifend33: %t231 = call ptr @fn_find_extern(ptr @.str9721) %t232 = icmp eq ptr %t231, null %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then34, label %ifend36 then34: store i32 1, ptr @g_g_uses_loopback br label %ifend36 ifend36: call void @fn_emit(ptr @.str9722) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9723) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9724) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9725) %t239 = call ptr @fn_val(ptr @.str9726, ptr @.str9727) store ptr %t239, ptr %retval br label %ret ifend27: %t240 = call ptr @fn_buf_new() store ptr %t240, ptr %t241 store i32 0, ptr %t242 br label %wcond37 wcond37: %t243 = load i32, ptr %t242 %t244 = load ptr, ptr %t20 %t245 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t246 = load i32, ptr %t245 %t247 = icmp slt i32 %t243, %t246 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %wbody38, label %wend39 wbody38: %t250 = load i32, ptr %t242 %t251 = icmp sgt i32 %t250, 0 %t252 = zext i1 %t251 to i32 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then40, label %ifend42 then40: %t254 = load ptr, ptr %t241 call void @fn_buf_puts(ptr %t254, ptr @.str9728) br label %ifend42 ifend42: %t255 = load ptr, ptr %t241 %t256 = load ptr, ptr %t27 %t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = load i32, ptr %t242 %t260 = getelementptr inbounds ptr, ptr %t258, i32 %t259 %t261 = load ptr, ptr %t260 call void @fn_buf_puts(ptr %t255, ptr %t261) %t262 = load ptr, ptr %t241 call void @fn_buf_puts(ptr %t262, ptr @.str9729) %t263 = load ptr, ptr %t241 %t264 = load ptr, ptr %t20 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = load i32, ptr %t242 %t268 = getelementptr inbounds ptr, ptr %t266, i32 %t267 %t269 = load ptr, ptr %t268 call void @fn_buf_puts(ptr %t263, ptr %t269) %t270 = load i32, ptr %t242 %t271 = add i32 %t270, 1 store i32 %t271, ptr %t242 br label %wcond37 wend39: %t272 = load ptr, ptr %t5 %t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 2 %t274 = load i32, ptr %t273 %t275 = icmp eq i32 %t274, 1 %t276 = zext i1 %t275 to i32 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then43, label %ifend45 then43: %t278 = call ptr @fn_nreg() store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str9730) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str9731) %t281 = load ptr, ptr %t0 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 1 %t283 = load ptr, ptr %t282 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str9732) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9733) %t286 = load ptr, ptr %t279 %t287 = call ptr @fn_val(ptr %t286, ptr @.str9734) store ptr %t287, ptr %retval br label %ret ifend45: call void @fn_emit(ptr @.str9735) %t288 = load ptr, ptr %t0 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1 %t290 = load ptr, ptr %t289 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str9736) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str9737) %t293 = call ptr @fn_val(ptr @.str9738, ptr @.str9739) store ptr %t293, ptr %retval br label %ret ret: %t294 = load ptr, ptr %retval ret ptr %t294 } define void @fn_emit_stmt(ptr %arg_st) { entry: %t0 = alloca ptr %t19 = alloca ptr %t28 = alloca ptr %t35 = alloca ptr %t53 = alloca ptr %t70 = alloca ptr %t168 = alloca ptr %t205 = alloca ptr %t241 = 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 3 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = icmp eq ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 %t26 = load ptr, ptr %t25 %t27 = call ptr @fn_emit_expr(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t19 %t32 = load ptr, ptr %t19 %t33 = call ptr @fn_llty(ptr %t32) %t34 = call ptr @fn_emit_alloca(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t19 %t37 = call ptr @fn_llty(ptr %t36) %t38 = load ptr, ptr %t28 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t35 call void @fn_store_at(ptr %t37, ptr %t40, ptr %t41) %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t35 %t46 = load ptr, ptr %t19 call void @fn_loc_push(ptr %t44, ptr %t45, ptr %t46) %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 2 %t49 = load i32, ptr %t48 call void @fn_loc_set_mut(i32 %t49) br label %ret ifend5: %t50 = load ptr, ptr %t19 %t51 = call ptr @fn_llty(ptr %t50) %t52 = call ptr @fn_emit_alloca(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t55 %t57 = icmp eq ptr %t56, null %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then6, label %else7 then6: %t60 = load ptr, ptr %t19 %t61 = call ptr @fn_llty(ptr %t60) %t62 = load ptr, ptr %t19 %t63 = call ptr @fn_llty(ptr %t62) %t64 = call ptr @fn_zero_of(ptr %t63) %t65 = load ptr, ptr %t53 call void @fn_store_at(ptr %t61, ptr %t64, ptr %t65) br label %ifend8 else7: %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t19 %t72 = call ptr @fn_llty(ptr %t71) %t73 = load ptr, ptr %t70 %t74 = load ptr, ptr %t19 %t75 = call ptr @fn_coerce_code(ptr %t73, ptr %t74) %t76 = load ptr, ptr %t53 call void @fn_store_at(ptr %t72, ptr %t75, ptr %t76) br label %ifend8 ifend8: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = load ptr, ptr %t53 %t81 = load ptr, ptr %t19 call void @fn_loc_push(ptr %t79, ptr %t80, ptr %t81) %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 2 %t84 = load i32, ptr %t83 call void @fn_loc_set_mut(i32 %t84) br label %ret ifend2: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 11 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then9, label %ifend11 then9: %t91 = load ptr, ptr %t0 call void @fn_emit_assign(ptr %t91) br label %ret ifend11: %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 0 %t94 = load i32, ptr %t93 %t95 = icmp eq i32 %t94, 12 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then12, label %ifend14 then12: %t98 = load ptr, ptr %t0 call void @fn_emit_if(ptr %t98) br label %ret ifend14: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 0 %t101 = load i32, ptr %t100 %t102 = icmp eq i32 %t101, 13 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then15, label %ifend17 then15: %t105 = load ptr, ptr %t0 call void @fn_emit_while(ptr %t105) br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 0 %t108 = load i32, ptr %t107 %t109 = icmp eq i32 %t108, 14 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then18, label %ifend20 then18: %t112 = load ptr, ptr %t0 call void @fn_emit_for(ptr %t112) br label %ret ifend20: %t113 = load ptr, ptr %t0 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 0 %t115 = load i32, ptr %t114 %t116 = icmp eq i32 %t115, 15 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then21, label %ifend23 then21: %t119 = load ptr, ptr %t0 call void @fn_emit_return(ptr %t119) br label %ret ifend23: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 17 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then24, label %ifend26 then24: call void @fn_emit(ptr @.str9740) %t126 = load ptr, ptr @g_brk_lbl %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr @g_nloop %t130 = sub i32 %t129, 1 %t131 = getelementptr inbounds ptr, ptr %t128, i32 %t130 %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str9741) store i32 1, ptr @g_g_term br label %ret ifend26: %t133 = load ptr, ptr %t0 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 0 %t135 = load i32, ptr %t134 %t136 = icmp eq i32 %t135, 18 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then27, label %ifend29 then27: call void @fn_emit(ptr @.str9742) %t139 = load ptr, ptr @g_cnt_lbl %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = load i32, ptr @g_nloop %t143 = sub i32 %t142, 1 %t144 = getelementptr inbounds ptr, ptr %t141, i32 %t143 %t145 = load ptr, ptr %t144 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str9743) store i32 1, ptr @g_g_term br label %ret ifend29: %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 0 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 19 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then30, label %ifend32 then30: %t152 = load ptr, ptr %t0 call void @fn_emit_match(ptr %t152) br label %ret ifend32: %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, 21 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then33, label %ifend35 then33: %t159 = load ptr, ptr %t0 call void @fn_emit_query(ptr %t159) br label %ret ifend35: %t160 = load ptr, ptr %t0 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 %t162 = load i32, ptr %t161 %t163 = icmp eq i32 %t162, 22 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then36, label %ifend38 then36: %t166 = load ptr, ptr %t0 %t167 = call ptr @fn_emit_spawn(ptr %t166) store ptr %t167, ptr %t168 br label %ret ifend38: %t169 = load ptr, ptr %t0 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 0 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t171, 23 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then39, label %ifend41 then39: %t175 = load ptr, ptr %t0 call void @fn_emit_despawn(ptr %t175) br label %ret ifend41: %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 0 %t178 = load i32, ptr %t177 %t179 = icmp eq i32 %t178, 28 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then42, label %ifend44 then42: %t182 = load ptr, ptr %t0 call void @fn_emit_toggle(ptr %t182) br label %ret ifend44: %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, 46 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then45, label %ifend47 then45: %t189 = load ptr, ptr %t0 call void @fn_emit_attach(ptr %t189) br label %ret ifend47: %t190 = load ptr, ptr %t0 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 0 %t192 = load i32, ptr %t191 %t193 = icmp eq i32 %t192, 47 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then48, label %ifend50 then48: %t196 = load ptr, ptr %t0 call void @fn_emit_detach(ptr %t196) br label %ret ifend50: %t197 = load ptr, ptr %t0 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 0 %t199 = load i32, ptr %t198 %t200 = icmp eq i32 %t199, 49 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then51, label %ifend53 then51: %t203 = load ptr, ptr %t0 %t204 = call ptr @fn_emit_emit(ptr %t203) store ptr %t204, ptr %t205 br label %ret ifend53: %t206 = load ptr, ptr %t0 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 0 %t208 = load i32, ptr %t207 %t209 = icmp eq i32 %t208, 50 %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then54, label %ifend56 then54: %t212 = load ptr, ptr @g_g_cancel_addr %t213 = icmp eq ptr %t212, null %t214 = zext i1 %t213 to i32 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then57, label %ifend59 then57: call void @fn_perr(ptr @.str9744) br label %ifend59 ifend59: call void @fn_emit(ptr @.str9745) %t216 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str9746) br label %ret ifend56: %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, 24 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then60, label %ifend62 then60: %t223 = load ptr, ptr %t0 call void @fn_emit_machine(ptr %t223) br label %ret ifend62: %t224 = load ptr, ptr %t0 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 0 %t226 = load i32, ptr %t225 %t227 = icmp eq i32 %t226, 26 %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then63, label %ifend65 then63: %t230 = load ptr, ptr %t0 call void @fn_emit_become(ptr %t230) br label %ret ifend65: %t231 = load ptr, ptr %t0 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 0 %t233 = load i32, ptr %t232 %t234 = icmp eq i32 %t233, 16 %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then66, label %ifend68 then66: %t237 = load ptr, ptr %t0 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_emit_expr(ptr %t239) store ptr %t240, ptr %t241 br label %ret ifend68: call void @fn_perr(ptr @.str9747) 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t0 store ptr %t14, ptr %t13 %t15 = load ptr, ptr @g_brk_lbl %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr @g_nloop %t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18 %t20 = load ptr, ptr %t1 store ptr %t20, ptr %t19 br label %ifend2 else1: %t21 = load ptr, ptr @g_cnt_lbl %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t26 = load i32, ptr %t23 %t27 = load i32, ptr %t24 %t28 = icmp sge i32 %t26, %t27 br i1 %t28, label %grow3, label %put4 grow3: %t29 = mul i32 %t27, 2 %t30 = icmp eq i32 %t27, 0 %t31 = select i1 %t30, i32 8, i32 %t29 %t32 = getelementptr ptr, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 %t34 = zext i32 %t31 to i64 %t35 = mul i64 %t34, %t33 %t36 = load ptr, ptr %t25 %t37 = call ptr @realloc(ptr %t36, i64 %t35) store ptr %t37, ptr %t25 store i32 %t31, ptr %t24 br label %put4 put4: %t38 = load ptr, ptr %t25 %t39 = getelementptr inbounds ptr, ptr %t38, i32 %t26 store ptr %t22, ptr %t39 %t40 = add i32 %t26, 1 store i32 %t40, ptr %t23 %t41 = load ptr, ptr @g_brk_lbl %t42 = load ptr, ptr %t1 %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 %grow5, label %put6 grow5: %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 %put6 put6: %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 br label %ifend2 ifend2: %t61 = load i32, ptr @g_nloop %t62 = add i32 %t61, 1 store i32 %t62, 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 ptr, ptr %t10, i32 %t11 %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, 9 %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 %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: %t21 = call i32 @fn_uses_engine_systems() %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: store i32 0, ptr %retval br label %ret ret: %t23 = load i32, ptr %retval ret i32 %t23 } 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 ptr, ptr %t10, i32 %t11 %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, 10 %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 %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_find_comp(ptr %t13) %t15 = icmp ne ptr %t14, null %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t18 = load i32, ptr %t0 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t0 br label %wcond0 wend2: %t20 = call ptr @fn_find_comp(ptr @.str9748) %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 ptr, ptr %t10, i32 %t11 %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, 6 %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 %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } 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 %t38 = alloca ptr %t90 = alloca i32 call void @fn_emith(ptr @.str9749) call void @fn_emith(ptr @.str9750) call void @fn_emith(ptr @.str9751) %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 @.str9752) br label %ifend2 ifend2: call void @fn_emith(ptr @.str9753) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9754, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9755) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str9756, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9757) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str9758, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9759) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str9760) %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 @.str9761) call void @fn_emith(ptr @.str9762) 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 @.str9763, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9764) 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 ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %t38 %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, 8 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: %t45 = load ptr, ptr %t38 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str9765, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9766) %t50 = load ptr, ptr %t7 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str9767) %t53 = load ptr, ptr %t38 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @lp_str_concat(ptr %t52, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str9768) call void @fn_emith(ptr %t57) %t58 = load ptr, ptr %t38 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call ptr @lp_str_concat(ptr @.str9769, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str9770) %t63 = load ptr, ptr %t7 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9771) call void @fn_emith(ptr %t65) br label %ifend14 ifend14: %t66 = load ptr, ptr %t38 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 0 %t68 = load i32, ptr %t67 %t69 = icmp eq i32 %t68, 10 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then15, label %ifend17 then15: %t72 = load ptr, ptr %t38 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = call ptr @lp_str_concat(ptr @.str9772, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9773) call void @fn_emith(ptr %t76) br label %ifend17 ifend17: %t77 = load ptr, ptr %t38 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 0 %t79 = load i32, ptr %t78 %t80 = icmp eq i32 %t79, 9 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then18, label %ifend20 then18: %t83 = load ptr, ptr %t38 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str9774, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9775) call void @fn_emith(ptr %t87) br label %ifend20 ifend20: %t88 = load i32, ptr %t24 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t24 br label %wcond9 wend11: store i32 0, ptr %t90 br label %wcond21 wcond21: %t91 = load i32, ptr %t90 %t92 = load ptr, ptr @g_g_toggled_layers %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp slt i32 %t91, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %wbody22, label %wend23 wbody22: %t98 = load ptr, ptr @g_g_toggled_layers %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = load i32, ptr %t90 %t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str9776, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str9777) call void @fn_emith(ptr %t105) %t106 = load i32, ptr %t90 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t90 br label %wcond21 wend23: br label %ret ret: ret void } define void @fn_emit_ecs_allocator() { entry: %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str9778) 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 ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 8 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load i32, ptr %t2 %t22 = call ptr @fn_itoa(i32 %t21) %t23 = call ptr @lp_str_concat(ptr @.str9779, ptr %t22) store ptr %t23, ptr %t24 call void @fn_emit(ptr @.str9780) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9781) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9782) %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 ptr, ptr %t29, i32 %t30 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9783) call void @fn_emit(ptr @.str9784) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9785) br label %ifend5 ifend5: %t36 = load i32, ptr %t2 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t2 br label %wcond0 wend2: call void @fn_emit(ptr @.str9786) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9787) call void @fn_emit(ptr @.str9788) %t39 = call i32 @fn_net_has_owned() %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str9789) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9790) call void @fn_emit(ptr @.str9791) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9792) call void @fn_emit(ptr @.str9793) call void @fn_emit(ptr @.str9794) call void @fn_emit(ptr @.str9795) call void @fn_emit(ptr @.str9796) call void @fn_emit(ptr @.str9797) call void @fn_emit(ptr @.str9798) call void @fn_emit(ptr @.str9799) call void @fn_emit(ptr @.str9800) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9801) call void @fn_emit(ptr @.str9802) call void @fn_emit(ptr @.str9803) call void @fn_emit(ptr @.str9804) call void @fn_emit(ptr @.str9805) call void @fn_emit(ptr @.str9806) call void @fn_emit(ptr @.str9807) call void @fn_emit(ptr @.str9808) call void @fn_emit(ptr @.str9809) call void @fn_emit(ptr @.str9810) call void @fn_emit(ptr @.str9811) call void @fn_emit(ptr @.str9812) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9813) call void @fn_emit(ptr @.str9814) call void @fn_emit(ptr @.str9815) call void @fn_emit(ptr @.str9816) call void @fn_emit(ptr @.str9817) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9818) call void @fn_emit(ptr @.str9819) call void @fn_emit(ptr @.str9820) call void @fn_emit(ptr @.str9821) call void @fn_emit(ptr @.str9822) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9823) call void @fn_emit(ptr @.str9824) call void @fn_emit(ptr @.str9825) call void @fn_emit(ptr @.str9826) call void @fn_emit(ptr @.str9827) 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 ptr, ptr %t12, i32 %t13 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 10 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr @g_prog %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t1 %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = load ptr, ptr %t0 %t30 = call i32 @lp_str_eq(ptr %t28, ptr %t29) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: %t32 = load i32, ptr %t2 store i32 %t32, ptr %retval br label %ret ifend8: %t33 = load i32, ptr %t2 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t2 br label %ifend5 ifend5: %t35 = load i32, ptr %t1 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t37 = load i32, ptr %retval ret i32 %t37 } define void @fn_emit_query(ptr %arg_st) { entry: %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t42 = alloca ptr %t44 = alloca ptr %t46 = alloca ptr %t48 = alloca ptr %t54 = alloca ptr %t56 = alloca ptr %t63 = alloca ptr %t71 = alloca ptr %t73 = alloca ptr %t80 = alloca ptr %t85 = alloca ptr %t87 = alloca ptr %t95 = alloca ptr %t96 = alloca i32 %t114 = alloca ptr %t119 = alloca i32 %t120 = alloca ptr %t126 = alloca ptr %t133 = alloca ptr %t141 = alloca ptr %t147 = alloca ptr %t152 = alloca ptr %t160 = alloca ptr %t170 = alloca ptr %t176 = alloca ptr %t184 = alloca i32 %t185 = alloca i32 %t203 = alloca ptr %t204 = alloca i32 %t232 = alloca ptr %t243 = alloca ptr %t274 = alloca ptr %t281 = alloca ptr %t283 = alloca ptr %t303 = alloca ptr %t308 = 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 @.str9828) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str9829, ptr @.str9830, 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 ptr, ptr %t15, i32 %t16 %t18 = load ptr, ptr %t4 store ptr %t18, ptr %t17 br label %ifend2 else1: %t19 = load ptr, ptr @g_self_stk %t20 = load ptr, ptr %t4 %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 %grow3, label %put4 grow3: %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 %put4 put4: %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 br label %ifend2 ifend2: %t39 = load i32, ptr @g_nself %t40 = add i32 %t39, 1 store i32 %t40, ptr @g_nself %t41 = call ptr @fn_lbl(ptr @.str9831) store ptr %t41, ptr %t42 %t43 = call ptr @fn_lbl(ptr @.str9832) store ptr %t43, ptr %t44 %t45 = call ptr @fn_lbl(ptr @.str9833) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str9834) store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str9835) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9836) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9837) %t51 = load ptr, ptr %t4 %t52 = call ptr @lp_str_concat(ptr @.str9838, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_bind(ptr @.str9839) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 %t58 = call ptr @lp_str_concat(ptr @.str9840, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9841) %t60 = load ptr, ptr %t56 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @fn_emit_bind(ptr %t61) store ptr %t62, ptr %t63 call void @fn_emit(ptr @.str9842) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9843) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9844) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9845) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9846) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 %t69 = call ptr @lp_str_concat(ptr @.str9847, ptr %t68) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = call ptr @fn_nreg() store ptr %t72, ptr %t73 call void @fn_emit(ptr @.str9848) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9849) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9850) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9851) %t77 = load ptr, ptr %t73 %t78 = call ptr @lp_str_concat(ptr @.str9852, ptr %t77) %t79 = call ptr @fn_emit_bind(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t80 %t82 = call ptr @lp_str_concat(ptr @.str9853, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str9854) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_lbl(ptr @.str9855) store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str9856) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9857) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9858) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9859) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9860) %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6 %t94 = load ptr, ptr %t93 store ptr %t94, ptr %t95 store i32 0, ptr %t96 br label %wcond5 wcond5: %t97 = load i32, ptr %t96 %t98 = load ptr, ptr %t95 %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 1 %t102 = load i32, ptr %t101 %t103 = icmp slt i32 %t97, %t102 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %wbody6, label %wend7 wbody6: %t106 = load ptr, ptr %t95 %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 = load i32, ptr %t96 %t112 = getelementptr inbounds ptr, ptr %t110, i32 %t111 %t113 = load ptr, ptr %t112 store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 %t118 = call i32 @fn_find_arch_id(ptr %t117) store i32 %t118, ptr %t119 store ptr @.str9861, ptr %t120 %t121 = load i32, ptr %t119 %t122 = icmp sgt i32 %t121, 0 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then8, label %else9 then8: %t125 = call ptr @fn_nreg() store ptr %t125, ptr %t126 call void @fn_emit(ptr @.str9862) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str9863) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9864) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9865) %t130 = load ptr, ptr %t126 %t131 = call ptr @lp_str_concat(ptr @.str9866, 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 @.str9867, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9868) %t137 = load i32, ptr %t119 %t138 = call ptr @fn_itoa(i32 %t137) %t139 = call ptr @lp_str_concat(ptr %t136, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t114 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr @.str9869, ptr %t144) %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 @.str9870, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9871) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t141 %t154 = call ptr @lp_str_concat(ptr @.str9872, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9873) %t156 = load ptr, ptr %t152 %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t120 br label %ifend10 else9: %t159 = call ptr @fn_nreg() store ptr %t159, ptr %t160 call void @fn_emit(ptr @.str9874) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9875) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str9876) %t163 = load ptr, ptr %t114 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 1 %t165 = load ptr, ptr %t164 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str9877) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str9878) %t167 = load ptr, ptr %t160 %t168 = call ptr @lp_str_concat(ptr @.str9879, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = call ptr @lp_str_concat(ptr @.str9880, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9881) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: %t175 = call ptr @fn_lbl(ptr @.str9882) store ptr %t175, ptr %t176 call void @fn_emit(ptr @.str9883) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str9884) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str9885) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str9886) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9887) %t181 = load i32, ptr %t96 %t182 = add i32 %t181, 1 store i32 %t182, ptr %t96 br label %wcond5 wend7: %t183 = load i32, ptr @g_nloc store i32 %t183, ptr %t184 store i32 0, ptr %t185 store i32 0, ptr %t96 br label %wcond11 wcond11: %t186 = load i32, ptr %t96 %t187 = load ptr, ptr %t95 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp slt i32 %t186, %t191 %t193 = zext i1 %t192 to i32 %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %wbody12, label %wend13 wbody12: %t195 = load ptr, ptr %t95 %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 0 %t199 = load ptr, ptr %t198 %t200 = load i32, ptr %t96 %t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200 %t202 = load ptr, ptr %t201 store ptr %t202, ptr %t203 %t205 = load ptr, ptr %t203 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2 %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 %t204 br i1 %t210, label %sc14, label %scend15 sc14: %t212 = load ptr, ptr %t203 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 %t215 = call i32 @fn_find_arch_id(ptr %t214) %t216 = icmp eq i32 %t215, 0 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 %t219 = zext i1 %t218 to i32 store i32 %t219, ptr %t204 br label %scend15 scend15: %t220 = load i32, ptr %t204 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then16, label %ifend18 then16: %t222 = load i32, ptr %t185 %t223 = load ptr, ptr %t0 %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 1 %t227 = load i32, ptr %t226 %t228 = icmp slt i32 %t222, %t227 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then19, label %ifend21 then19: %t231 = call ptr @fn_nreg() store ptr %t231, ptr %t232 call void @fn_emit(ptr @.str9888) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str9889) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str9890) %t235 = load ptr, ptr %t203 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str9891) %t238 = load ptr, ptr %t203 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1 %t240 = load ptr, ptr %t239 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str9892) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) call void @fn_emit(ptr @.str9893) %t242 = call ptr @fn_emit_alloca(ptr @.str9894) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str9895) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9896) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9897) %t246 = load ptr, ptr %t0 %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 = load i32, ptr %t185 %t252 = getelementptr inbounds ptr, ptr %t250, i32 %t251 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1 %t255 = load ptr, ptr %t254 %t256 = load ptr, ptr %t243 %t257 = load ptr, ptr %t203 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 1 %t259 = load ptr, ptr %t258 call void @fn_loc_push(ptr %t255, ptr %t256, ptr %t259) %t260 = load i32, ptr %t185 %t261 = add i32 %t260, 1 store i32 %t261, ptr %t185 br label %ifend21 ifend21: br label %ifend18 ifend18: %t262 = load i32, ptr %t96 %t263 = add i32 %t262, 1 store i32 %t263, ptr %t96 br label %wcond11 wend13: %t264 = load ptr, ptr %t0 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 5 %t266 = load ptr, ptr %t265 %t267 = icmp ne ptr %t266, null %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then22, label %ifend24 then22: %t270 = load ptr, ptr %t0 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 5 %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 @.str9898, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9899) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = call ptr @fn_lbl(ptr @.str9900) store ptr %t282, ptr %t283 call void @fn_emit(ptr @.str9901) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str9902) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9903) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str9904) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str9905) br label %ifend24 ifend24: %t288 = load ptr, ptr %t46 %t289 = load ptr, ptr %t48 call void @fn_loop_push(ptr %t288, ptr %t289) %t290 = load ptr, ptr %t0 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4 %t292 = load ptr, ptr %t291 call void @fn_emit_block(ptr %t292) call void @fn_loop_pop() %t293 = load i32, ptr %t184 store i32 %t293, ptr @g_nloc %t294 = load i32, ptr @g_g_term %t295 = icmp eq i32 %t294, 0 %t296 = zext i1 %t295 to i32 %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str9906) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str9907) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str9908) %t300 = load ptr, ptr %t4 %t301 = call ptr @lp_str_concat(ptr @.str9909, ptr %t300) %t302 = call ptr @fn_emit_bind(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t303 %t305 = call ptr @lp_str_concat(ptr @.str9910, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9911) %t307 = call ptr @fn_emit_bind(ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t308 %t310 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str9912, ptr %t309, ptr %t310) call void @fn_emit(ptr @.str9913) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str9914) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str9915) store i32 0, ptr @g_g_term %t313 = load i32, ptr @g_nself %t314 = sub i32 %t313, 1 store i32 %t314, 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 @.str9916) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str9917) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9918) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9919) %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 ptr, ptr %t15, i32 %t16 %t18 = load ptr, ptr %t3 store ptr %t18, ptr %t17 br label %ifend2 else1: %t19 = load ptr, ptr @g_self_stk %t20 = load ptr, ptr %t3 %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 %grow3, label %put4 grow3: %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 %put4 put4: %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 br label %ifend2 ifend2: %t39 = load i32, ptr @g_nself %t40 = add i32 %t39, 1 store i32 %t40, ptr @g_nself %t41 = load ptr, ptr %t1 call void @fn_emit_block(ptr %t41) %t42 = load i32, ptr @g_nself %t43 = sub i32 %t42, 1 store i32 %t43, 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 %t46 = alloca ptr %t48 = alloca ptr %t58 = alloca ptr %t61 = alloca ptr %t72 = alloca ptr %t87 = alloca i32 %t105 = alloca ptr %t111 = alloca i32 %t117 = alloca ptr %t127 = alloca ptr %t133 = alloca ptr %t137 = alloca ptr %t146 = alloca ptr %t152 = alloca i32 %t154 = alloca ptr %t166 = 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 @.str9920, 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 @.str9921) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str9922) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9923) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9924) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9925) call void @fn_emit(ptr @.str9926) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9927) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9928) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9929) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9930) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9931) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9932) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9933) 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 ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str9934) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9935) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9936) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9937) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9938) %t54 = load ptr, ptr %t46 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_llty(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @fn_zero_of(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t46 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 4 %t64 = load ptr, ptr %t63 %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then6, label %ifend8 then6: %t68 = load ptr, ptr %t46 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_expr(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr %t46 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 3 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_coerce_code(ptr %t73, ptr %t76) store ptr %t77, ptr %t61 br label %ifend8 ifend8: call void @fn_emit(ptr @.str9939) %t78 = load ptr, ptr %t58 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9940) %t79 = load ptr, ptr %t61 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9941) %t80 = load ptr, ptr %t48 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9942) %t81 = load i32, ptr %t28 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t28 br label %wcond3 wend5: %t83 = load ptr, ptr %t2 %t84 = icmp ne ptr %t83, null %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then9, label %ifend11 then9: store i32 0, ptr %t87 br label %wcond12 wcond12: %t88 = load i32, ptr %t87 %t89 = load ptr, ptr %t2 %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 1 %t93 = load i32, ptr %t92 %t94 = icmp slt i32 %t88, %t93 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody13, label %wend14 wbody13: %t97 = load ptr, ptr %t2 %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 = load i32, ptr %t87 %t103 = getelementptr inbounds ptr, ptr %t101, i32 %t102 %t104 = load ptr, ptr %t103 store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t7 %t107 = load ptr, ptr %t105 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 %t110 = call i32 @fn_field_index(ptr %t106, ptr %t109) store i32 %t110, ptr %t111 %t112 = load i32, ptr %t111 %t113 = icmp sge i32 %t112, 0 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then15, label %ifend17 then15: %t116 = call ptr @fn_nreg() store ptr %t116, ptr %t117 call void @fn_emit(ptr @.str9943) %t118 = load ptr, ptr %t117 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9944) %t119 = load ptr, ptr %t1 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9945) %t120 = load ptr, ptr %t22 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str9946) %t121 = load i32, ptr %t111 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str9947) %t123 = load ptr, ptr %t105 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 4 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_emit_expr(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t7 %t129 = load ptr, ptr %t105 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_field_type(ptr %t128, ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t127 %t135 = load ptr, ptr %t133 %t136 = call ptr @fn_coerce_code(ptr %t134, ptr %t135) store ptr %t136, ptr %t137 call void @fn_emit(ptr @.str9948) %t138 = load ptr, ptr %t133 %t139 = call ptr @fn_llty(ptr %t138) call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str9949) %t140 = load ptr, ptr %t137 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str9950) %t141 = load ptr, ptr %t117 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str9951) br label %ifend17 ifend17: %t142 = load i32, ptr %t87 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t87 br label %wcond12 wend14: br label %ifend11 ifend11: %t144 = load ptr, ptr %t1 %t145 = call ptr @fn_onattach_body(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = icmp ne ptr %t147, null %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then18, label %ifend20 then18: %t151 = load i32, ptr @g_nloc store i32 %t151, ptr %t152 %t153 = call ptr @fn_emit_alloca(ptr @.str9952) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str9953) %t155 = load ptr, ptr %t22 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str9954) %t156 = load ptr, ptr %t154 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str9955) %t157 = load ptr, ptr %t1 %t158 = load ptr, ptr %t154 %t159 = load ptr, ptr %t1 call void @fn_loc_push(ptr %t157, ptr %t158, ptr %t159) %t160 = load ptr, ptr %t0 %t161 = load ptr, ptr %t146 call void @fn_emit_hook_with_self(ptr %t160, ptr %t161) %t162 = load i32, ptr %t152 store i32 %t162, ptr @g_nloc br label %ifend20 ifend20: %t163 = load ptr, ptr %t1 %t164 = call ptr @lp_str_concat(ptr @.str9956, ptr %t163) %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str9957) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_find_event(ptr %t167) %t169 = icmp ne ptr %t168, null %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str9958) %t172 = load ptr, ptr %t166 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str9959) %t173 = load ptr, ptr %t0 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str9960) br label %ifend23 ifend23: 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 %t24 = alloca ptr %t26 = alloca ptr %t33 = 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 ptr, ptr %t18, i32 %t19 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = call ptr @fn_nreg() store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str9961) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9962) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9963) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9964) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9965) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9966) %t32 = call ptr @fn_emit_alloca(ptr @.str9967) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9968) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9969) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9970) %t36 = load ptr, ptr %t24 %t37 = load ptr, ptr %t33 %t38 = load ptr, ptr %t24 call void @fn_loc_push(ptr %t36, ptr %t37, ptr %t38) %t39 = load i32, ptr %t4 %t40 = add i32 %t39, 1 store i32 %t40, 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 ptr, ptr %t20, i32 %t21 %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 %then6, label %ifend8 then6: %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 %t6 %t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load i32, ptr %t6 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t41 = load ptr, ptr %retval ret ptr %t41 } 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 ptr, ptr %t31, i32 %t32 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t38 = load i32, ptr %t35 %t39 = load i32, ptr %t36 %t40 = icmp sge i32 %t38, %t39 br i1 %t40, label %grow9, label %put10 grow9: %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 %put10 put10: %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 = load i32, ptr %t14 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t14 br label %wcond6 wend8: store i32 0, ptr %t14 br label %wcond11 wcond11: %t55 = load i32, ptr %t14 %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 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 %wbody12, label %wend13 wbody12: %t64 = load ptr, ptr %t13 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %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 = load i32, ptr %t14 %t73 = getelementptr inbounds ptr, ptr %t71, i32 %t72 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t76 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t77 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t78 = load i32, ptr %t75 %t79 = load i32, ptr %t76 %t80 = icmp sge i32 %t78, %t79 br i1 %t80, label %grow14, label %put15 grow14: %t81 = mul i32 %t79, 2 %t82 = icmp eq i32 %t79, 0 %t83 = select i1 %t82, i32 8, i32 %t81 %t84 = getelementptr ptr, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 %t86 = zext i32 %t83 to i64 %t87 = mul i64 %t86, %t85 %t88 = load ptr, ptr %t77 %t89 = call ptr @realloc(ptr %t88, i64 %t87) store ptr %t89, ptr %t77 store i32 %t83, ptr %t76 br label %put15 put15: %t90 = load ptr, ptr %t77 %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t78 store ptr %t74, ptr %t91 %t92 = add i32 %t78, 1 store i32 %t92, ptr %t75 %t93 = load i32, ptr %t14 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t14 br label %wcond11 wend13: %t95 = load ptr, ptr %t13 store ptr %t95, ptr %retval br label %ret ret: %t96 = load ptr, ptr %retval ret ptr %t96 } 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 @.str9971, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9972) 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 @.str9973) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9974, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9975) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str9976) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str9977) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 %t18 = call ptr @lp_str_concat(ptr @.str9978, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str9979) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str9980) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str9981) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9982) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str9983) %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 @.str9984) %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 @.str9985) %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 @.str9986, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9987) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9988) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str9989) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9990) %t52 = load ptr, ptr %t14 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str9991) 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 %t74 = alloca ptr %t90 = alloca ptr %t96 = alloca i32 %t105 = alloca ptr %t113 = 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 @.str9992, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str9993) 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 @.str9994, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str9995) %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 @.str9996) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9997) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9998) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9999) call void @fn_emit(ptr @.str10000) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10001) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10002) %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 ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t5 %t76 = load ptr, ptr %t74 %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = load ptr, ptr %t74 %t81 = call ptr @fn_prefab_record(ptr %t79, ptr %t80) %t82 = load ptr, ptr %t0 %t83 = load ptr, ptr %t74 %t84 = call ptr @fn_spawn_record(ptr %t82, ptr %t83) %t85 = call ptr @fn_merge_records(ptr %t81, ptr %t84) call void @fn_emit_init_component(ptr %t75, ptr %t76, ptr %t85) %t86 = load i32, ptr %t54 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t54 br label %wcond8 wend10: %t88 = load ptr, ptr %t10 %t89 = call ptr @fn_onspawn_body(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then11, label %ifend13 then11: %t95 = load i32, ptr @g_nloc store i32 %t95, ptr %t96 %t97 = load ptr, ptr %t53 %t98 = load ptr, ptr %t5 call void @fn_emit_bind_props(ptr %t97, ptr %t98) %t99 = load ptr, ptr %t5 %t100 = load ptr, ptr %t90 call void @fn_emit_hook_with_self(ptr %t99, ptr %t100) %t101 = load i32, ptr %t96 store i32 %t101, ptr @g_nloc br label %ifend13 ifend13: %t102 = load ptr, ptr %t10 %t103 = call ptr @lp_str_concat(ptr @.str10003, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str10004) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_find_event(ptr %t106) %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then14, label %ifend16 then14: call void @fn_emit(ptr @.str10005) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10006) %t112 = load ptr, ptr %t5 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10007) br label %ifend16 ifend16: br label %ifend7 else6: store i32 0, ptr %t113 br label %wcond17 wcond17: %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t0 %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 %wbody18, label %wend19 wbody18: %t123 = load ptr, ptr %t5 %t124 = load ptr, ptr %t0 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr %t113 %t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t0 %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 = load i32, ptr %t113 %t140 = getelementptr inbounds ptr, ptr %t138, i32 %t139 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 4 %t143 = load ptr, ptr %t142 call void @fn_emit_init_component(ptr %t123, ptr %t133, ptr %t143) %t144 = load i32, ptr %t113 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t113 br label %wcond17 wend19: br label %ifend7 ifend7: %t146 = load ptr, ptr %t5 store ptr %t146, ptr %retval br label %ret ret: %t147 = load ptr, ptr %retval ret ptr %t147 } 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 %t44 = alloca ptr %t53 = alloca ptr %t55 = alloca ptr %t57 = alloca ptr %t69 = 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 @.str10008, 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 @.str10009) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str10010) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10011) %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 @.str10012) %t24 = load ptr, ptr %t18 %t25 = call ptr @lp_str_concat(ptr @.str10013, 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 ptr, ptr %t38, i32 %t39 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t27 %t46 = call ptr @lp_str_concat(ptr @.str10014, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str10015) %t48 = load ptr, ptr %t44 %t49 = call i32 @fn_find_arch_id(ptr %t48) %t50 = call ptr @fn_itoa(i32 %t49) %t51 = call ptr @lp_str_concat(ptr %t47, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %t53 %t54 = call ptr @fn_lbl(ptr @.str10016) store ptr %t54, ptr %t55 %t56 = call ptr @fn_lbl(ptr @.str10017) store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str10018) %t58 = load ptr, ptr %t53 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str10019) %t59 = load ptr, ptr %t55 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10020) %t60 = load ptr, ptr %t57 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10021) %t61 = load ptr, ptr %t55 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10022) %t62 = load ptr, ptr %t44 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10023) %t63 = load ptr, ptr %t8 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10024) %t66 = load ptr, ptr %t44 %t67 = call ptr @lp_str_concat(ptr @.str10025, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str10026) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_find_event(ptr %t70) %t72 = icmp ne ptr %t71, null %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10027) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10028) %t76 = load ptr, ptr %t8 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10029) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10030) %t79 = load ptr, ptr %t57 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10031) %t80 = load ptr, ptr %t57 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10032) %t81 = load i32, ptr %t28 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t28 br label %wcond3 wend5: br label %ifend2 ifend2: %t83 = load ptr, ptr @g_g_events %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp sgt i32 %t85, 0 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str10033) %t89 = load ptr, ptr %t8 %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 @.str10034) br label %ifend11 ifend11: call void @fn_emit(ptr @.str10035) %t92 = load ptr, ptr %t8 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10036) 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 @.str10037) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10038) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10039) %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 @.str10040) %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 @.str10041) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10042, 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 @.str10043, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10044) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10045) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10046) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10047) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10048) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10049) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10050) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10051) 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 @.str10052) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10053) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10054) 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 @.str10055) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10056) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10057) %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 @.str10058) %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 @.str10059) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10060, 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 @.str10061, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10062) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10063) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10064) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10065) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10066) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10067) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10068) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10069) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str10070) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10071) %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 @.str10072) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10073) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10074) %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 @.str10075) %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 @.str10076) %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 @.str10077) %t60 = call ptr @fn_emit_alloca(ptr @.str10078) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10079) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10080) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10081) %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 @.str10082, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10083) 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 @.str10084) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10085) %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 @.str10086) 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 @.str10087) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10088) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10089) 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 %t15 = alloca ptr %t16 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t17 = load ptr, ptr %t15 %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 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t16 br i1 %t22, label %sc3, label %scend4 sc3: %t24 = load ptr, ptr %t15 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend4 scend4: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t15 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_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 @.str10090, 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 @.str10091, 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 @.str10092) %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 @.str10093) %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 @.str10094) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10095) %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 @.str10096) %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 @.str10097, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10098) 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 @.str10099, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10100) 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 @.str10101) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10102) 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 @.str10103) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10104) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10105) %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 @.str10106) %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 @.str10107) call void @fn_emit(ptr @.str10108) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10109) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10110) 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 @.str10111) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10112) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10113) %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 @.str10114) %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 @.str10115) %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 @.str10116) %t126 = call ptr @fn_emit_alloca(ptr @.str10117) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str10118) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str10119) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10120) %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 @.str10121, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10122) 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 @.str10123, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str10124) 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 @.str10125) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str10126) %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 @.str10127) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str10128, 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 @.str10129, 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 @.str10130) %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 @.str10131) %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 @.str10132) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str10133) %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 @.str10134) 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 @.str10135, 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 @.str10136) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10137) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code call void @fn_emit(ptr @.str10138) %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 @.str10139) %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 @.str10140) store ptr @.str10141, 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 @.str10142, 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 @.str10143, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10144) %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 @.str10145, 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 @.str10146, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10147) %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 @.str10148, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10149) %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 @.str10150) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str10151, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10152) %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 @.str10153, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10154) %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 @.str10155) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str10156) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str10157) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10158) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10159) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10160) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10161) %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 @.str10162) call void @fn_emit(ptr @.str10163) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10164) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10165) 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 @.str10166) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10167) 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 %t35 = alloca i32 %t48 = alloca i32 %t62 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: %t18 = load ptr, ptr @g_g_esys_comp %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t1 %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr @g_g_esys_fn %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t29 = load ptr, ptr %t28 call void @fn_emit_one_engine_system(ptr %t23, ptr %t29) br label %ifend5 ifend5: %t30 = load i32, ptr %t1 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t1 br label %wcond0 wend2: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10168) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %ifend8 then6: %t36 = load i32, ptr @g_g_uses_tween_rt %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t35 br i1 %t37, label %sc9, label %scend10 sc9: %t39 = call ptr @fn_find_fn(ptr @.str10169) %t40 = icmp ne ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t35 br label %scend10 scend10: %t44 = load i32, ptr %t35 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str10170) br label %ifend13 ifend13: %t46 = call i32 @fn_has_countdowns() %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: call void @fn_emit(ptr @.str10171) br label %ifend16 ifend16: %t49 = load i32, ptr @g_g_uses_fx %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t48 br i1 %t50, label %sc17, label %scend18 sc17: %t52 = call ptr @fn_find_fn(ptr @.str10172) %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 br label %scend18 scend18: %t57 = load i32, ptr %t48 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then19, label %ifend21 then19: call void @fn_emit(ptr @.str10173) br label %ifend21 ifend21: br label %ifend8 ifend8: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str10174) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then22, label %ifend24 then22: %t63 = load i32, ptr @g_g_uses_fx %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t62 br i1 %t64, label %sc25, label %scend26 sc25: %t66 = call ptr @fn_find_fn(ptr @.str10175) %t67 = icmp ne ptr %t66, null %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t62 br label %scend26 scend26: %t71 = load i32, ptr %t62 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then27, label %ifend29 then27: call void @fn_emit(ptr @.str10176) br label %ifend29 ifend29: br label %ifend24 ifend24: br label %ret ret: ret void } define void @fn_emit_countdown_system() { entry: %t1 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t18 = alloca ptr %t25 = alloca i32 %t26 = alloca i32 %t54 = alloca ptr %t58 = alloca ptr %t107 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str10177) call void @fn_emit(ptr @.str10178) call void @fn_emit(ptr @.str10179) call void @fn_emit(ptr @.str10180) call void @fn_emit(ptr @.str10181) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10182) call void @fn_emit(ptr @.str10183) 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 ptr, ptr %t14, i32 %t15 %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 %then3, label %ifend5 then3: store i32 0, ptr %t25 store i32 0, ptr %t26 br label %wcond6 wcond6: %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 %wbody7, label %wend8 wbody7: %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 0 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t26 %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 %t45 = load ptr, ptr %t44 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10184) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %ifend11 then9: store i32 1, ptr %t25 br label %ifend11 ifend11: %t48 = load i32, ptr %t26 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t26 br label %wcond6 wend8: %t50 = load i32, ptr %t25 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: %t52 = load i32, ptr %t3 %t53 = call ptr @fn_itoa(i32 %t52) store ptr %t53, ptr %t54 %t55 = load i32, ptr %t3 %t56 = add i32 %t55, 1 %t57 = call ptr @fn_itoa(i32 %t56) store ptr %t57, ptr %t58 call void @fn_emit(ptr @.str10185) %t59 = load ptr, ptr %t54 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10186) call void @fn_emit(ptr @.str10187) %t60 = load ptr, ptr %t54 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10188) %t61 = load ptr, ptr %t1 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10189) %t62 = load ptr, ptr %t18 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10190) call void @fn_emit(ptr @.str10191) %t65 = load ptr, ptr %t54 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10192) %t66 = load ptr, ptr %t54 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10193) call void @fn_emit(ptr @.str10194) %t67 = load ptr, ptr %t54 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10195) %t68 = load ptr, ptr %t54 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10196) call void @fn_emit(ptr @.str10197) %t69 = load ptr, ptr %t54 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10198) %t70 = load ptr, ptr %t54 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10199) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10200) call void @fn_emit(ptr @.str10201) %t72 = load ptr, ptr %t54 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10202) call void @fn_emit(ptr @.str10203) %t73 = load ptr, ptr %t54 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10204) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10205) %t75 = load ptr, ptr %t18 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10206) %t78 = load ptr, ptr %t18 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10207) store i32 0, ptr %t26 br label %wcond15 wcond15: %t81 = load i32, ptr %t26 %t82 = load ptr, ptr %t18 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 7 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp slt i32 %t81, %t86 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %wbody16, label %wend17 wbody16: %t90 = load ptr, ptr %t18 %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 %t26 %t96 = getelementptr inbounds ptr, ptr %t94, i32 %t95 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3 %t99 = load ptr, ptr %t98 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str10208) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then18, label %ifend20 then18: %t102 = load ptr, ptr %t54 %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10209) %t104 = load i32, ptr %t26 %t105 = call ptr @fn_itoa(i32 %t104) %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) store ptr %t106, ptr %t107 call void @fn_emit(ptr @.str10210) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10211) %t109 = load ptr, ptr %t18 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 %t111 = load ptr, ptr %t110 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10212) %t112 = load ptr, ptr %t54 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10213) %t113 = load i32, ptr %t26 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str10214) call void @fn_emit(ptr @.str10215) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10216) %t116 = load ptr, ptr %t107 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10217) call void @fn_emit(ptr @.str10218) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str10219) %t118 = load ptr, ptr %t107 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10220) call void @fn_emit(ptr @.str10221) %t119 = load ptr, ptr %t107 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10222) %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str10223) call void @fn_emit(ptr @.str10224) %t121 = load ptr, ptr %t107 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str10225) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10226) %t123 = load ptr, ptr %t107 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str10227) %t124 = load ptr, ptr %t107 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str10228) call void @fn_emit(ptr @.str10229) %t125 = load ptr, ptr %t107 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str10230) %t126 = load ptr, ptr %t107 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10231) br label %ifend20 ifend20: %t127 = load i32, ptr %t26 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t26 br label %wcond15 wend17: call void @fn_emit(ptr @.str10232) %t129 = load ptr, ptr %t58 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10233) %t130 = load i32, ptr %t3 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t3 br label %ifend14 ifend14: br label %ifend5 ifend5: %t132 = load i32, ptr %t4 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t4 br label %wcond0 wend2: call void @fn_emit(ptr @.str10234) %t134 = load i32, ptr %t3 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10235) call void @fn_emit(ptr @.str10236) 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 @.str10237, 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 @.str10238) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10239) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str10240) %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 @.str10241) %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 @.str10242) br label %ret ret: ret void } define void @fn_emit_prefab_fns() { entry: %t0 = alloca i32 %t28 = alloca ptr %t31 = alloca ptr %t46 = alloca ptr %t54 = alloca ptr %t62 = alloca ptr %t69 = alloca ptr %t74 = alloca ptr %t76 = alloca ptr %t78 = alloca ptr %t89 = 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 ptr, ptr %t10, i32 %t11 %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, 53 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr @g_prog %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t0 %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 call void @fn_emit_prefab_fn(ptr %t24) br label %ifend5 ifend5: %t25 = load i32, ptr %t0 %t26 = add i32 %t25, 1 store i32 %t26, 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 %t27 = call ptr @fn_buf_new() store ptr %t27, ptr %t28 %t29 = call ptr @fn_buf_new() store ptr %t29, ptr @g_falloc %t30 = load ptr, ptr @g_code store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t28 store ptr %t32, ptr @g_code store i32 0, ptr %t0 br label %wcond6 wcond6: %t33 = load i32, ptr %t0 %t34 = load ptr, ptr @g_prog %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 br i1 %t39, label %wbody7, label %wend8 wbody7: %t40 = load ptr, ptr @g_prog %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t0 %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 %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, 53 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then9, label %ifend11 then9: %t53 = call ptr @fn_node(i32 31) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t46 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t56 %t60 = load ptr, ptr %t54 %t61 = call ptr @fn_emit_expr(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = call ptr @lp_str_concat(ptr @.str10243, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10244) %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 @.str10245, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10246) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str10247) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str10248) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str10249) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10250) %t80 = load ptr, ptr %t76 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10251) %t81 = load ptr, ptr %t78 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10252) %t82 = load ptr, ptr %t76 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10253) %t83 = load ptr, ptr %t46 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str10254, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10255) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 call void @fn_emit(ptr @.str10256) %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10257) %t91 = load ptr, ptr %t78 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10258) br label %ifend11 ifend11: %t92 = load i32, ptr %t0 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t0 br label %wcond6 wend8: call void @fn_emit(ptr @.str10259) %t94 = load ptr, ptr %t31 store ptr %t94, ptr @g_code call void @fn_emit(ptr @.str10260) %t95 = load ptr, ptr @g_falloc %t96 = call ptr @fn_buf_str(ptr %t95) call void @fn_emit(ptr %t96) %t97 = load ptr, ptr %t28 %t98 = call ptr @fn_buf_str(ptr %t97) call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10261) 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 @.str10262) %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 @.str10263) %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 @.str10264) %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 @.str10265) %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 @.str10266) %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 @.str10267) %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 @.str10268) %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 @.str10269) %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 @.str10270, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10271) 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 @.str10272) %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 @.str10273) %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 @.str10274) %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 @.str10275) %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 @.str10276) %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 @.str10277) %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 @.str10278) %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 @.str10279) call void @fn_emith(ptr @.str10280) call void @fn_emith(ptr @.str10281) call void @fn_emith(ptr @.str10282) call void @fn_emith(ptr @.str10283) call void @fn_emith(ptr @.str10284) call void @fn_emith(ptr @.str10285) call void @fn_emith(ptr @.str10286) call void @fn_emith(ptr @.str10287) call void @fn_emith(ptr @.str10288) call void @fn_emith(ptr @.str10289) call void @fn_emith(ptr @.str10290) call void @fn_emith(ptr @.str10291) call void @fn_emith(ptr @.str10292) call void @fn_emith(ptr @.str10293) call void @fn_emith(ptr @.str10294) call void @fn_emith(ptr @.str10295) call void @fn_emith(ptr @.str10296) call void @fn_emith(ptr @.str10297) call void @fn_emit(ptr @.str10298) %t0 = call ptr @fn_find_fn(ptr @.str10299) %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 @.str10300) 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 @.str10301) %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 ptr, ptr %t14, i32 %t15 %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10302) %t18 = load ptr, ptr @g_g_mod_sys_phase %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t4 %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t23 = load ptr, ptr %t22 %t24 = call i32 @fn_phase_id(ptr %t23) %t25 = call ptr @fn_itoa(i32 %t24) call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10303) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str10304) call void @fn_emith(ptr @.str10305) 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 @.str10306) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str10307) call void @fn_emith(ptr @.str10308) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str10309) call void @fn_emith(ptr @.str10310) call void @fn_emit(ptr @.str10311) call void @fn_emit(ptr @.str10312) call void @fn_emit(ptr @.str10313) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10314) call void @fn_emit(ptr @.str10315) call void @fn_emit(ptr @.str10316) call void @fn_emit(ptr @.str10317) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10318) call void @fn_emit(ptr @.str10319) call void @fn_emit(ptr @.str10320) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10321) call void @fn_emit(ptr @.str10322) call void @fn_emit(ptr @.str10323) call void @fn_emit(ptr @.str10324) 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 @.str10325) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str10326) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str10327) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str10328) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str10329) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str10330) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10331) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10332) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10333) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10334) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10335) call void @fn_emit(ptr @.str10336) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str10337) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str10338) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10339) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10340) %t31 = call ptr @fn_emit_bind(ptr @.str10341) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str10342, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str10343) %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 @.str10344) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10345) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10346) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10347) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10348) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str10349) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10350) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10351) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10352) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str10353, 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 @.str10354, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str10355) %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 @.str10356) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10357) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10358) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10359) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10360) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str10361) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10362) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10363) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10364) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str10365, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str10366) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10367) call void @fn_emit(ptr @.str10368) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10369) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10370) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10371) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10372) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10373) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10374) br label %ret ret: ret void } define void @fn_emit_calls_for_phase(ptr %arg_phase) { entry: %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr %t16 = alloca i32 %t17 = alloca i32 %t47 = alloca i32 %t61 = alloca ptr %t62 = alloca i32 %t63 = alloca i32 %t95 = alloca ptr %t109 = alloca ptr %t110 = alloca i32 %t111 = alloca i32 %t149 = alloca ptr %t151 = alloca ptr %t153 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t18 = load ptr, ptr %t15 %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 %t17 br i1 %t23, label %sc3, label %scend4 sc3: %t25 = load ptr, ptr %t15 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = load ptr, ptr %t26 %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t17 br label %scend4 scend4: %t32 = load i32, ptr %t17 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t16 br i1 %t33, label %sc5, label %scend6 sc5: %t35 = load ptr, ptr %t15 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 6 %t37 = load ptr, ptr %t36 %t38 = icmp eq ptr %t37, null %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t16 br label %scend6 scend6: %t42 = load i32, ptr %t16 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then7, label %ifend9 then7: %t44 = load ptr, ptr %t15 call void @fn_emit_call_one(ptr %t44) br label %ifend9 ifend9: %t45 = load i32, ptr %t1 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %t47 store i32 0, ptr %t1 br label %wcond10 wcond10: %t48 = load i32, ptr %t1 %t49 = load ptr, ptr @g_prog %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp slt i32 %t48, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody11, label %wend12 wbody11: %t55 = load ptr, ptr @g_prog %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t1 %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 %t60 = load ptr, ptr %t59 store ptr %t60, ptr %t61 %t64 = load ptr, ptr %t61 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 %t66 = load i32, ptr %t65 %t67 = icmp eq i32 %t66, 9 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t63 br i1 %t69, label %sc13, label %scend14 sc13: %t71 = load ptr, ptr %t61 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t73, ptr %t74) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t63 br label %scend14 scend14: %t78 = load i32, ptr %t63 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t62 br i1 %t79, label %sc15, label %scend16 sc15: %t81 = load ptr, ptr %t61 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 6 %t83 = load ptr, ptr %t82 %t84 = icmp ne ptr %t83, null %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t62 br label %scend16 scend16: %t88 = load i32, ptr %t62 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then17, label %ifend19 then17: store i32 1, ptr %t47 br label %ifend19 ifend19: %t90 = load i32, ptr %t1 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t1 br label %wcond10 wend12: %t92 = load i32, ptr %t47 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then20, label %ifend22 then20: %t94 = call ptr @fn_emit_bind(ptr @.str10375) store ptr %t94, ptr %t95 store i32 0, ptr %t1 br label %wcond23 wcond23: %t96 = load i32, ptr %t1 %t97 = load ptr, ptr @g_prog %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp slt i32 %t96, %t99 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %wbody24, label %wend25 wbody24: %t103 = load ptr, ptr @g_prog %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = load i32, ptr %t1 %t107 = getelementptr inbounds ptr, ptr %t105, i32 %t106 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t109 %t112 = load ptr, ptr %t109 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 0 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 9 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t111 br i1 %t117, label %sc26, label %scend27 sc26: %t119 = load ptr, ptr %t109 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3 %t121 = load ptr, ptr %t120 %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t121, ptr %t122) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t111 br label %scend27 scend27: %t126 = load i32, ptr %t111 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t110 br i1 %t127, label %sc28, label %scend29 sc28: %t129 = load ptr, ptr %t109 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 6 %t131 = load ptr, ptr %t130 %t132 = icmp ne 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 %t110 br label %scend29 scend29: %t136 = load i32, ptr %t110 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then30, label %ifend32 then30: %t138 = load ptr, ptr %t95 %t139 = call ptr @lp_str_concat(ptr @.str10376, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10377) %t141 = load ptr, ptr %t109 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 2 %t145 = load i32, ptr %t144 %t146 = call ptr @fn_itoa(i32 %t145) %t147 = call ptr @lp_str_concat(ptr %t140, ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str10378) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str10379) store ptr %t152, ptr %t153 call void @fn_emit(ptr @.str10380) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10381) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10382) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10383) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str10384) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) call void @fn_emit(ptr @.str10385) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str10386) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) call void @fn_emit(ptr @.str10387) br label %ifend32 ifend32: %t161 = load i32, ptr %t1 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t1 br label %wcond23 wend25: br label %ifend22 ifend22: %t163 = load ptr, ptr %t0 call void @fn_emit_engine_systems_for_phase(ptr %t163) %t164 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t164) %t165 = load ptr, ptr %t0 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str10388) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then33, label %ifend35 then33: call void @fn_emit_scene_menu_render() br label %ifend35 ifend35: br label %ret ret: ret void } define void @fn_emit_scene_menu_render() { entry: %t0 = alloca i32 %t1 = alloca i32 %t27 = alloca ptr %t41 = alloca ptr %t57 = alloca ptr %t59 = alloca ptr %t61 = 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 %t16 = load ptr, ptr %t15 %t17 = icmp ne ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: store i32 1, ptr %t0 br label %ifend5 ifend5: %t20 = load i32, ptr %t1 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t1 br label %wcond0 wend2: %t22 = load i32, ptr %t0 %t23 = icmp eq i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: br label %ret ifend8: %t26 = call ptr @fn_emit_bind(ptr @.str10389) store ptr %t26, ptr %t27 store i32 0, ptr %t1 br label %wcond9 wcond9: %t28 = load i32, ptr %t1 %t29 = load ptr, ptr @g_g_scenes %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 %wbody10, label %wend11 wbody10: %t35 = load ptr, ptr @g_g_scenes %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t1 %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 %t40 = load ptr, ptr %t39 store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 3 %t44 = load ptr, ptr %t43 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then12, label %ifend14 then12: %t48 = load ptr, ptr %t27 %t49 = call ptr @lp_str_concat(ptr @.str10390, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10391) %t51 = load ptr, ptr %t41 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 2 %t53 = load i32, ptr %t52 %t54 = call ptr @fn_itoa(i32 %t53) %t55 = call ptr @lp_str_concat(ptr %t50, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = call ptr @fn_lbl(ptr @.str10392) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str10393) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10394) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10395) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10396) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10397) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10398) call void @fn_emit(ptr @.str10399) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10400) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10401) br label %ifend14 ifend14: %t68 = load i32, ptr %t1 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t1 br label %wcond9 wend11: 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 @.str10402, 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 @.str10403) %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 @.str10404) %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 @.str10405) br label %ifend7 ifend7: call void @fn_emit(ptr @.str10406) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str10407, 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 @.str10408) 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 @.str10409) %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 @.str10410) 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 @.str10411, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str10412) %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 @.str10413) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10414) 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 @.str10415) br label %ifend23 ifend23: call void @fn_emit(ptr @.str10416) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str10417) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10418) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10419) %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 @.str10420) br label %ret ret: ret void } define void @fn_emit_scene_hooks() { entry: %t0 = alloca i32 %t14 = 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 store ptr %t15, ptr @g_g_cur_scene %t16 = load ptr, ptr %t14 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t14 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t14 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t23 call void @fn_emit_scene_fn(ptr %t18, ptr @.str10421, ptr %t21, ptr %t24) %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = load ptr, ptr %t14 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 5 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t14 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 %t33 = load ptr, ptr %t32 call void @fn_emit_scene_fn(ptr %t27, ptr @.str10422, ptr %t30, ptr %t33) %t34 = load i32, ptr %t0 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t0 br label %wcond0 wend2: store ptr null, ptr @g_g_cur_scene %t36 = load ptr, ptr @g_g_scenes %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp sgt i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then3, label %ifend5 then3: call void @fn_emit_scene_leave_fn() br label %ifend5 ifend5: br label %ret ret: ret void } define void @fn_emit_scene_leave_fn() { entry: %t0 = alloca i32 %t14 = alloca ptr %t17 = alloca ptr call void @fn_emit(ptr @.str10423) call void @fn_emit(ptr @.str10424) 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load i32, ptr %t0 %t16 = call ptr @fn_itoa(i32 %t15) store ptr %t16, ptr %t17 call void @fn_emit(ptr @.str10425) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10426) %t19 = load ptr, ptr %t14 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 %t21 = load i32, ptr %t20 %t22 = call ptr @fn_itoa(i32 %t21) call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str10427) call void @fn_emit(ptr @.str10428) %t23 = load ptr, ptr %t17 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10429) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10430) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10431) call void @fn_emit(ptr @.str10432) %t26 = load ptr, ptr %t17 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10433) %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10434) call void @fn_emit(ptr @.str10435) %t30 = load ptr, ptr %t17 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10436) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str10437) br label %ret ret: ret void } define void @fn_emit_despawn_hooks() { entry: %t0 = alloca i32 %t14 = alloca ptr %t19 = alloca ptr %t21 = alloca ptr %t24 = alloca ptr %t33 = 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_find_arch(ptr %t17) store ptr %t18, ptr %t19 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 @.str10438, ptr @g_ret_ty %t20 = call ptr @fn_buf_new() store ptr %t20, ptr %t21 %t22 = call ptr @fn_buf_new() store ptr %t22, ptr @g_falloc %t23 = load ptr, ptr @g_code store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t21 store ptr %t25, ptr @g_code %t26 = load ptr, ptr %t14 %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 %then3, label %ifend5 then3: %t32 = call ptr @fn_emit_alloca(ptr @.str10439) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str10440) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10441) %t35 = load ptr, ptr %t14 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t33 call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str10442) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 call void @fn_emit_bind_props(ptr %t39, ptr @.str10443) %t40 = load ptr, ptr %t14 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 call void @fn_emit_block(ptr %t42) %t43 = load i32, ptr @g_g_term %t44 = icmp eq i32 %t43, 0 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10444) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10445) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code call void @fn_emit(ptr @.str10446) %t48 = load ptr, ptr %t14 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10447) %t51 = load ptr, ptr @g_falloc %t52 = call ptr @fn_buf_str(ptr %t51) call void @fn_emit(ptr %t52) %t53 = load ptr, ptr %t21 %t54 = call ptr @fn_buf_str(ptr %t53) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10448) %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, 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 %t25 = alloca ptr %t28 = alloca ptr %t41 = alloca ptr call void @fn_emit(ptr @.str10449) %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 @.str10450) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10451) call void @fn_emit(ptr @.str10452) 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 ptr, ptr %t19, i32 %t20 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load i32, ptr %t9 %t27 = call ptr @fn_itoa(i32 %t26) store ptr %t27, ptr %t28 call void @fn_emit(ptr @.str10453) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10454) %t30 = load ptr, ptr %t25 %t31 = call i32 @fn_find_arch_id(ptr %t30) %t32 = call ptr @fn_itoa(i32 %t31) call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10455) call void @fn_emit(ptr @.str10456) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10457) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10458) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10459) call void @fn_emit(ptr @.str10460) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10461) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10462) %t38 = load ptr, ptr %t25 %t39 = call ptr @lp_str_concat(ptr @.str10463, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10464) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_find_event(ptr %t42) %t44 = icmp ne ptr %t43, null %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10465) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10466) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10467) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10468) call void @fn_emit(ptr @.str10469) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10470) %t50 = load i32, ptr %t9 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t9 br label %wcond3 wend5: br label %ifend2 ifend2: %t52 = load ptr, ptr @g_g_events %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp sgt i32 %t54, 0 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str10471) br label %ifend11 ifend11: call void @fn_emit(ptr @.str10472) call void @fn_emit(ptr @.str10473) br label %ret ret: ret void } define void @fn_emit_despawn_all_fn() { entry: %t7 = alloca ptr %t10 = alloca i32 %t26 = alloca ptr %t29 = alloca ptr %t42 = 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 @.str10474) call void @fn_emit(ptr @.str10475) call void @fn_emit(ptr @.str10476) call void @fn_emit(ptr @.str10477) call void @fn_emit(ptr @.str10478) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10479) call void @fn_emit(ptr @.str10480) call void @fn_emit(ptr @.str10481) call void @fn_emit(ptr @.str10482) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str10483) call void @fn_emit(ptr @.str10484) 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 ptr, ptr %t20, i32 %t21 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load i32, ptr %t10 %t28 = call ptr @fn_itoa(i32 %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str10485) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10486) %t31 = load ptr, ptr %t26 %t32 = call i32 @fn_find_arch_id(ptr %t31) %t33 = call ptr @fn_itoa(i32 %t32) call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10487) call void @fn_emit(ptr @.str10488) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10489) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10490) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10491) call void @fn_emit(ptr @.str10492) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10493) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10494) %t39 = load ptr, ptr %t26 %t40 = call ptr @lp_str_concat(ptr @.str10495, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str10496) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_find_event(ptr %t43) %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10497) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10498) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10499) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10500) call void @fn_emit(ptr @.str10501) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10502) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str10503) call void @fn_emit(ptr @.str10504) call void @fn_emit(ptr @.str10505) br label %ret ret: ret void } define void @fn_emit_event_fns() { entry: %t0 = alloca i32 %t14 = alloca ptr %t18 = alloca ptr %t20 = alloca ptr %t22 = alloca i32 %t89 = alloca ptr %t92 = alloca ptr %t104 = alloca ptr %t105 = alloca i32 %t123 = alloca ptr %t128 = alloca ptr %t130 = alloca ptr %t142 = alloca ptr %t156 = alloca ptr %t176 = alloca i32 %t177 = alloca i32 %t212 = alloca ptr %t215 = alloca ptr %t217 = alloca ptr %t219 = alloca ptr %t225 = alloca ptr %t229 = alloca ptr %t236 = alloca ptr %t242 = alloca ptr %t250 = alloca ptr %t255 = alloca ptr %t257 = alloca ptr %t259 = alloca ptr %t272 = alloca ptr %t286 = alloca ptr %t289 = alloca ptr %t298 = alloca i32 %t334 = alloca ptr %t335 = alloca i32 %t351 = alloca ptr %t354 = alloca ptr call void @fn_emith(ptr @.str10506) 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = call ptr @fn_itoa(i32 16) store ptr %t19, ptr %t20 call void @fn_emith(ptr @.str10507) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str10508) store i32 0, ptr %t22 br label %wcond3 wcond3: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr %t14 %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 = icmp slt i32 %t23, %t28 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody4, label %wend5 wbody4: %t32 = load i32, ptr %t22 %t33 = icmp sgt i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str10509) br label %ifend8 ifend8: %t36 = load ptr, ptr %t14 %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 %t22 %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_llty(ptr %t45) call void @fn_emith(ptr %t46) %t47 = load i32, ptr %t22 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t22 br label %wcond3 wend5: %t49 = load ptr, ptr %t14 %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 %then9, label %ifend11 then9: %t55 = load ptr, ptr %t14 %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 1 %t59 = load i32, ptr %t58 %t60 = icmp sgt 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_emith(ptr @.str10510) br label %ifend14 ifend14: call void @fn_emith(ptr @.str10511) br label %ifend11 ifend11: call void @fn_emith(ptr @.str10512) call void @fn_emith(ptr @.str10513) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) call void @fn_emith(ptr @.str10514) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) call void @fn_emith(ptr @.str10515) call void @fn_emith(ptr @.str10516) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) call void @fn_emith(ptr @.str10517) call void @fn_emith(ptr @.str10518) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) call void @fn_emith(ptr @.str10519) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) call void @fn_emith(ptr @.str10520) call void @fn_emit(ptr @.str10521) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10522) call void @fn_emit(ptr @.str10523) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10524) call void @fn_emit(ptr @.str10525) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10526) call void @fn_emit(ptr @.str10527) call void @fn_emit(ptr @.str10528) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10529) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10530) call void @fn_emit(ptr @.str10531) call void @fn_emit(ptr @.str10532) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10533) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10534) call void @fn_emit(ptr @.str10535) call void @fn_emit(ptr @.str10536) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10537) call void @fn_emit(ptr @.str10538) call void @fn_emit(ptr @.str10539) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10540) call void @fn_emit(ptr @.str10541) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10542) call void @fn_emit(ptr @.str10543) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10544) call void @fn_emit(ptr @.str10545) call void @fn_emit(ptr @.str10546) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10547) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10548) call void @fn_emit(ptr @.str10549) call void @fn_emit(ptr @.str10550) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10551) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10552) call void @fn_emit(ptr @.str10553) call void @fn_emit(ptr @.str10554) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10555) call void @fn_emit(ptr @.str10556) call void @fn_emit(ptr @.str10557) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10558) call void @fn_emit(ptr @.str10559) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str10560) call void @fn_emit(ptr @.str10561) call void @fn_emit(ptr @.str10562) call void @fn_emit(ptr @.str10563) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10564) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str10565) call void @fn_emit(ptr @.str10566) call void @fn_emit(ptr @.str10567) 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 @.str10568, ptr @g_ret_ty %t88 = call ptr @fn_buf_new() store ptr %t88, ptr %t89 %t90 = call ptr @fn_buf_new() store ptr %t90, ptr @g_falloc %t91 = load ptr, ptr @g_code store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t89 store ptr %t93, ptr @g_code call void @fn_emit(ptr @.str10569) call void @fn_emit(ptr @.str10570) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10571) call void @fn_emit(ptr @.str10572) call void @fn_emit(ptr @.str10573) %t95 = load ptr, ptr %t14 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 1 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then15, label %else16 then15: call void @fn_emit(ptr @.str10574) br label %ifend17 else16: call void @fn_emit(ptr @.str10575) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10576) call void @fn_emit(ptr @.str10577) %t101 = load ptr, ptr %t18 %t102 = call ptr @lp_str_concat(ptr @.str10578, ptr %t101) %t103 = call ptr @fn_emit_alloca(ptr %t102) store ptr %t103, ptr %t104 store i32 0, ptr %t105 br label %wcond18 wcond18: %t106 = load i32, ptr %t105 %t107 = load ptr, ptr %t14 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp slt i32 %t106, %t111 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %wbody19, label %wend20 wbody19: %t115 = load ptr, ptr %t14 %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 0 %t119 = load ptr, ptr %t118 %t120 = load i32, ptr %t105 %t121 = getelementptr inbounds ptr, ptr %t119, i32 %t120 %t122 = load ptr, ptr %t121 store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_llty(ptr %t126) store ptr %t127, ptr %t128 %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str10579) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str10580) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str10581) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str10582) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10583) call void @fn_emit(ptr @.str10584) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str10585) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str10586) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10587) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10588) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10589) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10590) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10591) %t147 = load ptr, ptr %t123 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t142 %t151 = load ptr, ptr %t123 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 3 %t153 = load ptr, ptr %t152 call void @fn_loc_push(ptr %t149, ptr %t150, ptr %t153) %t154 = load i32, ptr %t105 %t155 = add i32 %t154, 1 store i32 %t155, ptr %t105 br label %wcond18 wend20: store ptr null, ptr %t156 %t157 = load ptr, ptr %t14 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 2 %t159 = load i32, ptr %t158 %t160 = icmp eq i32 %t159, 1 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then21, label %ifend23 then21: %t163 = call ptr @fn_nreg() store ptr %t163, ptr %t156 call void @fn_emit(ptr @.str10592) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10593) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str10594) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10595) %t167 = load ptr, ptr %t14 %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 1 %t171 = load i32, ptr %t170 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str10596) call void @fn_emit(ptr @.str10597) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10598) %t174 = load ptr, ptr %t156 store ptr %t174, ptr @g_g_cancel_addr br label %ifend23 ifend23: %t175 = load i32, ptr @g_nloc store i32 %t175, ptr %t176 store i32 0, ptr %t177 br label %wcond24 wcond24: %t178 = load i32, ptr %t177 %t179 = load ptr, ptr @g_g_onlisten %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp slt i32 %t178, %t181 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %wbody25, label %wend26 wbody25: %t185 = load ptr, ptr @g_g_onlisten %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = load i32, ptr %t177 %t189 = getelementptr inbounds ptr, ptr %t187, i32 %t188 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 %t193 = load ptr, ptr %t18 %t194 = call i32 @lp_str_eq(ptr %t192, ptr %t193) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then27, label %ifend29 then27: %t196 = load i32, ptr %t176 store i32 %t196, ptr @g_nloc store i32 0, ptr @g_g_term %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 %t177 %t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4 %t204 = load ptr, ptr %t203 call void @fn_emit_block(ptr %t204) br label %ifend29 ifend29: %t205 = load i32, ptr %t177 %t206 = add i32 %t205, 1 store i32 %t206, ptr %t177 br label %wcond24 wend26: %t207 = load i32, ptr @g_g_term %t208 = icmp eq i32 %t207, 0 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then30, label %ifend32 then30: %t211 = call ptr @fn_emit_alloca(ptr @.str10599) store ptr %t211, ptr %t212 call void @fn_emit(ptr @.str10600) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str10601) %t214 = call ptr @fn_lbl(ptr @.str10602) store ptr %t214, ptr %t215 %t216 = call ptr @fn_lbl(ptr @.str10603) store ptr %t216, ptr %t217 %t218 = call ptr @fn_lbl(ptr @.str10604) store ptr %t218, ptr %t219 call void @fn_emit(ptr @.str10605) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str10606) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str10607) %t222 = load ptr, ptr %t212 %t223 = call ptr @lp_str_concat(ptr @.str10608, ptr %t222) %t224 = call ptr @fn_emit_bind(ptr %t223) store ptr %t224, ptr %t225 %t226 = load ptr, ptr %t18 %t227 = call ptr @lp_str_concat(ptr @.str10609, ptr %t226) %t228 = call ptr @fn_emit_bind(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t225 %t231 = call ptr @lp_str_concat(ptr @.str10610, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str10611) %t233 = load ptr, ptr %t229 %t234 = call ptr @lp_str_concat(ptr %t232, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 call void @fn_emit(ptr @.str10612) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10613) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10614) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) call void @fn_emit(ptr @.str10615) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str10616) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 call void @fn_emit(ptr @.str10617) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10618) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10619) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10620) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10621) %t247 = load ptr, ptr %t242 %t248 = call ptr @lp_str_concat(ptr @.str10622, 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 @.str10623, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str10624) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = call ptr @fn_lbl(ptr @.str10625) store ptr %t256, ptr %t257 %t258 = call ptr @fn_lbl(ptr @.str10626) store ptr %t258, ptr %t259 call void @fn_emit(ptr @.str10627) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10628) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str10629) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str10630) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10631) call void @fn_emit(ptr @.str10632) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str10633) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str10634) call void @fn_emit(ptr @.str10635) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10636) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str10637) %t268 = load ptr, ptr %t225 %t269 = call ptr @lp_str_concat(ptr @.str10638, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10639) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 call void @fn_emit(ptr @.str10640) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10641) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10642) call void @fn_emit(ptr @.str10643) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str10644) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str10645) call void @fn_emit(ptr @.str10646) br label %ifend32 ifend32: call void @fn_emit(ptr @.str10647) call void @fn_emit(ptr @.str10648) %t277 = load ptr, ptr %t14 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2 %t279 = load i32, ptr %t278 %t280 = icmp eq i32 %t279, 1 %t281 = zext i1 %t280 to i32 %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then33, label %else34 then33: %t283 = load ptr, ptr %t156 %t284 = call ptr @lp_str_concat(ptr @.str10649, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str10650) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str10651) br label %ifend35 else34: call void @fn_emit(ptr @.str10652) br label %ifend35 ifend35: store ptr null, ptr @g_g_cancel_addr %t288 = load ptr, ptr %t92 store ptr %t288, ptr @g_code store ptr @.str10653, ptr %t289 %t290 = load ptr, ptr %t14 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2 %t292 = load i32, ptr %t291 %t293 = icmp eq i32 %t292, 1 %t294 = zext i1 %t293 to i32 %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then36, label %ifend38 then36: store ptr @.str10654, ptr %t289 br label %ifend38 ifend38: call void @fn_emit(ptr @.str10655) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str10656) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str10657) store i32 0, ptr %t298 br label %wcond39 wcond39: %t299 = load i32, ptr %t298 %t300 = load ptr, ptr %t14 %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 1 %t304 = load i32, ptr %t303 %t305 = icmp slt i32 %t299, %t304 %t306 = zext i1 %t305 to i32 %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %wbody40, label %wend41 wbody40: %t308 = load i32, ptr %t298 %t309 = icmp sgt i32 %t308, 0 %t310 = zext i1 %t309 to i32 %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then42, label %ifend44 then42: call void @fn_emit(ptr @.str10658) br label %ifend44 ifend44: %t312 = load ptr, ptr %t14 %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 7 %t314 = load ptr, ptr %t313 %t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0 %t316 = load ptr, ptr %t315 %t317 = load i32, ptr %t298 %t318 = getelementptr inbounds ptr, ptr %t316, i32 %t317 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 3 %t321 = load ptr, ptr %t320 %t322 = call ptr @fn_llty(ptr %t321) call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str10659) %t323 = load i32, ptr %t298 %t324 = call ptr @fn_itoa(i32 %t323) call void @fn_emit(ptr %t324) %t325 = load i32, ptr %t298 %t326 = add i32 %t325, 1 store i32 %t326, ptr %t298 br label %wcond39 wend41: call void @fn_emit(ptr @.str10660) %t327 = load ptr, ptr @g_falloc %t328 = call ptr @fn_buf_str(ptr %t327) call void @fn_emit(ptr %t328) %t329 = load ptr, ptr %t89 %t330 = call ptr @fn_buf_str(ptr %t329) call void @fn_emit(ptr %t330) call void @fn_emit(ptr @.str10661) %t331 = load i32, ptr %t0 %t332 = add i32 %t331, 1 store i32 %t332, ptr %t0 br label %wcond0 wend2: %t333 = call ptr @fn_itoa(i32 16) store ptr %t333, ptr %t334 call void @fn_emit(ptr @.str10662) store i32 0, ptr %t335 br label %wcond45 wcond45: %t336 = load i32, ptr %t335 %t337 = load ptr, ptr @g_g_events %t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1 %t339 = load i32, ptr %t338 %t340 = icmp slt i32 %t336, %t339 %t341 = zext i1 %t340 to i32 %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %wbody46, label %wend47 wbody46: %t343 = load ptr, ptr @g_g_events %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = load i32, ptr %t335 %t347 = getelementptr inbounds ptr, ptr %t345, i32 %t346 %t348 = load ptr, ptr %t347 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1 %t350 = load ptr, ptr %t349 store ptr %t350, ptr %t351 %t352 = load i32, ptr %t335 %t353 = call ptr @fn_itoa(i32 %t352) store ptr %t353, ptr %t354 call void @fn_emit(ptr @.str10663) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10664) call void @fn_emit(ptr @.str10665) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10666) call void @fn_emit(ptr @.str10667) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) call void @fn_emit(ptr @.str10668) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str10669) call void @fn_emit(ptr @.str10670) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str10671) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10672) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10673) call void @fn_emit(ptr @.str10674) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10675) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10676) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10677) call void @fn_emit(ptr @.str10678) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10679) call void @fn_emit(ptr @.str10680) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10681) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str10682) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str10683) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10684) call void @fn_emit(ptr @.str10685) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) call void @fn_emit(ptr @.str10686) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) call void @fn_emit(ptr @.str10687) call void @fn_emit(ptr @.str10688) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) call void @fn_emit(ptr @.str10689) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str10690) call void @fn_emit(ptr @.str10691) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10692) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str10693) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) call void @fn_emit(ptr @.str10694) call void @fn_emit(ptr @.str10695) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) call void @fn_emit(ptr @.str10696) call void @fn_emit(ptr @.str10697) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) call void @fn_emit(ptr @.str10698) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) call void @fn_emit(ptr @.str10699) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) call void @fn_emit(ptr @.str10700) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) call void @fn_emit(ptr @.str10701) call void @fn_emit(ptr @.str10702) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str10703) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str10704) call void @fn_emit(ptr @.str10705) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str10706) call void @fn_emit(ptr @.str10707) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str10708) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) call void @fn_emit(ptr @.str10709) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str10710) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str10711) call void @fn_emit(ptr @.str10712) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str10713) %t390 = load i32, ptr %t335 %t391 = add i32 %t390, 1 %t392 = load ptr, ptr @g_g_events %t393 = getelementptr inbounds %LSlice, ptr %t392, i32 0, i32 1 %t394 = load i32, ptr %t393 %t395 = icmp slt i32 %t391, %t394 %t396 = zext i1 %t395 to i32 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then48, label %else49 then48: call void @fn_emit(ptr @.str10714) %t398 = load i32, ptr %t335 %t399 = add i32 %t398, 1 %t400 = call ptr @fn_itoa(i32 %t399) call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str10715) br label %ifend50 else49: call void @fn_emit(ptr @.str10716) br label %ifend50 ifend50: %t401 = load i32, ptr %t335 %t402 = add i32 %t401, 1 store i32 %t402, ptr %t335 br label %wcond45 wend47: call void @fn_emit(ptr @.str10717) br label %ret ret: ret void } define void @fn_emit_world_table() { entry: %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t58 = alloca ptr %t61 = alloca ptr %t101 = alloca ptr %t104 = alloca ptr %t111 = alloca i32 %t132 = alloca ptr %t138 = alloca ptr %t181 = alloca ptr %t185 = alloca ptr %t188 = alloca ptr %t199 = alloca i32 %t220 = alloca ptr %t226 = alloca ptr %t293 = alloca ptr %t297 = alloca ptr %t300 = alloca ptr %t311 = alloca i32 %t332 = alloca ptr %t338 = alloca ptr %t401 = alloca ptr %t404 = alloca ptr %t459 = alloca ptr %t462 = alloca ptr %t512 = alloca ptr %t514 = alloca ptr %t517 = alloca ptr %t520 = alloca ptr %t526 = alloca ptr %t562 = alloca ptr %t565 = 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 ptr, ptr %t13, i32 %t14 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 8 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: %t22 = load i32, ptr %t2 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t2 br label %ifend5 ifend5: %t24 = load i32, ptr %t3 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t3 br label %wcond0 wend2: %t26 = load i32, ptr %t2 %t27 = call ptr @fn_itoa(i32 %t26) store ptr %t27, ptr %t28 call void @fn_emith(ptr @.str10718) call void @fn_emith(ptr @.str10719) call void @fn_emith(ptr @.str10720) call void @fn_emith(ptr @.str10721) call void @fn_emith(ptr @.str10722) call void @fn_emit(ptr @.str10723) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond6 wcond6: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr @g_prog %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp slt i32 %t31, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %wbody7, label %wend8 wbody7: %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 %t30 %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %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 %then9, label %ifend11 then9: %t49 = load ptr, ptr @g_prog %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = load i32, ptr %t30 %t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52 %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_emit_str_const(ptr %t56) store ptr %t57, ptr %t58 %t59 = load i32, ptr %t29 %t60 = call ptr @fn_itoa(i32 %t59) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10724) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10725) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10726) call void @fn_emit(ptr @.str10727) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10728) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10729) call void @fn_emit(ptr @.str10730) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10731) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10732) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10733) call void @fn_emit(ptr @.str10734) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10735) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10736) call void @fn_emit(ptr @.str10737) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10738) %t72 = load i32, ptr %t29 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t29 br label %ifend11 ifend11: %t74 = load i32, ptr %t30 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t30 br label %wcond6 wend8: call void @fn_emit(ptr @.str10739) call void @fn_emit(ptr @.str10740) call void @fn_emit(ptr @.str10741) call void @fn_emit(ptr @.str10742) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10743) call void @fn_emit(ptr @.str10744) call void @fn_emit(ptr @.str10745) call void @fn_emit(ptr @.str10746) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond12 wcond12: %t77 = load i32, ptr %t30 %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 %wbody13, label %wend14 wbody13: %t84 = load ptr, ptr @g_prog %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = load i32, ptr %t30 %t88 = getelementptr inbounds ptr, ptr %t86, i32 %t87 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 %t91 = load i32, ptr %t90 %t92 = icmp eq i32 %t91, 8 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then15, label %ifend17 then15: %t95 = load ptr, ptr @g_prog %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = load i32, ptr %t30 %t99 = getelementptr inbounds ptr, ptr %t97, i32 %t98 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t101 %t102 = load i32, ptr %t29 %t103 = call ptr @fn_itoa(i32 %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str10747) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str10748) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10749) call void @fn_emit(ptr @.str10750) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10751) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10752) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10753) call void @fn_emit(ptr @.str10754) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10755) store i32 0, ptr %t111 br label %wcond18 wcond18: %t112 = load i32, ptr %t111 %t113 = load ptr, ptr %t101 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp slt i32 %t112, %t117 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %wbody19, label %wend20 wbody19: %t121 = load ptr, ptr %t101 %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 0 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t111 %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_str_const(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t104 %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10756) %t135 = load i32, ptr %t111 %t136 = call ptr @fn_itoa(i32 %t135) %t137 = call ptr @lp_str_concat(ptr %t134, ptr %t136) store ptr %t137, ptr %t138 call void @fn_emit(ptr @.str10757) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10758) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str10759) call void @fn_emit(ptr @.str10760) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str10761) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str10762) call void @fn_emit(ptr @.str10763) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10764) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str10765) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10766) call void @fn_emit(ptr @.str10767) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10768) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str10769) call void @fn_emit(ptr @.str10770) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str10771) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: call void @fn_emit(ptr @.str10772) call void @fn_emit(ptr @.str10773) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10774) %t153 = load i32, ptr %t29 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t29 br label %ifend17 ifend17: %t155 = load i32, ptr %t30 %t156 = add i32 %t155, 1 store i32 %t156, ptr %t30 br label %wcond12 wend14: call void @fn_emit(ptr @.str10775) call void @fn_emit(ptr @.str10776) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond21 wcond21: %t157 = load i32, ptr %t30 %t158 = load ptr, ptr @g_prog %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp slt i32 %t157, %t160 %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %wbody22, label %wend23 wbody22: %t164 = load ptr, ptr @g_prog %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = load i32, ptr %t30 %t168 = getelementptr inbounds ptr, ptr %t166, i32 %t167 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 0 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t171, 8 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then24, label %ifend26 then24: %t175 = load ptr, ptr @g_prog %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = load i32, ptr %t30 %t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178 %t180 = load ptr, ptr %t179 store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 1 %t184 = load ptr, ptr %t183 store ptr %t184, ptr %t185 %t186 = load i32, ptr %t29 %t187 = call ptr @fn_itoa(i32 %t186) store ptr %t187, ptr %t188 call void @fn_emit(ptr @.str10777) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10778) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10779) call void @fn_emit(ptr @.str10780) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10781) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10782) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10783) call void @fn_emit(ptr @.str10784) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10785) call void @fn_emit(ptr @.str10786) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str10787) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str10788) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10789) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10790) store i32 0, ptr %t199 br label %wcond27 wcond27: %t200 = load i32, ptr %t199 %t201 = load ptr, ptr %t181 %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 1 %t205 = load i32, ptr %t204 %t206 = icmp slt i32 %t200, %t205 %t207 = zext i1 %t206 to i32 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %wbody28, label %wend29 wbody28: %t209 = load ptr, ptr %t181 %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 = load i32, ptr %t199 %t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 3 %t218 = load ptr, ptr %t217 %t219 = call ptr @fn_llty(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t188 %t222 = call ptr @lp_str_concat(ptr %t221, ptr @.str10791) %t223 = load i32, ptr %t199 %t224 = call ptr @fn_itoa(i32 %t223) %t225 = call ptr @lp_str_concat(ptr %t222, ptr %t224) store ptr %t225, ptr %t226 call void @fn_emit(ptr @.str10792) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str10793) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str10794) call void @fn_emit(ptr @.str10795) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str10796) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str10797) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10798) call void @fn_emit(ptr @.str10799) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10800) call void @fn_emit(ptr @.str10801) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10802) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10803) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10804) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10805) %t239 = load ptr, ptr %t220 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str10806) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: call void @fn_emit(ptr @.str10807) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str10808) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10809) call void @fn_emit(ptr @.str10810) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10811) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10812) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10813) br label %ifend32 else31: %t247 = load ptr, ptr %t220 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str10814) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: call void @fn_emit(ptr @.str10815) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str10816) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) call void @fn_emit(ptr @.str10817) call void @fn_emit(ptr @.str10818) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str10819) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str10820) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str10821) br label %ifend35 else34: call void @fn_emit(ptr @.str10822) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str10823) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str10824) call void @fn_emit(ptr @.str10825) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str10826) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str10827) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str10828) br label %ifend35 ifend35: br label %ifend32 ifend32: call void @fn_emit(ptr @.str10829) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10830) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: call void @fn_emit(ptr @.str10831) call void @fn_emit(ptr @.str10832) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10833) %t264 = load i32, ptr %t29 %t265 = add i32 %t264, 1 store i32 %t265, ptr %t29 br label %ifend26 ifend26: %t266 = load i32, ptr %t30 %t267 = add i32 %t266, 1 store i32 %t267, ptr %t30 br label %wcond21 wend23: call void @fn_emit(ptr @.str10834) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10835) call void @fn_emit(ptr @.str10836) call void @fn_emit(ptr @.str10837) call void @fn_emit(ptr @.str10838) call void @fn_emit(ptr @.str10839) call void @fn_emit(ptr @.str10840) call void @fn_emit(ptr @.str10841) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond36 wcond36: %t269 = load i32, ptr %t30 %t270 = load ptr, ptr @g_prog %t271 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp slt i32 %t269, %t272 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %wbody37, label %wend38 wbody37: %t276 = load ptr, ptr @g_prog %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = load i32, ptr %t30 %t280 = getelementptr inbounds ptr, ptr %t278, i32 %t279 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 0 %t283 = load i32, ptr %t282 %t284 = icmp eq i32 %t283, 8 %t285 = zext i1 %t284 to i32 %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then39, label %ifend41 then39: %t287 = load ptr, ptr @g_prog %t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = load i32, ptr %t30 %t291 = getelementptr inbounds ptr, ptr %t289, i32 %t290 %t292 = load ptr, ptr %t291 store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 1 %t296 = load ptr, ptr %t295 store ptr %t296, ptr %t297 %t298 = load i32, ptr %t29 %t299 = call ptr @fn_itoa(i32 %t298) store ptr %t299, ptr %t300 call void @fn_emit(ptr @.str10842) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str10843) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str10844) call void @fn_emit(ptr @.str10845) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str10846) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str10847) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str10848) call void @fn_emit(ptr @.str10849) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str10850) call void @fn_emit(ptr @.str10851) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str10852) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str10853) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str10854) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str10855) store i32 0, ptr %t311 br label %wcond42 wcond42: %t312 = load i32, ptr %t311 %t313 = load ptr, ptr %t293 %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 1 %t317 = load i32, ptr %t316 %t318 = icmp slt i32 %t312, %t317 %t319 = zext i1 %t318 to i32 %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %wbody43, label %wend44 wbody43: %t321 = load ptr, ptr %t293 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 7 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = load i32, ptr %t311 %t327 = getelementptr inbounds ptr, ptr %t325, i32 %t326 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 3 %t330 = load ptr, ptr %t329 %t331 = call ptr @fn_llty(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t300 %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str10856) %t335 = load i32, ptr %t311 %t336 = call ptr @fn_itoa(i32 %t335) %t337 = call ptr @lp_str_concat(ptr %t334, ptr %t336) store ptr %t337, ptr %t338 call void @fn_emit(ptr @.str10857) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) call void @fn_emit(ptr @.str10858) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str10859) call void @fn_emit(ptr @.str10860) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str10861) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str10862) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) call void @fn_emit(ptr @.str10863) call void @fn_emit(ptr @.str10864) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str10865) call void @fn_emit(ptr @.str10866) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str10867) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str10868) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str10869) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str10870) %t351 = load ptr, ptr %t332 %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str10871) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: call void @fn_emit(ptr @.str10872) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str10873) call void @fn_emit(ptr @.str10874) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10875) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10876) br label %ifend47 else46: %t357 = load ptr, ptr %t332 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str10877) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: call void @fn_emit(ptr @.str10878) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10879) call void @fn_emit(ptr @.str10880) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10881) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10882) br label %ifend50 else49: call void @fn_emit(ptr @.str10883) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10884) call void @fn_emit(ptr @.str10885) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10886) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10887) br label %ifend50 ifend50: br label %ifend47 ifend47: call void @fn_emit(ptr @.str10888) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10889) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: call void @fn_emit(ptr @.str10890) call void @fn_emit(ptr @.str10891) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10892) %t370 = load i32, ptr %t29 %t371 = add i32 %t370, 1 store i32 %t371, ptr %t29 br label %ifend41 ifend41: %t372 = load i32, ptr %t30 %t373 = add i32 %t372, 1 store i32 %t373, ptr %t30 br label %wcond36 wend38: call void @fn_emit(ptr @.str10893) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10894) call void @fn_emit(ptr @.str10895) call void @fn_emit(ptr @.str10896) call void @fn_emit(ptr @.str10897) call void @fn_emit(ptr @.str10898) call void @fn_emit(ptr @.str10899) call void @fn_emit(ptr @.str10900) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond51 wcond51: %t375 = load i32, ptr %t30 %t376 = load ptr, ptr @g_prog %t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 1 %t378 = load i32, ptr %t377 %t379 = icmp slt i32 %t375, %t378 %t380 = zext i1 %t379 to i32 %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %wbody52, label %wend53 wbody52: %t382 = load ptr, ptr @g_prog %t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = load i32, ptr %t30 %t386 = getelementptr inbounds ptr, ptr %t384, i32 %t385 %t387 = load ptr, ptr %t386 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 0 %t389 = load i32, ptr %t388 %t390 = icmp eq i32 %t389, 8 %t391 = zext i1 %t390 to i32 %t392 = icmp ne i32 %t391, 0 br i1 %t392, label %then54, label %ifend56 then54: %t393 = load ptr, ptr @g_prog %t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = load i32, ptr %t30 %t397 = getelementptr inbounds ptr, ptr %t395, i32 %t396 %t398 = load ptr, ptr %t397 %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 1 %t400 = load ptr, ptr %t399 store ptr %t400, ptr %t401 %t402 = load i32, ptr %t29 %t403 = call ptr @fn_itoa(i32 %t402) store ptr %t403, ptr %t404 call void @fn_emit(ptr @.str10901) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str10902) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str10903) call void @fn_emit(ptr @.str10904) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str10905) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str10906) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str10907) call void @fn_emit(ptr @.str10908) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str10909) call void @fn_emit(ptr @.str10910) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str10911) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str10912) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str10913) call void @fn_emit(ptr @.str10914) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str10915) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str10916) call void @fn_emit(ptr @.str10917) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str10918) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str10919) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str10920) call void @fn_emit(ptr @.str10921) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str10922) %t420 = load i32, ptr %t29 %t421 = add i32 %t420, 1 store i32 %t421, ptr %t29 br label %ifend56 ifend56: %t422 = load i32, ptr %t30 %t423 = add i32 %t422, 1 store i32 %t423, ptr %t30 br label %wcond51 wend53: call void @fn_emit(ptr @.str10923) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str10924) call void @fn_emit(ptr @.str10925) call void @fn_emit(ptr @.str10926) call void @fn_emit(ptr @.str10927) call void @fn_emit(ptr @.str10928) call void @fn_emit(ptr @.str10929) call void @fn_emit(ptr @.str10930) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str10931) call void @fn_emit(ptr @.str10932) call void @fn_emit(ptr @.str10933) call void @fn_emit(ptr @.str10934) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str10935) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str10936) call void @fn_emit(ptr @.str10937) call void @fn_emit(ptr @.str10938) call void @fn_emit(ptr @.str10939) call void @fn_emit(ptr @.str10940) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str10941) call void @fn_emit(ptr @.str10942) call void @fn_emit(ptr @.str10943) call void @fn_emit(ptr @.str10944) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str10945) call void @fn_emit(ptr @.str10946) call void @fn_emit(ptr @.str10947) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str10948) call void @fn_emit(ptr @.str10949) call void @fn_emit(ptr @.str10950) call void @fn_emit(ptr @.str10951) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str10952) call void @fn_emit(ptr @.str10953) call void @fn_emit(ptr @.str10954) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond57 wcond57: %t432 = load i32, ptr %t30 %t433 = load ptr, ptr @g_prog %t434 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1 %t435 = load i32, ptr %t434 %t436 = icmp slt i32 %t432, %t435 %t437 = zext i1 %t436 to i32 %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %wbody58, label %wend59 wbody58: %t439 = load ptr, ptr @g_prog %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 %t441 = load ptr, ptr %t440 %t442 = load i32, ptr %t30 %t443 = getelementptr inbounds ptr, ptr %t441, i32 %t442 %t444 = load ptr, ptr %t443 %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 0 %t446 = load i32, ptr %t445 %t447 = icmp eq i32 %t446, 10 %t448 = zext i1 %t447 to i32 %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then60, label %ifend62 then60: %t450 = load ptr, ptr @g_prog %t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = load i32, ptr %t30 %t454 = getelementptr inbounds ptr, ptr %t452, i32 %t453 %t455 = load ptr, ptr %t454 %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 1 %t457 = load ptr, ptr %t456 %t458 = call ptr @fn_emit_str_const(ptr %t457) store ptr %t458, ptr %t459 %t460 = load i32, ptr %t29 %t461 = call ptr @fn_itoa(i32 %t460) store ptr %t461, ptr %t462 call void @fn_emit(ptr @.str10955) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str10956) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str10957) call void @fn_emit(ptr @.str10958) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str10959) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str10960) call void @fn_emit(ptr @.str10961) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str10962) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str10963) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str10964) call void @fn_emit(ptr @.str10965) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str10966) %t471 = load ptr, ptr @g_prog %t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 %t474 = load i32, ptr %t30 %t475 = getelementptr inbounds ptr, ptr %t473, i32 %t474 %t476 = load ptr, ptr %t475 %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 1 %t478 = load ptr, ptr %t477 %t479 = call i32 @fn_find_arch_id(ptr %t478) %t480 = call ptr @fn_itoa(i32 %t479) call void @fn_emit(ptr %t480) call void @fn_emit(ptr @.str10967) call void @fn_emit(ptr @.str10968) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str10969) %t482 = load i32, ptr %t29 %t483 = add i32 %t482, 1 store i32 %t483, ptr %t29 br label %ifend62 ifend62: %t484 = load i32, ptr %t30 %t485 = add i32 %t484, 1 store i32 %t485, ptr %t30 br label %wcond57 wend59: call void @fn_emit(ptr @.str10970) store i32 0, ptr %t30 br label %wcond63 wcond63: %t486 = load i32, ptr %t30 %t487 = load ptr, ptr @g_prog %t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1 %t489 = load i32, ptr %t488 %t490 = icmp slt i32 %t486, %t489 %t491 = zext i1 %t490 to i32 %t492 = icmp ne i32 %t491, 0 br i1 %t492, label %wbody64, label %wend65 wbody64: %t493 = load ptr, ptr @g_prog %t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = load i32, ptr %t30 %t497 = getelementptr inbounds ptr, ptr %t495, i32 %t496 %t498 = load ptr, ptr %t497 %t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 0 %t500 = load i32, ptr %t499 %t501 = icmp eq i32 %t500, 10 %t502 = zext i1 %t501 to i32 %t503 = icmp ne i32 %t502, 0 br i1 %t503, label %then66, label %ifend68 then66: %t504 = load ptr, ptr @g_prog %t505 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = load i32, ptr %t30 %t508 = getelementptr inbounds ptr, ptr %t506, i32 %t507 %t509 = load ptr, ptr %t508 %t510 = getelementptr inbounds %Cmp_Node, ptr %t509, i32 0, i32 1 %t511 = load ptr, ptr %t510 store ptr %t511, ptr %t512 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 @.str10971, ptr @g_ret_ty %t513 = call ptr @fn_buf_new() store ptr %t513, ptr %t514 %t515 = call ptr @fn_buf_new() store ptr %t515, ptr @g_falloc %t516 = load ptr, ptr @g_code store ptr %t516, ptr %t517 %t518 = load ptr, ptr %t514 store ptr %t518, ptr @g_code %t519 = call ptr @fn_node(i32 22) store ptr %t519, ptr %t520 %t521 = load ptr, ptr %t520 %t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 1 %t523 = load ptr, ptr %t512 store ptr %t523, ptr %t522 %t524 = load ptr, ptr %t520 %t525 = call ptr @fn_emit_spawn(ptr %t524) store ptr %t525, ptr %t526 call void @fn_emit(ptr @.str10972) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str10973) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code call void @fn_emit(ptr @.str10974) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str10975) %t530 = load ptr, ptr @g_falloc %t531 = call ptr @fn_buf_str(ptr %t530) call void @fn_emit(ptr %t531) %t532 = load ptr, ptr %t514 %t533 = call ptr @fn_buf_str(ptr %t532) call void @fn_emit(ptr %t533) call void @fn_emit(ptr @.str10976) br label %ifend68 ifend68: %t534 = load i32, ptr %t30 %t535 = add i32 %t534, 1 store i32 %t535, ptr %t30 br label %wcond63 wend65: call void @fn_emit(ptr @.str10977) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond69 wcond69: %t536 = load i32, ptr %t30 %t537 = load ptr, ptr @g_prog %t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1 %t539 = load i32, ptr %t538 %t540 = icmp slt i32 %t536, %t539 %t541 = zext i1 %t540 to i32 %t542 = icmp ne i32 %t541, 0 br i1 %t542, label %wbody70, label %wend71 wbody70: %t543 = load ptr, ptr @g_prog %t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 0 %t545 = load ptr, ptr %t544 %t546 = load i32, ptr %t30 %t547 = getelementptr inbounds ptr, ptr %t545, i32 %t546 %t548 = load ptr, ptr %t547 %t549 = getelementptr inbounds %Cmp_Node, ptr %t548, i32 0, i32 0 %t550 = load i32, ptr %t549 %t551 = icmp eq i32 %t550, 10 %t552 = zext i1 %t551 to i32 %t553 = icmp ne i32 %t552, 0 br i1 %t553, label %then72, label %ifend74 then72: %t554 = load ptr, ptr @g_prog %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = load i32, ptr %t30 %t558 = getelementptr inbounds ptr, ptr %t556, i32 %t557 %t559 = load ptr, ptr %t558 %t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 1 %t561 = load ptr, ptr %t560 store ptr %t561, ptr %t562 %t563 = load i32, ptr %t29 %t564 = call ptr @fn_itoa(i32 %t563) store ptr %t564, ptr %t565 call void @fn_emit(ptr @.str10978) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) call void @fn_emit(ptr @.str10979) %t567 = load ptr, ptr %t562 %t568 = call i32 @fn_find_arch_id(ptr %t567) %t569 = call ptr @fn_itoa(i32 %t568) call void @fn_emit(ptr %t569) call void @fn_emit(ptr @.str10980) call void @fn_emit(ptr @.str10981) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) call void @fn_emit(ptr @.str10982) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) call void @fn_emit(ptr @.str10983) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) call void @fn_emit(ptr @.str10984) call void @fn_emit(ptr @.str10985) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) call void @fn_emit(ptr @.str10986) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) call void @fn_emit(ptr @.str10987) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) call void @fn_emit(ptr @.str10988) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) call void @fn_emit(ptr @.str10989) call void @fn_emit(ptr @.str10990) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str10991) %t578 = load i32, ptr %t29 %t579 = add i32 %t578, 1 store i32 %t579, ptr %t29 br label %ifend74 ifend74: %t580 = load i32, ptr %t30 %t581 = add i32 %t580, 1 store i32 %t581, ptr %t30 br label %wcond69 wend71: call void @fn_emit(ptr @.str10992) call void @fn_emit(ptr @.str10993) call void @fn_emit(ptr @.str10994) call void @fn_emit(ptr @.str10995) call void @fn_emit(ptr @.str10996) call void @fn_emit(ptr @.str10997) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) call void @fn_emit(ptr @.str10998) call void @fn_emit(ptr @.str10999) call void @fn_emit(ptr @.str11000) call void @fn_emit(ptr @.str11001) call void @fn_emit(ptr @.str11002) call void @fn_emit(ptr @.str11003) 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 %t30 = alloca ptr %t32 = alloca i32 %t60 = alloca ptr %t63 = alloca ptr %t102 = alloca ptr %t105 = alloca ptr %t148 = alloca ptr %t151 = alloca ptr %t158 = alloca i32 %t179 = alloca ptr %t185 = alloca ptr %t228 = alloca ptr %t231 = alloca ptr %t238 = alloca i32 %t259 = alloca ptr %t265 = alloca ptr %t0 = call ptr @fn_emit_str_const(ptr @.str11004) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str11005) 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 ptr, ptr %t15, i32 %t16 %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, 8 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load i32, ptr %t4 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t4 br label %ifend5 ifend5: %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t5 br label %wcond0 wend2: %t28 = load i32, ptr %t4 %t29 = call ptr @fn_itoa(i32 %t28) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str11006) call void @fn_emit(ptr @.str11007) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str11008) call void @fn_emit(ptr @.str11009) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond6 wcond6: %t33 = load i32, ptr %t5 %t34 = load ptr, ptr @g_prog %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 br i1 %t39, label %wbody7, label %wend8 wbody7: %t40 = load ptr, ptr @g_prog %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t5 %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 8 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: %t51 = load ptr, ptr @g_prog %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t5 %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_emit_str_const(ptr %t58) store ptr %t59, ptr %t60 %t61 = load i32, ptr %t32 %t62 = call ptr @fn_itoa(i32 %t61) store ptr %t62, ptr %t63 call void @fn_emit(ptr @.str11010) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str11011) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str11012) call void @fn_emit(ptr @.str11013) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11014) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11015) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11016) call void @fn_emit(ptr @.str11017) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str11018) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str11019) call void @fn_emit(ptr @.str11020) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11021) %t72 = load i32, ptr %t32 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t32 br label %ifend11 ifend11: %t74 = load i32, ptr %t5 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t5 br label %wcond6 wend8: call void @fn_emit(ptr @.str11022) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11023) call void @fn_emit(ptr @.str11024) call void @fn_emit(ptr @.str11025) call void @fn_emit(ptr @.str11026) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11027) call void @fn_emit(ptr @.str11028) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond12 wcond12: %t78 = load i32, ptr %t5 %t79 = load ptr, ptr @g_prog %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp slt i32 %t78, %t81 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %wbody13, label %wend14 wbody13: %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 %t5 %t89 = getelementptr inbounds ptr, ptr %t87, i32 %t88 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 0 %t92 = load i32, ptr %t91 %t93 = icmp eq i32 %t92, 8 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then15, label %ifend17 then15: %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 %t5 %t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99 %t101 = load ptr, ptr %t100 store ptr %t101, ptr %t102 %t103 = load i32, ptr %t32 %t104 = call ptr @fn_itoa(i32 %t103) store ptr %t104, ptr %t105 call void @fn_emit(ptr @.str11029) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str11030) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11031) call void @fn_emit(ptr @.str11032) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11033) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str11034) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str11035) call void @fn_emit(ptr @.str11036) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11037) %t112 = load ptr, ptr %t102 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = call ptr @fn_itoa(i32 %t116) call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str11038) call void @fn_emit(ptr @.str11039) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str11040) %t119 = load i32, ptr %t32 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t32 br label %ifend17 ifend17: %t121 = load i32, ptr %t5 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t5 br label %wcond12 wend14: call void @fn_emit(ptr @.str11041) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str11042) call void @fn_emit(ptr @.str11043) call void @fn_emit(ptr @.str11044) call void @fn_emit(ptr @.str11045) call void @fn_emit(ptr @.str11046) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond18 wcond18: %t124 = load i32, ptr %t5 %t125 = load ptr, ptr @g_prog %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp slt i32 %t124, %t127 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %wbody19, label %wend20 wbody19: %t131 = load ptr, ptr @g_prog %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = load i32, ptr %t5 %t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0 %t138 = load i32, ptr %t137 %t139 = icmp eq i32 %t138, 8 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then21, label %ifend23 then21: %t142 = load ptr, ptr @g_prog %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr %t5 %t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145 %t147 = load ptr, ptr %t146 store ptr %t147, ptr %t148 %t149 = load i32, ptr %t32 %t150 = call ptr @fn_itoa(i32 %t149) store ptr %t150, ptr %t151 call void @fn_emit(ptr @.str11047) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str11048) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str11049) call void @fn_emit(ptr @.str11050) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str11051) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str11052) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str11053) call void @fn_emit(ptr @.str11054) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str11055) store i32 0, ptr %t158 br label %wcond24 wcond24: %t159 = load i32, ptr %t158 %t160 = load ptr, ptr %t148 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp slt i32 %t159, %t164 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %wbody25, label %wend26 wbody25: %t168 = load ptr, ptr %t148 %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 = load i32, ptr %t158 %t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = call ptr @fn_emit_str_const(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t151 %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str11056) %t182 = load i32, ptr %t158 %t183 = call ptr @fn_itoa(i32 %t182) %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183) store ptr %t184, ptr %t185 call void @fn_emit(ptr @.str11057) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str11058) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str11059) call void @fn_emit(ptr @.str11060) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str11061) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str11062) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str11063) call void @fn_emit(ptr @.str11064) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str11065) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str11066) call void @fn_emit(ptr @.str11067) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str11068) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: call void @fn_emit(ptr @.str11069) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str11070) call void @fn_emit(ptr @.str11071) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str11072) %t199 = load i32, ptr %t32 %t200 = add i32 %t199, 1 store i32 %t200, ptr %t32 br label %ifend23 ifend23: %t201 = load i32, ptr %t5 %t202 = add i32 %t201, 1 store i32 %t202, ptr %t5 br label %wcond18 wend20: call void @fn_emit(ptr @.str11073) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str11074) call void @fn_emit(ptr @.str11075) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond27 wcond27: %t204 = load i32, ptr %t5 %t205 = load ptr, ptr @g_prog %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp slt i32 %t204, %t207 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %wbody28, label %wend29 wbody28: %t211 = load ptr, ptr @g_prog %t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = load i32, ptr %t5 %t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 0 %t218 = load i32, ptr %t217 %t219 = icmp eq i32 %t218, 8 %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then30, label %ifend32 then30: %t222 = load ptr, ptr @g_prog %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = load i32, ptr %t5 %t226 = getelementptr inbounds ptr, ptr %t224, i32 %t225 %t227 = load ptr, ptr %t226 store ptr %t227, ptr %t228 %t229 = load i32, ptr %t32 %t230 = call ptr @fn_itoa(i32 %t229) store ptr %t230, ptr %t231 call void @fn_emit(ptr @.str11076) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str11077) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str11078) call void @fn_emit(ptr @.str11079) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str11080) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str11081) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str11082) call void @fn_emit(ptr @.str11083) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str11084) store i32 0, ptr %t238 br label %wcond33 wcond33: %t239 = load i32, ptr %t238 %t240 = load ptr, ptr %t228 %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 slt i32 %t239, %t244 %t246 = zext i1 %t245 to i32 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %wbody34, label %wend35 wbody34: %t248 = load ptr, ptr %t228 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 7 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = load i32, ptr %t238 %t254 = getelementptr inbounds ptr, ptr %t252, i32 %t253 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 3 %t257 = load ptr, ptr %t256 %t258 = call ptr @fn_emit_str_const(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t231 %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str11085) %t262 = load i32, ptr %t238 %t263 = call ptr @fn_itoa(i32 %t262) %t264 = call ptr @lp_str_concat(ptr %t261, ptr %t263) store ptr %t264, ptr %t265 call void @fn_emit(ptr @.str11086) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str11087) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str11088) call void @fn_emit(ptr @.str11089) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str11090) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str11091) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str11092) call void @fn_emit(ptr @.str11093) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str11094) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str11095) call void @fn_emit(ptr @.str11096) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str11097) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: call void @fn_emit(ptr @.str11098) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str11099) call void @fn_emit(ptr @.str11100) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str11101) %t279 = load i32, ptr %t32 %t280 = add i32 %t279, 1 store i32 %t280, ptr %t32 br label %ifend32 ifend32: %t281 = load i32, ptr %t5 %t282 = add i32 %t281, 1 store i32 %t282, ptr %t5 br label %wcond27 wend29: call void @fn_emit(ptr @.str11102) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str11103) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str11104) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11105) call void @fn_emit_calls_for_phase(ptr @.str11106) call void @fn_emit_calls_for_phase(ptr @.str11107) call void @fn_emit_calls_for_phase(ptr @.str11108) call void @fn_emit(ptr @.str11109) call void @fn_emit(ptr @.str11110) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11111) call void @fn_emit_calls_for_phase(ptr @.str11112) call void @fn_emit(ptr @.str11113) 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 ptr, ptr %t10, i32 %t11 %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, 9 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr @g_prog %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t0 %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 call void @fn_emit_system_fn(ptr %t24) br label %ifend5 ifend5: %t25 = load i32, ptr %t0 %t26 = add i32 %t25, 1 store i32 %t26, ptr %t0 br label %wcond0 wend2: call void @fn_emit_despawn_hooks() call void @fn_emit_scene_hooks() %t27 = call i32 @fn_has_countdowns() %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: call void @fn_emit_countdown_system() br label %ifend8 ifend8: %t29 = call i32 @fn_has_prefabs() %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: call void @fn_emit_prefab_fns() br label %ifend11 ifend11: call void @fn_emit_tick_helpers() br label %ret ret: ret void } define void @fn_emit_game_main() { entry: %t12 = alloca i32 %t47 = alloca ptr %t52 = alloca ptr %t58 = alloca ptr %t63 = alloca ptr %t70 = alloca ptr %t73 = alloca i32 %t85 = alloca ptr %t92 = alloca ptr %t94 = alloca i32 %t106 = alloca ptr %t108 = alloca i32 %t121 = alloca ptr %t125 = alloca i32 %t137 = alloca ptr %t142 = alloca ptr call void @fn_emit_game_defs() call void @fn_emit(ptr @.str11114) call void @fn_emit(ptr @.str11115) call void @fn_emit(ptr @.str11116) %t0 = call ptr @fn_find_fn(ptr @.str11117) %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 @.str11118) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11119) call void @fn_emit_calls_for_phase(ptr @.str11120) %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 @.str11121) %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 @.str11122) 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 2 %t27 = load i32, ptr %t26 %t28 = load i32, ptr @g_g_start_scene %t29 = icmp eq i32 %t27, %t28 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str11123) %t32 = load ptr, ptr @g_g_scenes %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t12 %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11124) br label %ifend11 ifend11: %t40 = load i32, ptr %t12 %t41 = add i32 %t40, 1 store i32 %t41, ptr %t12 br label %wcond6 wend8: br label %ifend5 ifend5: %t42 = call ptr @fn_find_event(ptr @.str11125) %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: call void @fn_emit(ptr @.str11126) br label %ifend14 ifend14: call void @fn_emit(ptr @.str11127) call void @fn_emit(ptr @.str11128) %t46 = call ptr @fn_emit_bind(ptr @.str11129) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str11130, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str11131) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_find_fn(ptr @.str11132) %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then15, label %else16 then15: %t57 = call ptr @fn_emit_bind(ptr @.str11133) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str11134, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str11135) %t62 = call ptr @fn_emit_bind(ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t52 %t65 = call ptr @lp_str_concat(ptr @.str11136, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11137) %t67 = load ptr, ptr %t63 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 call void @fn_emit(ptr @.str11138) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11139) br label %ifend17 else16: call void @fn_emit(ptr @.str11140) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11141) br label %ifend17 ifend17: call void @fn_emit(ptr @.str11142) %t74 = load i32, ptr @g_g_uses_input %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t73 br i1 %t75, label %sc18, label %scend19 sc18: %t77 = call ptr @fn_find_fn(ptr @.str11143) %t78 = icmp ne ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t73 br label %scend19 scend19: %t82 = load i32, ptr %t73 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then20, label %else21 then20: %t84 = call ptr @fn_emit_bind(ptr @.str11144) store ptr %t84, ptr %t85 call void @fn_emit(ptr @.str11145) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str11146) br label %ifend22 else21: %t87 = call ptr @fn_find_fn(ptr @.str11147) %t88 = icmp ne ptr %t87, null %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then23, label %ifend25 then23: %t91 = call ptr @fn_emit_bind(ptr @.str11148) store ptr %t91, ptr %t92 call void @fn_emit(ptr @.str11149) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11150) br label %ifend25 ifend25: br label %ifend22 ifend22: %t95 = call i32 @fn_has_ui() %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t94 br i1 %t96, label %sc26, label %scend27 sc26: %t98 = call ptr @fn_find_fn(ptr @.str11151) %t99 = icmp ne ptr %t98, null %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t94 br label %scend27 scend27: %t103 = load i32, ptr %t94 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then28, label %ifend30 then28: %t105 = call ptr @fn_emit_bind(ptr @.str11152) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str11153) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11154) br label %ifend30 ifend30: call void @fn_emit_calls_for_phase(ptr @.str11155) call void @fn_emit_calls_for_phase(ptr @.str11156) call void @fn_emit_calls_for_phase(ptr @.str11157) call void @fn_emit_calls_for_phase(ptr @.str11158) %t109 = load i32, ptr @g_g_has_clear_color %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t108 br i1 %t110, label %sc31, label %scend32 sc31: %t112 = call ptr @fn_find_fn(ptr @.str11159) %t113 = icmp ne ptr %t112, null %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t108 br label %scend32 scend32: %t117 = load i32, ptr %t108 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then33, label %ifend35 then33: %t119 = load ptr, ptr @g_g_clear_color %t120 = call ptr @fn_emit_expr(ptr %t119) store ptr %t120, ptr %t121 call void @fn_emit(ptr @.str11160) %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str11161) br label %ifend35 ifend35: call void @fn_emit_calls_for_phase(ptr @.str11162) call void @fn_emit_calls_for_phase(ptr @.str11163) %t126 = load i32, ptr @g_g_has_clear_color %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t125 br i1 %t127, label %sc36, label %scend37 sc36: %t129 = call ptr @fn_find_fn(ptr @.str11164) %t130 = icmp ne ptr %t129, null %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t125 br label %scend37 scend37: %t134 = load i32, ptr %t125 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then38, label %ifend40 then38: call void @fn_emit(ptr @.str11165) br label %ifend40 ifend40: %t136 = call ptr @fn_emit_bind(ptr @.str11166) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr @.str11167, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str11168) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str11169) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str11170) call void @fn_emit(ptr @.str11171) call void @fn_emit(ptr @.str11172) %t144 = load ptr, ptr @g_g_ondespawn %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp sgt i32 %t146, 0 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then41, label %ifend43 then41: call void @fn_emit(ptr @.str11173) br label %ifend43 ifend43: call void @fn_emit_calls_for_phase(ptr @.str11174) %t150 = call ptr @fn_find_event(ptr @.str11175) %t151 = icmp ne ptr %t150, null %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then44, label %ifend46 then44: call void @fn_emit(ptr @.str11176) br label %ifend46 ifend46: %t154 = call ptr @fn_find_fn(ptr @.str11177) %t155 = icmp ne ptr %t154, null %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then47, label %ifend49 then47: call void @fn_emit(ptr @.str11178) br label %ifend49 ifend49: call void @fn_emit(ptr @.str11179) 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 @.str11180, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11181) %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 %t65 = alloca ptr %t66 = alloca i32 %t84 = alloca ptr %t88 = alloca ptr %t95 = 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_machine_var(ptr %t3) store ptr %t4, ptr %t5 store ptr @.str11182, 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 @.str11183, 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 @.str11184, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11185) %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 ptr, ptr %t38, i32 %t39 %t41 = load ptr, ptr %t0 store ptr %t41, ptr %t40 br label %ifend5 else4: %t42 = load ptr, ptr @g_mach_stk %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t47 = load i32, ptr %t44 %t48 = load i32, ptr %t45 %t49 = icmp sge i32 %t47, %t48 br i1 %t49, label %grow6, label %put7 grow6: %t50 = mul i32 %t48, 2 %t51 = icmp eq i32 %t48, 0 %t52 = select i1 %t51, i32 8, i32 %t50 %t53 = getelementptr ptr, ptr null, i32 1 %t54 = ptrtoint ptr %t53 to i64 %t55 = zext i32 %t52 to i64 %t56 = mul i64 %t55, %t54 %t57 = load ptr, ptr %t46 %t58 = call ptr @realloc(ptr %t57, i64 %t56) store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put7 put7: %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds ptr, ptr %t59, i32 %t47 store ptr %t43, ptr %t60 %t61 = add i32 %t47, 1 store i32 %t61, ptr %t44 br label %ifend5 ifend5: %t62 = load i32, ptr @g_nmach %t63 = add i32 %t62, 1 store i32 %t63, ptr @g_nmach %t64 = call ptr @fn_lbl(ptr @.str11186) store ptr %t64, ptr %t65 store i32 0, ptr %t66 br label %wcond8 wcond8: %t67 = load i32, ptr %t66 %t68 = load ptr, ptr %t0 %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 %wbody9, label %wend10 wbody9: %t76 = load ptr, ptr %t0 %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 %t66 %t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t83 = load ptr, ptr %t82 store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t0 %t86 = load ptr, ptr %t84 %t87 = call ptr @fn_machine_state_value(ptr %t85, ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t6 %t90 = call ptr @lp_str_concat(ptr @.str11187, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str11188) %t92 = load ptr, ptr %t88 %t93 = call ptr @lp_str_concat(ptr %t91, ptr %t92) %t94 = call ptr @fn_emit_bind(ptr %t93) store ptr %t94, ptr %t95 %t96 = call ptr @fn_lbl(ptr @.str11189) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str11190) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str11191) %t100 = load ptr, ptr %t95 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11192) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11193) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11194) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11195) store i32 0, ptr @g_g_term %t104 = load ptr, ptr %t84 %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 %then11, label %ifend13 then11: call void @fn_emit(ptr @.str11196) %t111 = load ptr, ptr %t65 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11197) br label %ifend13 ifend13: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11198) store i32 0, ptr @g_g_term %t113 = load i32, ptr %t66 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t66 br label %wcond8 wend10: %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 %then14, label %ifend16 then14: call void @fn_emit(ptr @.str11199) %t119 = load ptr, ptr %t65 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str11200) br label %ifend16 ifend16: %t120 = load ptr, ptr %t65 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str11201) store i32 0, ptr @g_g_term %t121 = load i32, ptr @g_nmach %t122 = sub i32 %t121, 1 store i32 %t122, ptr @g_nmach br label %ret ret: ret void } define void @fn_emit_become(ptr %arg_st) { entry: %t0 = alloca ptr %t12 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t57 = alloca ptr %t61 = alloca ptr %t76 = alloca ptr %t85 = 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 ptr, ptr %t7, i32 %t9 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %t12 store ptr null, ptr %t13 store i32 0, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t12 %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 %wbody4, label %wend5 wbody4: %t24 = load ptr, ptr %t12 %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 = load i32, ptr %t14 %t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = call i32 @lp_str_eq(ptr %t33, ptr %t36) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then6, label %ifend8 then6: %t39 = load ptr, ptr %t12 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = load i32, ptr %t14 %t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t13 br label %ifend8 ifend8: %t47 = load i32, ptr %t14 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t14 br label %wcond3 wend5: %t49 = load ptr, ptr %t13 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then9, label %ifend11 then9: %t53 = load ptr, ptr %t12 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_machine_var(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t12 %t59 = load ptr, ptr %t13 %t60 = call ptr @fn_machine_state_value(ptr %t58, ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t57 %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then12, label %else13 then12: call void @fn_emit(ptr @.str11202) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11203) %t67 = load ptr, ptr %t12 %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 1 %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11204) br label %ifend14 else13: %t72 = load ptr, ptr %t12 %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 call void @fn_emit(ptr @.str11205) %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11206) %t80 = load ptr, ptr %t61 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11207) br label %ifend14 ifend14: br label %ret ifend11: br label %ifend2 ifend2: %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_find_scene(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = icmp eq ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %ifend17 then15: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr @.str11208, ptr %t92) call void @fn_perr(ptr %t93) br label %ifend17 ifend17: %t94 = load ptr, ptr @g_g_cur_scene %t95 = icmp ne ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then18, label %else19 then18: call void @fn_emit(ptr @.str11209) %t98 = load ptr, ptr @g_g_cur_scene %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11210) br label %ifend20 else19: call void @fn_emit(ptr @.str11211) br label %ifend20 ifend20: call void @fn_emit(ptr @.str11212) %t101 = load ptr, ptr %t85 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 2 %t103 = load i32, ptr %t102 %t104 = call ptr @fn_itoa(i32 %t103) call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str11213) call void @fn_emit(ptr @.str11214) %t105 = load ptr, ptr %t85 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11215) 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 @.str11216) %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 @.str11217, 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 @.str11218) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str11219) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str11220) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str11221) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str11222) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11223) %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 @.str11224, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11225) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11226) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11227) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11228) %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 @.str11229, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str11230) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11231) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str11232) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str11233) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str11234) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11235) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11236) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11237) br label %ifend8 else7: call void @fn_emit(ptr @.str11238) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11239) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str11240) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str11241) 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 @.str11242, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str11243) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11244) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str11245) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11246) %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 %t43 = alloca i32 %t70 = alloca ptr %t74 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok store ptr @.str11247, 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 @.str11248, ptr @.str11249) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str11250, ptr @.str11251) call void @fn_emit(ptr @.str11252) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str11253) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str11254, ptr @.str11255) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str11256, ptr @.str11257) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str11258, ptr @.str11259) %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 @.str11260, ptr @.str11261) 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 ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 2 %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 = load ptr, ptr @g_prog %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t12 %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr @.str11262, ptr %t39) call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str11263) br label %ifend8 ifend8: %t41 = load i32, ptr %t12 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t12 br label %wcond3 wend5: store i32 0, ptr %t43 store i32 0, ptr %t12 br label %wcond9 wcond9: %t44 = load i32, ptr %t12 %t45 = load ptr, ptr @g_prog %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp slt i32 %t44, %t47 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody10, label %wend11 wbody10: %t51 = load ptr, ptr @g_prog %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t12 %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0 %t58 = load i32, ptr %t57 %t59 = icmp eq i32 %t58, 8 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then12, label %ifend14 then12: %t62 = load ptr, ptr @g_prog %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = load i32, ptr %t12 %t66 = getelementptr inbounds ptr, ptr %t64, i32 %t65 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 store ptr %t69, ptr %t70 %t71 = load i32, ptr %t43 %t72 = call ptr @fn_itoa(i32 %t71) %t73 = call ptr @lp_str_concat(ptr @.str11264, ptr %t72) store ptr %t73, ptr %t74 call void @fn_emit(ptr @.str11265) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11266) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11267) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11268) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 %t80 = call ptr @lp_str_concat(ptr @.str11269, ptr %t79) %t81 = load ptr, ptr %t74 call void @fn_emit_io(ptr %t78, ptr %t80, ptr %t81) %t82 = load ptr, ptr %t0 %t83 = load ptr, ptr %t70 %t84 = call ptr @lp_str_concat(ptr @.str11270, ptr %t83) %t85 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85) %t86 = load i32, ptr %t43 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t43 br label %ifend14 ifend14: %t88 = load i32, ptr %t12 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t12 br label %wcond9 wend11: 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 @.str11271, ptr @g_g_snap_mode call void @fn_emith(ptr @.str11272) call void @fn_emith(ptr @.str11273) call void @fn_emith(ptr @.str11274) %t0 = call ptr @fn_find_fn(ptr @.str11275) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str11276) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str11277) call void @fn_emit(ptr @.str11278) call void @fn_emit(ptr @.str11279) call void @fn_emit(ptr @.str11280) call void @fn_emit_snapshot_blocks(ptr @.str11281) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str11282) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11283) call void @fn_emit(ptr @.str11284) call void @fn_emit(ptr @.str11285) call void @fn_emit(ptr @.str11286) call void @fn_emit(ptr @.str11287) call void @fn_emit_snapshot_blocks(ptr @.str11288) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str11289) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11290) call void @fn_emit(ptr @.str11291) store ptr @.str11292, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11293) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str11294, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str11295) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str11296) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11297) call void @fn_emit(ptr @.str11298) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str11299) call void @fn_emit(ptr @.str11300) store ptr @.str11301, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11302) call void @fn_emit(ptr @.str11303) call void @fn_emit(ptr @.str11304) store ptr @.str11305, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11306) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str11307, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11308) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11309) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11310) call void @fn_emit(ptr @.str11311) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11312) store ptr @.str11313, 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 @.str11314) %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 @.str11315) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str11316, ptr %retval br label %ret ifend2: store ptr @.str11317, 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 %t36 = alloca ptr %t41 = 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 ptr, ptr %t16, i32 %t17 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 1 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %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 %t2 %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = call ptr @fn_find_comp(ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = icmp ne ptr %t37, null %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then6, label %ifend8 then6: store i32 0, ptr %t41 br label %wcond9 wcond9: %t42 = load i32, ptr %t41 %t43 = load ptr, ptr %t36 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp slt i32 %t42, %t47 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody10, label %wend11 wbody10: %t51 = load ptr, ptr %t36 %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 0 %t55 = load ptr, ptr %t54 %t56 = load i32, ptr %t41 %t57 = getelementptr inbounds ptr, ptr %t55, i32 %t56 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 2 %t60 = load i32, ptr %t59 %t61 = icmp eq i32 %t60, 1 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then12, label %ifend14 then12: %t64 = load ptr, ptr %t36 %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 %t41 %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 %t73 = load ptr, ptr %t72 %t74 = call i32 @fn_net_field_ibytes(ptr %t73) %t75 = load i32, ptr %t1 %t76 = add i32 %t75, %t74 store i32 %t76, ptr %t1 br label %ifend14 ifend14: %t77 = load i32, ptr %t41 %t78 = add i32 %t77, 1 store i32 %t78, ptr %t41 br label %wcond9 wend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t79 = load i32, ptr %t2 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t2 br label %wcond0 wend2: %t81 = load i32, ptr %t1 store i32 %t81, ptr %retval br label %ret ret: %t82 = load i32, ptr %retval ret i32 %t82 } 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 ptr, ptr %t10, i32 %t11 %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, 10 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr @g_prog %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t0 %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 %t25 = call i32 @fn_net_model_syncs(ptr %t24) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: %t27 = load i32, ptr %t0 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 10 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br i1 %t19, label %sc3, label %scend4 sc3: %t21 = load ptr, ptr @g_prog %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 1 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend4 scend4: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret 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_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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 9 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br i1 %t19, label %sc3, label %scend4 sc3: %t21 = load ptr, ptr @g_prog %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend4 scend4: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret 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_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 @.str11318, 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 @.str11319, 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 %t25 = alloca ptr %t26 = alloca i32 %t59 = alloca ptr %t62 = alloca ptr %t67 = alloca i32 %t68 = 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 ptr, ptr %t10, i32 %t11 %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, 10 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr @g_prog %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t0 %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 store i32 0, ptr %t26 br label %wcond6 wcond6: %t27 = load i32, ptr %t26 %t28 = load ptr, ptr %t25 %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 %wbody7, label %wend8 wbody7: %t36 = load ptr, ptr %t25 %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 %t26 %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 2 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 1 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: %t49 = load ptr, ptr %t25 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t26 %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_find_comp(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = icmp ne ptr %t63, null %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: store i32 0, ptr %t67 store i32 0, ptr %t68 br label %wcond15 wcond15: %t69 = load i32, ptr %t68 %t70 = load ptr, ptr %t62 %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 1 %t74 = load i32, ptr %t73 %t75 = icmp slt i32 %t69, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody16, label %wend17 wbody16: %t78 = load ptr, ptr %t62 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = load i32, ptr %t68 %t84 = getelementptr inbounds ptr, ptr %t82, i32 %t83 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 1 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then18, label %ifend20 then18: store i32 1, ptr %t67 %t91 = load ptr, ptr %t62 %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 = load i32, ptr %t68 %t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_llty(ptr %t100) %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str11320) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then21, label %ifend23 then21: %t104 = load ptr, ptr %t59 %t105 = call ptr @lp_str_concat(ptr @.str11321, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11322) %t107 = load ptr, ptr %t62 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = load i32, ptr %t68 %t113 = getelementptr inbounds ptr, ptr %t111, i32 %t112 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call ptr @lp_str_concat(ptr %t106, ptr %t116) %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str11323) call void @fn_perr(ptr %t118) br label %ifend23 ifend23: br label %ifend20 ifend20: %t119 = load i32, ptr %t68 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t68 br label %wcond15 wend17: %t121 = load i32, ptr %t67 %t122 = icmp eq i32 %t121, 0 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then24, label %ifend26 then24: %t125 = load ptr, ptr %t25 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call ptr @lp_str_concat(ptr @.str11324, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str11325) %t130 = load ptr, ptr %t59 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str11326) call void @fn_net_warn(ptr %t132) br label %ifend26 ifend26: br label %ifend14 ifend14: br label %ifend11 ifend11: %t133 = load i32, ptr %t26 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t26 br label %wcond6 wend8: br label %ifend5 ifend5: %t135 = load i32, ptr %t0 %t136 = add i32 %t135, 1 store i32 %t136, 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 %t40 = alloca ptr %t43 = alloca ptr %t49 = alloca ptr %t54 = alloca i32 %t88 = alloca ptr %t90 = alloca ptr %t97 = 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 @.str11327) %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 @.str11328) 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 ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 1 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %ifend5 then3: %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 %t7 %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_find_comp(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str11329) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11330) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11331) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11332) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11333) store i32 0, ptr %t54 br label %wcond9 wcond9: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t43 %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 %wbody10, label %wend11 wbody10: %t64 = load ptr, ptr %t43 %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 ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2 %t73 = load i32, ptr %t72 %t74 = icmp eq i32 %t73, 1 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then12, label %ifend14 then12: %t77 = load ptr, ptr %t43 %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 = load i32, ptr %t54 %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_net_field_bytes(ptr %t86) store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str11334) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11335) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11336) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11337) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11338) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11339) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11340) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11341) call void @fn_emit(ptr @.str11342) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11343) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11344) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11345) %t104 = load ptr, ptr %t43 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t54 %t110 = getelementptr inbounds ptr, ptr %t108, i32 %t109 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 %t113 = load ptr, ptr %t112 %t114 = call i32 @fn_net_field_ibytes(ptr %t113) %t115 = load i32, ptr %t6 %t116 = add i32 %t115, %t114 store i32 %t116, ptr %t6 br label %ifend14 ifend14: %t117 = load i32, ptr %t54 %t118 = add i32 %t117, 1 store i32 %t118, ptr %t54 br label %wcond9 wend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t119 = load i32, ptr %t7 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str11346) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11347) 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 %t40 = alloca ptr %t43 = alloca ptr %t49 = alloca ptr %t54 = alloca i32 %t88 = alloca ptr %t90 = alloca ptr %t97 = 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 @.str11348) %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 @.str11349) 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 ptr, ptr %t21, i32 %t22 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 1 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %ifend5 then3: %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 %t7 %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_find_comp(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str11350) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11351) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11352) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11353) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11354) store i32 0, ptr %t54 br label %wcond9 wcond9: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t43 %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 %wbody10, label %wend11 wbody10: %t64 = load ptr, ptr %t43 %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 ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2 %t73 = load i32, ptr %t72 %t74 = icmp eq i32 %t73, 1 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then12, label %ifend14 then12: %t77 = load ptr, ptr %t43 %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 = load i32, ptr %t54 %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_net_field_bytes(ptr %t86) store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str11355) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11356) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11357) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11358) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11359) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11360) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11361) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11362) call void @fn_emit(ptr @.str11363) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11364) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11365) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11366) %t104 = load ptr, ptr %t43 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t54 %t110 = getelementptr inbounds ptr, ptr %t108, i32 %t109 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 %t113 = load ptr, ptr %t112 %t114 = call i32 @fn_net_field_ibytes(ptr %t113) %t115 = load i32, ptr %t6 %t116 = add i32 %t115, %t114 store i32 %t116, ptr %t6 br label %ifend14 ifend14: %t117 = load i32, ptr %t54 %t118 = add i32 %t117, 1 store i32 %t118, ptr %t54 br label %wcond9 wend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t119 = load i32, ptr %t7 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str11367) 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 %t44 = alloca ptr %t47 = alloca ptr %t72 = alloca i32 %t104 = alloca ptr %t107 = alloca ptr %t130 = alloca i32 %t162 = alloca ptr %t165 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str11368) call void @fn_emit(ptr @.str11369) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11370) 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 ptr, ptr %t15, i32 %t16 %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 %t12 br i1 %t23, label %sc3, label %scend4 sc3: %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 %t4 %t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t30 = load ptr, ptr %t29 %t31 = call i32 @fn_net_model_syncs(ptr %t30) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t12 br label %scend4 scend4: %t34 = load i32, ptr %t12 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %ifend7 then5: %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 %t4 %t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load i32, ptr %t3 %t46 = call ptr @fn_itoa(i32 %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str11371) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11372) %t49 = load ptr, ptr %t44 %t50 = call i32 @fn_find_arch_id(ptr %t49) %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11373) call void @fn_emit(ptr @.str11374) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11375) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11376) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11377) call void @fn_emit(ptr @.str11378) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str11379) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str11380) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11381) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str11382) call void @fn_emit(ptr @.str11383) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str11384) %t60 = load i32, ptr %t3 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t3 br label %ifend7 ifend7: %t62 = load i32, ptr %t4 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t4 br label %wcond0 wend2: call void @fn_emit(ptr @.str11385) call void @fn_emit(ptr @.str11386) call void @fn_emit(ptr @.str11387) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str11388) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond8 wcond8: %t65 = load i32, ptr %t4 %t66 = load ptr, ptr @g_prog %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp slt i32 %t65, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %wbody9, label %wend10 wbody9: %t73 = load ptr, ptr @g_prog %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t4 %t77 = getelementptr inbounds ptr, ptr %t75, i32 %t76 %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, 10 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t72 br i1 %t83, label %sc11, label %scend12 sc11: %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 ptr, ptr %t87, i32 %t88 %t90 = load ptr, ptr %t89 %t91 = call i32 @fn_net_model_syncs(ptr %t90) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t72 br label %scend12 scend12: %t94 = load i32, ptr %t72 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then13, label %ifend15 then13: %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 %t4 %t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 store ptr %t103, ptr %t104 %t105 = load i32, ptr %t3 %t106 = call ptr @fn_itoa(i32 %t105) store ptr %t106, ptr %t107 call void @fn_emit(ptr @.str11389) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11390) %t109 = load ptr, ptr %t104 %t110 = call i32 @fn_find_arch_id(ptr %t109) %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11391) call void @fn_emit(ptr @.str11392) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11393) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str11394) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str11395) call void @fn_emit(ptr @.str11396) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str11397) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str11398) call void @fn_emit(ptr @.str11399) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str11400) %t118 = load i32, ptr %t3 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t3 br label %ifend15 ifend15: %t120 = load i32, ptr %t4 %t121 = add i32 %t120, 1 store i32 %t121, ptr %t4 br label %wcond8 wend10: call void @fn_emit(ptr @.str11401) call void @fn_emit(ptr @.str11402) call void @fn_emit(ptr @.str11403) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11404) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond16 wcond16: %t123 = load i32, ptr %t4 %t124 = load ptr, ptr @g_prog %t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp slt i32 %t123, %t126 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %wbody17, label %wend18 wbody17: %t131 = load ptr, ptr @g_prog %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = load i32, ptr %t4 %t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0 %t138 = load i32, ptr %t137 %t139 = icmp eq i32 %t138, 10 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t130 br i1 %t141, label %sc19, label %scend20 sc19: %t143 = load ptr, ptr @g_prog %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = load i32, ptr %t4 %t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146 %t148 = load ptr, ptr %t147 %t149 = call i32 @fn_net_model_syncs(ptr %t148) %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t130 br label %scend20 scend20: %t152 = load i32, ptr %t130 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then21, label %ifend23 then21: %t154 = load ptr, ptr @g_prog %t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = load i32, ptr %t4 %t158 = getelementptr inbounds ptr, ptr %t156, i32 %t157 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 store ptr %t161, ptr %t162 %t163 = load i32, ptr %t3 %t164 = call ptr @fn_itoa(i32 %t163) store ptr %t164, ptr %t165 call void @fn_emit(ptr @.str11405) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str11406) %t167 = load ptr, ptr %t162 %t168 = call i32 @fn_find_arch_id(ptr %t167) %t169 = call ptr @fn_itoa(i32 %t168) call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str11407) call void @fn_emit(ptr @.str11408) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str11409) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str11410) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str11411) call void @fn_emit(ptr @.str11412) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str11413) %t174 = load ptr, ptr @g_prog %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = load i32, ptr %t4 %t178 = getelementptr inbounds ptr, ptr %t176, i32 %t177 %t179 = load ptr, ptr %t178 %t180 = call i32 @fn_net_model_bytes(ptr %t179) %t181 = call ptr @fn_itoa(i32 %t180) call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str11414) call void @fn_emit(ptr @.str11415) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str11416) %t183 = load i32, ptr %t3 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t3 br label %ifend23 ifend23: %t185 = load i32, ptr %t4 %t186 = add i32 %t185, 1 store i32 %t186, ptr %t4 br label %wcond16 wend18: call void @fn_emit(ptr @.str11417) 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 @.str11418) call void @fn_emit(ptr @.str11419) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11420) call void @fn_emit(ptr @.str11421) call void @fn_emit(ptr @.str11422) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str11423) call void @fn_emit(ptr @.str11424) call void @fn_emit(ptr @.str11425) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11426) call void @fn_emit(ptr @.str11427) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str11428) call void @fn_emith(ptr @.str11429) call void @fn_emith(ptr @.str11430) call void @fn_emith(ptr @.str11431) call void @fn_emit(ptr @.str11432) call void @fn_emit(ptr @.str11433) call void @fn_emit(ptr @.str11434) call void @fn_emit(ptr @.str11435) call void @fn_emit(ptr @.str11436) call void @fn_emit(ptr @.str11437) call void @fn_emit(ptr @.str11438) call void @fn_emit(ptr @.str11439) call void @fn_emit(ptr @.str11440) call void @fn_emit(ptr @.str11441) call void @fn_emit(ptr @.str11442) call void @fn_emit(ptr @.str11443) call void @fn_emit(ptr @.str11444) call void @fn_emit(ptr @.str11445) call void @fn_emit(ptr @.str11446) call void @fn_emit(ptr @.str11447) call void @fn_emit(ptr @.str11448) call void @fn_emit(ptr @.str11449) call void @fn_emit(ptr @.str11450) call void @fn_emit(ptr @.str11451) call void @fn_emit(ptr @.str11452) call void @fn_emit(ptr @.str11453) 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3 %t15 = load ptr, ptr %t14 %t16 = icmp ne ptr %t15, null %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 %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load i32, ptr %t1 store i32 %t20, ptr %retval br label %ret ifend5: %t21 = load i32, ptr %t1 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t1 br label %wcond0 wend2: %t23 = sub i32 0, 1 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_find_extern(ptr @.str11454) 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 @.str11455, 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 @.str11456) 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 @.str11457, 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 %t21 = alloca ptr %t30 = alloca ptr %t41 = alloca i32 %t42 = alloca i32 %t44 = alloca ptr %t65 = alloca ptr %t71 = alloca ptr call void @fn_emith(ptr @.str11458) %t0 = call ptr @fn_find_extern(ptr @.str11459) %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 @.str11460) call void @fn_emit(ptr @.str11461) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11462) call void @fn_emit(ptr @.str11463) call void @fn_emit(ptr @.str11464) 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 ptr, ptr %t17, i32 %t18 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t23 %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: %t28 = load i32, ptr %t7 %t29 = call ptr @fn_itoa(i32 %t28) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str11465) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str11466) %t32 = load ptr, ptr %t21 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = call i32 @fn_net_event_id(ptr %t34) %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str11467) call void @fn_emit(ptr @.str11468) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str11469) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11470) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11471) call void @fn_emit(ptr @.str11472) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11473) store i32 4, ptr %t41 store i32 0, ptr %t42 %t43 = call ptr @fn_buf_new() store ptr %t43, ptr %t44 br label %wcond9 wcond9: %t45 = load i32, ptr %t42 %t46 = load ptr, ptr %t21 %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 1 %t50 = load i32, ptr %t49 %t51 = icmp slt i32 %t45, %t50 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %wbody10, label %wend11 wbody10: %t54 = load ptr, ptr %t21 %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 = load i32, ptr %t42 %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_llty(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t30 %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11474) %t68 = load i32, ptr %t42 %t69 = call ptr @fn_itoa(i32 %t68) %t70 = call ptr @lp_str_concat(ptr %t67, ptr %t69) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str11475) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11476) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11477) call void @fn_emit(ptr @.str11478) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11479) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11480) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11481) %t78 = load i32, ptr %t42 %t79 = icmp sgt i32 %t78, 0 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then12, label %ifend14 then12: %t82 = load ptr, ptr %t44 call void @fn_buf_puts(ptr %t82, ptr @.str11482) br label %ifend14 ifend14: %t83 = load ptr, ptr %t44 %t84 = load ptr, ptr %t65 call void @fn_buf_puts(ptr %t83, ptr %t84) %t85 = load ptr, ptr %t44 call void @fn_buf_puts(ptr %t85, ptr @.str11483) %t86 = load ptr, ptr %t44 %t87 = load ptr, ptr %t71 call void @fn_buf_puts(ptr %t86, ptr %t87) %t88 = load ptr, ptr %t21 %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 = load i32, ptr %t42 %t94 = getelementptr inbounds ptr, ptr %t92, i32 %t93 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 3 %t97 = load ptr, ptr %t96 %t98 = call i32 @fn_net_field_ibytes(ptr %t97) %t99 = load i32, ptr %t41 %t100 = add i32 %t99, %t98 store i32 %t100, ptr %t41 %t101 = load i32, ptr %t42 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t42 br label %wcond9 wend11: call void @fn_emit(ptr @.str11484) %t103 = load ptr, ptr %t21 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str11485) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11486) call void @fn_emit(ptr @.str11487) call void @fn_emit(ptr @.str11488) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11489) br label %ifend8 ifend8: %t109 = load i32, ptr %t7 %t110 = add i32 %t109, 1 store i32 %t110, ptr %t7 br label %wcond3 wend5: call void @fn_emit(ptr @.str11490) call void @fn_emit(ptr @.str11491) 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 ptr, ptr %t13, i32 %t14 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %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 %t10 br i1 %t21, label %sc6, label %scend7 sc6: %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 %t2 %t27 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t28 = load ptr, ptr %t27 %t29 = call i32 @fn_net_model_syncs(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t10 br label %scend7 scend7: %t32 = load i32, ptr %t10 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr @g_prog %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t2 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t39 = load ptr, ptr %t38 call void @fn_emit_net_serialize(ptr %t39) %t40 = load ptr, ptr @g_prog %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t2 %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 call void @fn_emit_net_apply(ptr %t45) br label %ifend10 ifend10: %t46 = load i32, ptr %t2 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t2 br label %wcond3 wend5: call void @fn_emit_net_dispatch() br label %ifend2 ifend2: %t48 = call i32 @fn_net_has_owned() %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then11, label %ifend13 then11: call void @fn_emit_net_owner() br label %ifend13 ifend13: %t50 = call i32 @fn_net_has_remote() %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: call void @fn_emith(ptr @.str11492) call void @fn_emit_net_pump() br label %ifend16 ifend16: 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 @.str11493) %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 @.str11494) %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 @.str11495) %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 @.str11496) %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 @.str11497) %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 @.str11498) %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 @.str11499) %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 ptr, ptr %t20, i32 %t21 %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 %then3, label %ifend5 then3: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 5 %t31 = load ptr, ptr %t30 %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 %t2 %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 %t40 = load ptr, ptr %t39 store ptr %t40, ptr %retval br label %ret ifend5: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t43 = load ptr, ptr %retval ret ptr %t43 } define ptr @fn_ui_props_with_inherited(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t7 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t64 = alloca ptr %t141 = alloca i32 %t166 = alloca i32 %t184 = alloca ptr %t190 = 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 ptr, ptr %t3, i32 %t4 %t6 = load ptr, ptr %t5 store ptr %t6, ptr %t7 %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 %t14 store i32 0, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr %t15 %t17 = load ptr, ptr %t7 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 5 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t16, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody1, label %wend2 wbody1: %t27 = load ptr, ptr %t14 %t28 = load ptr, ptr %t7 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 5 %t30 = load ptr, ptr %t29 %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 %t15 %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t39 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 %t40 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t41 = load i32, ptr %t38 %t42 = load i32, ptr %t39 %t43 = icmp sge i32 %t41, %t42 br i1 %t43, label %grow3, label %put4 grow3: %t44 = mul i32 %t42, 2 %t45 = icmp eq i32 %t42, 0 %t46 = select i1 %t45, i32 8, i32 %t44 %t47 = getelementptr ptr, ptr null, i32 1 %t48 = ptrtoint ptr %t47 to i64 %t49 = zext i32 %t46 to i64 %t50 = mul i64 %t49, %t48 %t51 = load ptr, ptr %t40 %t52 = call ptr @realloc(ptr %t51, i64 %t50) store ptr %t52, ptr %t40 store i32 %t46, ptr %t39 br label %put4 put4: %t53 = load ptr, ptr %t40 %t54 = getelementptr inbounds ptr, ptr %t53, i32 %t41 store ptr %t37, ptr %t54 %t55 = add i32 %t41, 1 store i32 %t55, ptr %t38 %t56 = load i32, ptr %t15 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t15 br label %wcond0 wend2: %t58 = getelementptr %LSlice, ptr null, i32 1 %t59 = ptrtoint ptr %t58 to i64 %t60 = call ptr @malloc(i64 %t59) %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 store ptr null, ptr %t61 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 store i32 0, ptr %t62 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 2 store i32 0, ptr %t63 store ptr %t60, ptr %t64 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t69 = load i32, ptr %t66 %t70 = load i32, ptr %t67 %t71 = icmp sge i32 %t69, %t70 br i1 %t71, label %grow5, label %put6 grow5: %t72 = mul i32 %t70, 2 %t73 = icmp eq i32 %t70, 0 %t74 = select i1 %t73, i32 8, i32 %t72 %t75 = getelementptr ptr, ptr null, i32 1 %t76 = ptrtoint ptr %t75 to i64 %t77 = zext i32 %t74 to i64 %t78 = mul i64 %t77, %t76 %t79 = load ptr, ptr %t68 %t80 = call ptr @realloc(ptr %t79, i64 %t78) store ptr %t80, ptr %t68 store i32 %t74, ptr %t67 br label %put6 put6: %t81 = load ptr, ptr %t68 %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69 store ptr @.str11500, ptr %t82 %t83 = add i32 %t69, 1 store i32 %t83, ptr %t66 %t84 = load ptr, ptr %t64 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t86 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 2 %t87 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t88 = load i32, ptr %t85 %t89 = load i32, ptr %t86 %t90 = icmp sge i32 %t88, %t89 br i1 %t90, label %grow7, label %put8 grow7: %t91 = mul i32 %t89, 2 %t92 = icmp eq i32 %t89, 0 %t93 = select i1 %t92, i32 8, i32 %t91 %t94 = getelementptr ptr, ptr null, i32 1 %t95 = ptrtoint ptr %t94 to i64 %t96 = zext i32 %t93 to i64 %t97 = mul i64 %t96, %t95 %t98 = load ptr, ptr %t87 %t99 = call ptr @realloc(ptr %t98, i64 %t97) store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put8 put8: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr @.str11501, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 %t103 = load ptr, ptr %t64 %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t107 = load i32, ptr %t104 %t108 = load i32, ptr %t105 %t109 = icmp sge i32 %t107, %t108 br i1 %t109, label %grow9, label %put10 grow9: %t110 = mul i32 %t108, 2 %t111 = icmp eq i32 %t108, 0 %t112 = select i1 %t111, i32 8, i32 %t110 %t113 = getelementptr ptr, ptr null, i32 1 %t114 = ptrtoint ptr %t113 to i64 %t115 = zext i32 %t112 to i64 %t116 = mul i64 %t115, %t114 %t117 = load ptr, ptr %t106 %t118 = call ptr @realloc(ptr %t117, i64 %t116) store ptr %t118, ptr %t106 store i32 %t112, ptr %t105 br label %put10 put10: %t119 = load ptr, ptr %t106 %t120 = getelementptr inbounds ptr, ptr %t119, i32 %t107 store ptr @.str11502, ptr %t120 %t121 = add i32 %t107, 1 store i32 %t121, ptr %t104 %t122 = load ptr, ptr %t64 %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 2 %t125 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t126 = load i32, ptr %t123 %t127 = load i32, ptr %t124 %t128 = icmp sge i32 %t126, %t127 br i1 %t128, label %grow11, label %put12 grow11: %t129 = mul i32 %t127, 2 %t130 = icmp eq i32 %t127, 0 %t131 = select i1 %t130, i32 8, i32 %t129 %t132 = getelementptr ptr, ptr null, i32 1 %t133 = ptrtoint ptr %t132 to i64 %t134 = zext i32 %t131 to i64 %t135 = mul i64 %t134, %t133 %t136 = load ptr, ptr %t125 %t137 = call ptr @realloc(ptr %t136, i64 %t135) store ptr %t137, ptr %t125 store i32 %t131, ptr %t124 br label %put12 put12: %t138 = load ptr, ptr %t125 %t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126 store ptr @.str11503, ptr %t139 %t140 = add i32 %t126, 1 store i32 %t140, ptr %t123 store i32 0, ptr %t141 br label %wcond13 wcond13: %t142 = load i32, ptr %t141 %t143 = load ptr, ptr %t64 %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp slt i32 %t142, %t145 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %wbody14, label %wend15 wbody14: %t149 = load ptr, ptr %t7 %t150 = load ptr, ptr %t64 %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = load i32, ptr %t141 %t154 = getelementptr inbounds ptr, ptr %t152, i32 %t153 %t155 = load ptr, ptr %t154 %t156 = call ptr @fn_ui_prop(ptr %t149, ptr %t155) %t157 = icmp eq ptr %t156, null %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then16, label %ifend18 then16: %t160 = load ptr, ptr @g_uiw_parent %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = load i32, ptr %t0 %t164 = getelementptr inbounds i32, ptr %t162, i32 %t163 %t165 = load i32, ptr %t164 store i32 %t165, ptr %t166 br label %wcond19 wcond19: %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 %wbody20, label %wend21 wbody20: %t171 = load ptr, ptr @g_uiw %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = load i32, ptr %t166 %t175 = getelementptr inbounds ptr, ptr %t173, i32 %t174 %t176 = load ptr, ptr %t175 %t177 = load ptr, ptr %t64 %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = load i32, ptr %t141 %t181 = getelementptr inbounds ptr, ptr %t179, i32 %t180 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_ui_prop(ptr %t176, ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 %t186 = icmp ne ptr %t185, null %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then22, label %else23 then22: %t189 = call ptr @fn_node(i32 42) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 %t193 = load ptr, ptr %t64 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = load i32, ptr %t141 %t197 = getelementptr inbounds ptr, ptr %t195, i32 %t196 %t198 = load ptr, ptr %t197 store ptr %t198, ptr %t192 %t199 = load ptr, ptr %t190 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 4 %t201 = load ptr, ptr %t184 store ptr %t201, ptr %t200 %t202 = load ptr, ptr %t14 %t203 = load ptr, ptr %t190 %t204 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1 %t205 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 2 %t206 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 0 %t207 = load i32, ptr %t204 %t208 = load i32, ptr %t205 %t209 = icmp sge i32 %t207, %t208 br i1 %t209, label %grow25, label %put26 grow25: %t210 = mul i32 %t208, 2 %t211 = icmp eq i32 %t208, 0 %t212 = select i1 %t211, i32 8, i32 %t210 %t213 = getelementptr ptr, ptr null, i32 1 %t214 = ptrtoint ptr %t213 to i64 %t215 = zext i32 %t212 to i64 %t216 = mul i64 %t215, %t214 %t217 = load ptr, ptr %t206 %t218 = call ptr @realloc(ptr %t217, i64 %t216) store ptr %t218, ptr %t206 store i32 %t212, ptr %t205 br label %put26 put26: %t219 = load ptr, ptr %t206 %t220 = getelementptr inbounds ptr, ptr %t219, i32 %t207 store ptr %t203, ptr %t220 %t221 = add i32 %t207, 1 store i32 %t221, ptr %t204 %t222 = sub i32 0, 1 store i32 %t222, ptr %t166 br label %ifend24 else23: %t223 = load ptr, ptr @g_uiw_parent %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 %t226 = load i32, ptr %t166 %t227 = getelementptr inbounds i32, ptr %t225, i32 %t226 %t228 = load i32, ptr %t227 store i32 %t228, ptr %t166 br label %ifend24 ifend24: br label %wcond19 wend21: br label %ifend18 ifend18: %t229 = load i32, ptr %t141 %t230 = add i32 %t229, 1 store i32 %t230, ptr %t141 br label %wcond13 wend15: %t231 = load ptr, ptr %t14 store ptr %t231, ptr %retval br label %ret ret: %t232 = load ptr, ptr %retval ret ptr %t232 } 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 ptr, ptr %t60, i32 %t61 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t5 call void @fn_ui_flatten(ptr %t63, i32 %t64) %t65 = load i32, ptr %t46 %t66 = add i32 %t65, 1 store i32 %t66, 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 ptr, ptr %t29, i32 %t30 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp eq i32 %t34, 12 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t26 br i1 %t37, label %sc3, label %scend4 sc3: %t39 = load ptr, ptr @g_prog %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t18 %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2 %t46 = load i32, ptr %t45 %t47 = icmp eq i32 %t46, 1 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t26 br label %scend4 scend4: %t51 = load i32, ptr %t26 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then5, label %ifend7 then5: %t53 = load ptr, ptr @g_ui_roots %t54 = load ptr, ptr @g_uiw %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2 %t59 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t60 = load i32, ptr %t57 %t61 = load i32, ptr %t58 %t62 = icmp sge i32 %t60, %t61 br i1 %t62, label %grow8, label %put9 grow8: %t63 = mul i32 %t61, 2 %t64 = icmp eq i32 %t61, 0 %t65 = select i1 %t64, i32 8, i32 %t63 %t66 = getelementptr i32, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 %t68 = zext i32 %t65 to i64 %t69 = mul i64 %t68, %t67 %t70 = load ptr, ptr %t59 %t71 = call ptr @realloc(ptr %t70, i64 %t69) store ptr %t71, ptr %t59 store i32 %t65, ptr %t58 br label %put9 put9: %t72 = load ptr, ptr %t59 %t73 = getelementptr inbounds i32, ptr %t72, i32 %t60 store i32 %t56, ptr %t73 %t74 = add i32 %t60, 1 store i32 %t74, ptr %t57 %t75 = load ptr, ptr @g_prog %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t18 %t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = sub i32 0, 1 call void @fn_ui_flatten(ptr %t82, i32 %t83) br label %ifend7 ifend7: %t84 = load i32, ptr %t18 %t85 = add i32 %t84, 1 store i32 %t85, 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 ptr, ptr %t11, i32 %t12 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 12 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br i1 %t19, label %sc3, label %scend4 sc3: %t21 = load ptr, ptr @g_prog %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 1 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend4 scend4: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret 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_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 %t83 = alloca ptr %t88 = 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 ptr, ptr %t24, i32 %t25 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 12 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t21 br i1 %t32, label %sc6, label %scend7 sc6: %t34 = load ptr, ptr @g_prog %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t13 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 2 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 1 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t21 br label %scend7 scend7: %t46 = load i32, ptr %t21 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then8, label %ifend10 then8: %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 %t13 %t52 = getelementptr inbounds ptr, ptr %t50, i32 %t51 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t10 %t57 = call i32 @lp_str_eq(ptr %t55, ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then11, label %ifend13 then11: %t59 = load ptr, ptr @g_ui_roots %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t12 %t63 = getelementptr inbounds i32, ptr %t61, i32 %t62 %t64 = load i32, ptr %t63 store i32 %t64, ptr %retval br label %ret ifend13: %t65 = load i32, ptr %t12 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t12 br label %ifend10 ifend10: %t67 = load i32, ptr %t13 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t13 br label %wcond3 wend5: store i32 0, ptr %t13 br label %wcond14 wcond14: %t69 = load i32, ptr %t13 %t70 = load ptr, ptr @g_uiw %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp slt i32 %t69, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody15, label %wend16 wbody15: %t76 = load ptr, ptr @g_uiw %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = load i32, ptr %t13 %t80 = getelementptr inbounds ptr, ptr %t78, i32 %t79 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_ui_prop(ptr %t81, ptr @.str11504) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t83 %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then17, label %ifend19 then17: %t89 = load ptr, ptr %t83 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 %t91 = load i32, ptr %t90 %t92 = icmp eq i32 %t91, 33 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t88 br i1 %t94, label %sc20, label %scend21 sc20: %t96 = load ptr, ptr %t83 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 %t99 = load ptr, ptr %t10 %t100 = call i32 @lp_str_eq(ptr %t98, ptr %t99) %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t88 br label %scend21 scend21: %t103 = load i32, ptr %t88 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then22, label %ifend24 then22: %t105 = load i32, ptr %t13 store i32 %t105, ptr %retval br label %ret ifend24: br label %ifend19 ifend19: %t106 = load i32, ptr %t13 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t13 br label %wcond14 wend16: store i32 0, ptr %retval br label %ret ret: %t108 = load i32, ptr %retval ret i32 %t108 } 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 @.str11505) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11506) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11507) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str11508) 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 @.str11509) %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 @.str11510) %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 @.str11511) %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 @.str11512) %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 @.str11513) %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 @.str11514) %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 @.str11515) %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 @.str11516) %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 @.str11517) %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 @.str11518) %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 @.str11519) %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 @.str11520) %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 @.str11521) %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 @.str11522) %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 %t24 = alloca ptr %t27 = alloca i32 %t46 = alloca ptr %t47 = alloca i32 %t61 = alloca ptr %t65 = alloca ptr %t69 = alloca ptr %t70 = alloca i32 %t88 = alloca ptr %t94 = alloca i32 %t107 = alloca ptr %t114 = alloca ptr %t131 = alloca i32 %t147 = alloca ptr %t154 = alloca i32 %t161 = alloca ptr %t167 = 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 @.str11523) %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 @.str11524) 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 ptr, ptr %t20, i32 %t21 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_ui_wtype(ptr %t25) store i32 %t26, ptr %t27 %t28 = load i32, ptr %t10 %t29 = load i32, ptr %t27 %t30 = call ptr @fn_itoa(i32 %t29) call void @fn_ll_ui_set(i32 %t28, i32 0, ptr %t30) %t31 = load i32, ptr %t10 %t32 = load ptr, ptr @g_uiw_parent %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t10 %t36 = getelementptr inbounds i32, ptr %t34, i32 %t35 %t37 = load i32, ptr %t36 %t38 = call ptr @fn_itoa(i32 %t37) call void @fn_ll_ui_set(i32 %t31, i32 1, ptr %t38) %t39 = load i32, ptr %t27 %t40 = icmp eq i32 %t39, 4 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then3, label %ifend5 then3: %t43 = load i32, ptr %t10 call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str11525) br label %ifend5 ifend5: %t44 = load i32, ptr %t10 %t45 = call ptr @fn_ui_props_with_inherited(i32 %t44) store ptr %t45, ptr %t46 store i32 0, ptr %t47 br label %wcond6 wcond6: %t48 = load i32, ptr %t47 %t49 = load ptr, ptr %t46 %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp slt i32 %t48, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody7, label %wend8 wbody7: %t55 = load ptr, ptr %t46 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t47 %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 %t60 = load ptr, ptr %t59 store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t61 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t71 = load ptr, ptr %t65 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11526) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t70 br i1 %t73, label %scend10, label %sc9 sc9: %t75 = load ptr, ptr %t65 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str11527) %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t70 br label %scend10 scend10: %t79 = load i32, ptr %t70 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then11, label %ifend13 then11: %t81 = load i32, ptr %t47 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t47 br label %wcond6 ifend13: %t83 = load ptr, ptr %t65 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str11528) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then14, label %else15 then14: %t86 = load ptr, ptr %t69 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 call void @fn_emit(ptr @.str11529) %t89 = load i32, ptr %t10 %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str11530) %t91 = load ptr, ptr %t88 %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11531) br label %ifend16 else15: %t95 = load ptr, ptr %t65 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str11532) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t94 br i1 %t97, label %scend18, label %sc17 sc17: %t99 = load ptr, ptr %t65 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str11533) %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t94 br label %scend18 scend18: %t103 = load i32, ptr %t94 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then19, label %else20 then19: %t105 = load ptr, ptr %t69 %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 @lp_str_concat(ptr @.str11534, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11535) %t113 = call ptr @fn_emit_bind(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t65 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str11536) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then22, label %else23 then22: %t118 = load i32, ptr %t10 %t119 = load ptr, ptr %t114 call void @fn_ll_ui_set(i32 %t118, i32 20, ptr %t119) br label %ifend24 else23: %t120 = load i32, ptr %t10 %t121 = load ptr, ptr %t114 call void @fn_ll_ui_set(i32 %t120, i32 19, ptr %t121) br label %ifend24 ifend24: br label %ifend21 else20: %t122 = load ptr, ptr %t65 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str11537) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then25, label %else26 then25: %t125 = load ptr, ptr %t69 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0 %t127 = load i32, ptr %t126 %t128 = icmp eq i32 %t127, 33 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then28, label %else29 then28: store i32 0, ptr %t131 %t132 = load ptr, ptr %t69 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str11538) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %ifend33 then31: store i32 1, ptr %t131 br label %ifend33 ifend33: %t137 = load ptr, ptr %t69 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str11539) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then34, label %ifend36 then34: store i32 2, ptr %t131 br label %ifend36 ifend36: %t142 = load i32, ptr %t10 %t143 = load i32, ptr %t131 %t144 = call ptr @fn_itoa(i32 %t143) call void @fn_ll_ui_set(i32 %t142, i32 12, ptr %t144) br label %ifend30 else29: %t145 = load ptr, ptr %t69 %t146 = call ptr @fn_emit_expr(ptr %t145) store ptr %t146, ptr %t147 %t148 = load i32, ptr %t10 %t149 = load ptr, ptr %t147 %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 call void @fn_ll_ui_set(i32 %t148, i32 12, ptr %t151) br label %ifend30 ifend30: br label %ifend27 else26: %t152 = load ptr, ptr %t65 %t153 = call i32 @fn_ui_prop_key(ptr %t152) store i32 %t153, ptr %t154 %t155 = load i32, ptr %t154 %t156 = icmp sge i32 %t155, 0 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then37, label %ifend39 then37: %t159 = load ptr, ptr %t69 %t160 = call ptr @fn_emit_expr(ptr %t159) store ptr %t160, ptr %t161 %t162 = load i32, ptr %t10 %t163 = load i32, ptr %t154 %t164 = load ptr, ptr %t161 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 call void @fn_ll_ui_set(i32 %t162, i32 %t163, ptr %t166) %t168 = load i32, ptr %t154 %t169 = icmp eq i32 %t168, 4 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t167 br i1 %t171, label %scend41, label %sc40 sc40: %t173 = load i32, ptr %t154 %t174 = icmp eq i32 %t173, 5 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t167 br label %scend41 scend41: %t178 = load i32, ptr %t167 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then42, label %ifend44 then42: %t180 = load i32, ptr %t10 call void @fn_ll_ui_set(i32 %t180, i32 6, ptr @.str11540) br label %ifend44 ifend44: br label %ifend39 ifend39: br label %ifend27 ifend27: br label %ifend21 ifend21: br label %ifend16 ifend16: %t181 = load i32, ptr %t47 %t182 = add i32 %t181, 1 store i32 %t182, ptr %t47 br label %wcond6 wend8: %t183 = load i32, ptr %t10 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t10 br label %wcond0 wend2: %t185 = load ptr, ptr %t4 store ptr %t185, ptr @g_code call void @fn_emit(ptr @.str11541) %t186 = load ptr, ptr @g_falloc %t187 = call ptr @fn_buf_str(ptr %t186) call void @fn_emit(ptr %t187) %t188 = load ptr, ptr %t1 %t189 = call ptr @fn_buf_str(ptr %t188) call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str11542) 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 @.str11543) 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 ptr, ptr %t19, i32 %t20 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_llty(ptr %t24) call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11544) %t26 = load ptr, ptr %t0 %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 = load i32, ptr %t1 %t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, 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 %t43 = alloca ptr %t49 = alloca ptr %t81 = 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 @.str11545) %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 @.str11546) %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 @.str11547) 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 ptr, ptr %t39, i32 %t40 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 3 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_llty(ptr %t46) %t48 = call ptr @fn_emit_alloca(ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str11548) %t50 = load ptr, ptr %t43 %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 @.str11549) %t54 = load ptr, ptr %t43 %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 @.str11550) %t57 = load ptr, ptr %t49 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11551) %t58 = load ptr, ptr %t43 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = load ptr, ptr %t49 %t62 = load ptr, ptr %t43 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 3 %t64 = load ptr, ptr %t63 call void @fn_loc_push(ptr %t60, ptr %t61, ptr %t64) %t65 = load i32, ptr %t25 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t25 br label %wcond3 wend5: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 call void @fn_emit_block(ptr %t69) %t70 = load i32, ptr @g_g_term %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str11552) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11553) %t74 = load ptr, ptr %t15 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str11554) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then9, label %else10 then9: call void @fn_emit(ptr @.str11555) br label %ifend11 else10: %t77 = load ptr, ptr %t15 %t78 = call ptr @lp_str_concat(ptr @.str11556, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11557) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 call void @fn_emit(ptr @.str11558) %t82 = load ptr, ptr %t15 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11559) %t83 = load ptr, ptr %t81 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11560) br label %ifend11 ifend11: %t84 = load ptr, ptr %t11 store ptr %t84, ptr @g_code call void @fn_emit(ptr @.str11561) %t85 = load ptr, ptr %t15 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str11562) %t86 = load ptr, ptr %t0 %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 @.str11563) %t89 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t89) call void @fn_emit(ptr @.str11564) %t90 = load ptr, ptr @g_falloc %t91 = call ptr @fn_buf_str(ptr %t90) call void @fn_emit(ptr %t91) %t92 = load ptr, ptr %t8 %t93 = call ptr @fn_buf_str(ptr %t92) call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11565) store ptr @.str11566, 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 @.str11567, 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 @.str11568) call void @fn_emit(ptr @.str11569) call void @fn_emit(ptr @.str11570) call void @fn_emit(ptr @.str11571) %t8 = call ptr @fn_find_fn(ptr @.str11572) %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 @.str11573) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11574) %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 @.str11575) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11576) %t19 = call ptr @fn_emit_bind(ptr @.str11577) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str11578) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11579) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str11580) %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 @.str11581) 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 @.str11582, 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 @.str11583) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11584) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str11585) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11586) %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 @.str11587) br label %ret ret: ret void } define void @fn_emit_test_runner() { entry: %t0 = alloca i32 %t20 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t37 = alloca ptr %t41 = alloca ptr %t69 = alloca ptr %t80 = alloca ptr %t90 = alloca ptr %t92 = alloca ptr %t94 = alloca ptr %t96 = alloca ptr %t98 = alloca ptr %t103 = alloca ptr %t122 = alloca ptr %t127 = alloca ptr %t140 = alloca ptr %t145 = alloca ptr %t154 = alloca ptr %t159 = alloca ptr %t161 = alloca ptr %t163 = alloca ptr %t165 = alloca ptr %t186 = alloca ptr %t191 = alloca ptr %t211 = alloca ptr %t213 = alloca ptr %t215 = alloca ptr %t217 = alloca ptr %t222 = alloca ptr %t227 = alloca ptr %t234 = alloca ptr %t252 = alloca ptr %t259 = alloca ptr %t270 = alloca ptr %t275 = alloca ptr call void @fn_emith(ptr @.str11588) call void @fn_emith(ptr @.str11589) call void @fn_emith(ptr @.str11590) 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr %t0 call void @fn_emit_test_fn(ptr %t13, i32 %t14) %t15 = load i32, ptr %t0 %t16 = add i32 %t15, 1 store i32 %t16, ptr %t0 br label %wcond0 wend2: %t17 = load i32, ptr @g_g_uses_expect %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str11591) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str11592) call void @fn_emit(ptr @.str11593) call void @fn_emit(ptr @.str11594) call void @fn_emit(ptr @.str11595) call void @fn_emit(ptr @.str11596) call void @fn_emit(ptr @.str11597) %t19 = call ptr @fn_lbl(ptr @.str11598) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str11599) store ptr %t21, ptr %t22 %t23 = call ptr @fn_emit_bind(ptr @.str11600) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str11601, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11602) %t28 = load ptr, ptr %t20 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str11603) %t31 = load ptr, ptr %t22 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str11604) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t20 %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11605) call void @fn_emit(ptr %t35) %t36 = call ptr @fn_emit_bind(ptr @.str11606) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str11607, ptr %t38) %t40 = call ptr @fn_emit_bind(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = call ptr @lp_str_concat(ptr @.str11608, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11609) call void @fn_emit(ptr %t44) %t45 = load ptr, ptr %t22 %t46 = call ptr @lp_str_concat(ptr @.str11610, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str11611) call void @fn_emit(ptr %t47) %t48 = load ptr, ptr %t22 %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11612) call void @fn_emit(ptr %t49) %t50 = call i32 @fn_has_ecs() %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str11613) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11614) store i32 0, ptr %t0 br label %wcond9 wcond9: %t52 = load i32, ptr %t0 %t53 = load ptr, ptr @g_g_tests %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 %wbody10, label %wend11 wbody10: %t59 = load ptr, ptr @g_g_tests %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t0 %t63 = getelementptr inbounds ptr, ptr %t61, i32 %t62 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call ptr @lp_str_concat(ptr @.str11615, ptr %t66) %t68 = call ptr @fn_emit_str_const(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr @g_g_tests %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = load i32, ptr %t0 %t74 = getelementptr inbounds ptr, ptr %t72, i32 %t73 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call ptr @lp_str_concat(ptr @.str11616, ptr %t77) %t79 = call ptr @fn_emit_str_const(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr @g_g_tests %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = load i32, ptr %t0 %t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_emit_str_const(ptr %t88) store ptr %t89, ptr %t90 %t91 = call ptr @fn_lbl(ptr @.str11617) store ptr %t91, ptr %t92 %t93 = call ptr @fn_lbl(ptr @.str11618) store ptr %t93, ptr %t94 %t95 = call ptr @fn_lbl(ptr @.str11619) store ptr %t95, ptr %t96 %t97 = call ptr @fn_emit_bind(ptr @.str11620) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = call ptr @lp_str_concat(ptr @.str11621, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str11622) %t102 = call ptr @fn_emit_bind(ptr %t101) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = call ptr @lp_str_concat(ptr @.str11623, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11624) %t107 = load ptr, ptr %t94 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str11625) %t110 = load ptr, ptr %t92 %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11626) call void @fn_emit(ptr %t112) %t113 = load ptr, ptr %t92 %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str11627) call void @fn_emit(ptr %t114) %t115 = load ptr, ptr %t98 %t116 = call ptr @lp_str_concat(ptr @.str11628, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str11629) %t118 = load ptr, ptr %t90 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str11630) %t121 = call ptr @fn_emit_bind(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = call ptr @lp_str_concat(ptr @.str11631, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str11632) %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 @.str11633, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str11634) %t131 = load ptr, ptr %t94 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str11635) %t134 = load ptr, ptr %t96 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str11636) call void @fn_emit(ptr %t136) %t137 = load ptr, ptr %t94 %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str11637) call void @fn_emit(ptr %t138) %t139 = call ptr @fn_emit_bind(ptr @.str11638) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str11639, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11640) %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 %t147 = call ptr @lp_str_concat(ptr @.str11641, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str11642) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str11643) %t149 = load i32, ptr %t0 %t150 = call ptr @fn_itoa(i32 %t149) %t151 = call ptr @lp_str_concat(ptr @.str11644, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11645) call void @fn_emit(ptr %t152) %t153 = call ptr @fn_emit_bind(ptr @.str11646) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str11647, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str11648) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str11649) store ptr %t160, ptr %t161 %t162 = call ptr @fn_lbl(ptr @.str11650) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str11651) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t159 %t167 = call ptr @lp_str_concat(ptr @.str11652, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str11653) %t169 = load ptr, ptr %t163 %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str11654) %t172 = load ptr, ptr %t161 %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str11655) call void @fn_emit(ptr %t174) %t175 = load ptr, ptr %t161 %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str11656) call void @fn_emit(ptr %t176) %t177 = load ptr, ptr %t69 %t178 = call ptr @lp_str_concat(ptr @.str11657, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str11658) call void @fn_emit(ptr %t179) %t180 = load ptr, ptr %t165 %t181 = call ptr @lp_str_concat(ptr @.str11659, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str11660) call void @fn_emit(ptr %t182) %t183 = load ptr, ptr %t163 %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str11661) call void @fn_emit(ptr %t184) %t185 = call ptr @fn_emit_bind(ptr @.str11662) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = call ptr @lp_str_concat(ptr @.str11663, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str11664) %t190 = call ptr @fn_emit_bind(ptr %t189) store ptr %t190, ptr %t191 %t192 = load ptr, ptr %t191 %t193 = call ptr @lp_str_concat(ptr @.str11665, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str11666) call void @fn_emit(ptr %t194) %t195 = load ptr, ptr %t80 %t196 = call ptr @lp_str_concat(ptr @.str11667, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str11668) call void @fn_emit(ptr %t197) %t198 = load ptr, ptr %t165 %t199 = call ptr @lp_str_concat(ptr @.str11669, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11670) call void @fn_emit(ptr %t200) %t201 = load ptr, ptr %t165 %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str11671) call void @fn_emit(ptr %t202) %t203 = load ptr, ptr %t96 %t204 = call ptr @lp_str_concat(ptr @.str11672, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str11673) call void @fn_emit(ptr %t205) %t206 = load ptr, ptr %t96 %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str11674) call void @fn_emit(ptr %t207) %t208 = load i32, ptr %t0 %t209 = add i32 %t208, 1 store i32 %t209, ptr %t0 br label %wcond9 wend11: %t210 = call ptr @fn_lbl(ptr @.str11675) store ptr %t210, ptr %t211 %t212 = call ptr @fn_lbl(ptr @.str11676) store ptr %t212, ptr %t213 %t214 = call ptr @fn_emit_bind(ptr @.str11677) store ptr %t214, ptr %t215 %t216 = call ptr @fn_emit_bind(ptr @.str11678) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str11679, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11680) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t215 %t224 = call ptr @lp_str_concat(ptr @.str11681, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str11682) %t226 = call ptr @fn_emit_bind(ptr %t225) store ptr %t226, ptr %t227 %t228 = load ptr, ptr %t222 %t229 = call ptr @lp_str_concat(ptr @.str11683, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str11684) %t231 = load ptr, ptr %t227 %t232 = call ptr @lp_str_concat(ptr %t230, ptr %t231) %t233 = call ptr @fn_emit_bind(ptr %t232) store ptr %t233, ptr %t234 %t235 = load ptr, ptr %t234 %t236 = call ptr @lp_str_concat(ptr @.str11685, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str11686) %t238 = load ptr, ptr %t211 %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str11687) %t241 = load ptr, ptr %t213 %t242 = call ptr @lp_str_concat(ptr %t240, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str11688) call void @fn_emit(ptr %t243) %t244 = load ptr, ptr %t211 %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str11689) call void @fn_emit(ptr %t245) %t246 = load ptr, ptr %t217 %t247 = call ptr @lp_str_concat(ptr @.str11690, ptr %t246) %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11691) call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str11692) %t249 = load ptr, ptr %t213 %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11693) call void @fn_emit(ptr %t250) %t251 = call ptr @fn_emit_bind(ptr @.str11694) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t215 %t254 = call ptr @lp_str_concat(ptr @.str11695, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str11696) %t256 = load ptr, ptr %t252 %t257 = call ptr @lp_str_concat(ptr %t255, ptr %t256) %t258 = call ptr @fn_emit_bind(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t259 %t261 = call ptr @lp_str_concat(ptr @.str11697, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str11698) %t263 = load ptr, ptr %t252 %t264 = call ptr @lp_str_concat(ptr %t262, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str11699) call void @fn_emit(ptr %t265) %t266 = load ptr, ptr %t252 %t267 = call ptr @lp_str_concat(ptr @.str11700, ptr %t266) %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str11701) %t269 = call ptr @fn_emit_bind(ptr %t268) store ptr %t269, ptr %t270 %t271 = load ptr, ptr %t270 %t272 = call ptr @lp_str_concat(ptr @.str11702, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str11703) %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 @.str11704, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11705) call void @fn_emit(ptr %t278) br label %ret ret: ret void } define void @fn_check_duplicate_fns() { entry: %t0 = alloca i32 %t14 = alloca ptr %t23 = alloca i32 %t37 = alloca ptr %t38 = 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 ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 4 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load i32, ptr %t0 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t23 br label %wcond6 wcond6: %t24 = load i32, ptr %t23 %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp slt i32 %t24, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %wbody7, label %wend8 wbody7: %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 %t23 %t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t37 %t39 = load ptr, ptr %t37 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 4 %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 %sc9, label %scend10 sc9: %t46 = load ptr, ptr %t37 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t14 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = call i32 @lp_str_eq(ptr %t48, ptr %t51) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t38 br label %scend10 scend10: %t55 = load i32, ptr %t38 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then11, label %ifend13 then11: %t57 = load ptr, ptr %t37 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 9 %t59 = load ptr, ptr %t58 store ptr %t59, ptr @g_g_err_file %t60 = load ptr, ptr %t37 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 %t62 = load i32, ptr %t61 store i32 %t62, ptr @g_g_err_line %t63 = load ptr, ptr %t14 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 %t66 = call ptr @lp_str_concat(ptr @.str11706, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11707) %t68 = load ptr, ptr %t14 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 9 %t70 = load ptr, ptr %t69 %t71 = call ptr @lp_str_concat(ptr %t67, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11708) %t73 = load ptr, ptr %t14 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 8 %t75 = load i32, ptr %t74 %t76 = call ptr @fn_itoa(i32 %t75) %t77 = call ptr @lp_str_concat(ptr %t72, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str11709) call void @fn_perr(ptr %t78) br label %ifend13 ifend13: %t79 = load i32, ptr %t23 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t23 br label %wcond6 wend8: br label %ifend5 ifend5: %t81 = load i32, ptr %t0 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_program() { entry: %t70 = alloca i32 %t123 = alloca i32 %t218 = alloca i32 call void @fn_check_duplicate_fns() %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_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 ptr, ptr %t80, i32 %t81 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 0 %t85 = load i32, ptr %t84 %t86 = icmp eq i32 %t85, 4 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then6, label %ifend8 then6: %t89 = load i32, ptr %t70 %t90 = load i32, ptr @g_g_prog_user_end %t91 = icmp slt i32 %t89, %t90 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr @g_g_cov_active %t93 = load ptr, ptr @g_prog %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = load i32, ptr %t70 %t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96 %t98 = load ptr, ptr %t97 call void @fn_emit_fn(ptr %t98) store i32 1, ptr @g_g_cov_active br label %ifend8 ifend8: %t99 = load i32, ptr %t70 %t100 = add i32 %t99, 1 store i32 %t100, ptr %t70 br label %wcond3 wend5: call void @fn_emit_global_init_fn() %t101 = load ptr, ptr @g_g_events %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp sgt i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then9, label %ifend11 then9: call void @fn_emit_event_fns() br label %ifend11 ifend11: %t107 = call i32 @fn_has_ecs() %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then12, label %ifend14 then12: call void @fn_emit_world_table() br label %ifend14 ifend14: %t109 = call i32 @fn_has_ecs() %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then15, label %ifend17 then15: call void @fn_emit_ecs_allocator() call void @fn_emit_snapshot() br label %ifend17 ifend17: %t111 = call i32 @fn_has_ecs() %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then18, label %ifend20 then18: call void @fn_emit_net() br label %ifend20 ifend20: %t113 = call i32 @fn_has_ui() %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then21, label %ifend23 then21: call void @fn_emit_ui_build() br label %ifend23 ifend23: %t115 = load ptr, ptr @g_g_tests %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp sgt i32 %t117, 0 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then24, label %else25 then24: %t121 = call i32 @fn_has_systems() %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then27, label %ifend29 then27: call void @fn_emit_game_defs() br label %ifend29 ifend29: call void @fn_emit_test_runner() br label %ifend26 else25: %t124 = call i32 @fn_has_systems() %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t123 br i1 %t125, label %sc30, label %scend31 sc30: %t127 = call i32 @fn_has_entry() %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t123 br label %scend31 scend31: %t130 = load i32, ptr %t123 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then32, label %else33 then32: call void @fn_emit_game_defs() store i32 0, ptr %t70 br label %wcond35 wcond35: %t132 = load i32, ptr %t70 %t133 = load ptr, ptr @g_prog %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp slt i32 %t132, %t135 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody36, label %wend37 wbody36: %t139 = load ptr, ptr @g_prog %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = load i32, ptr %t70 %t143 = getelementptr inbounds ptr, ptr %t141, i32 %t142 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 0 %t146 = load i32, ptr %t145 %t147 = icmp eq i32 %t146, 6 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then38, label %ifend40 then38: %t150 = load ptr, ptr @g_prog %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = load i32, ptr %t70 %t154 = getelementptr inbounds ptr, ptr %t152, i32 %t153 %t155 = load ptr, ptr %t154 call void @fn_emit_main(ptr %t155) br label %ifend40 ifend40: %t156 = load i32, ptr %t70 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t70 br label %wcond35 wend37: br label %ifend34 else33: %t158 = call i32 @fn_has_systems() %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then41, label %else42 then41: call void @fn_emit_game_main() br label %ifend43 else42: store i32 0, ptr %t70 br label %wcond44 wcond44: %t160 = load i32, ptr %t70 %t161 = load ptr, ptr @g_prog %t162 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp slt i32 %t160, %t163 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %wbody45, label %wend46 wbody45: %t167 = load ptr, ptr @g_prog %t168 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = load i32, ptr %t70 %t171 = getelementptr inbounds ptr, ptr %t169, i32 %t170 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0 %t174 = load i32, ptr %t173 %t175 = icmp eq i32 %t174, 6 %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then47, label %ifend49 then47: %t178 = load ptr, ptr @g_prog %t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = load i32, ptr %t70 %t182 = getelementptr inbounds ptr, ptr %t180, i32 %t181 %t183 = load ptr, ptr %t182 call void @fn_emit_main(ptr %t183) br label %ifend49 ifend49: %t184 = load i32, ptr %t70 %t185 = add i32 %t184, 1 store i32 %t185, ptr %t70 br label %wcond44 wend46: br label %ifend43 ifend43: br label %ifend34 ifend34: br label %ifend26 ifend26: %t186 = load i32, ptr @g_g_uses_world_despawn %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then50, label %ifend52 then50: call void @fn_emit_world_despawn_fn() br label %ifend52 ifend52: %t188 = load i32, ptr @g_g_uses_loopback %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then53, label %ifend55 then53: call void @fn_emit_loopback() br label %ifend55 ifend55: %t190 = load i32, ptr @g_g_uses_str %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then56, label %ifend58 then56: call void @fn_emit_str_prelude() br label %ifend58 ifend58: %t192 = load i32, ptr @g_g_uses_intstr %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then59, label %ifend61 then59: call void @fn_emit_int_str() br label %ifend61 ifend61: %t194 = load i32, ptr @g_g_uses_fpstr %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then62, label %ifend64 then62: call void @fn_emit_fp_str_fn() br label %ifend64 ifend64: %t196 = load i32, ptr @g_g_uses_longstr %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then65, label %ifend67 then65: call void @fn_emit_long_str() br label %ifend67 ifend67: %t198 = load i32, ptr @g_g_uses_strslice %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then68, label %ifend70 then68: call void @fn_emit_str_slice() br label %ifend70 ifend70: %t200 = load i32, ptr @g_g_uses_mathrt %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then71, label %ifend73 then71: call void @fn_emit_math_prelude() br label %ifend73 ifend73: %t202 = load i32, ptr @g_g_uses_textrt %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then74, label %ifend76 then74: call void @fn_emit_text_prelude() br label %ifend76 ifend76: %t204 = load i32, ptr @g_g_uses_textrt2 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then77, label %ifend79 then77: call void @fn_emit_text2_prelude() br label %ifend79 ifend79: %t206 = load i32, ptr @g_g_uses_hashrt %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then80, label %ifend82 then80: call void @fn_emit_hash_prelude() br label %ifend82 ifend82: %t208 = load i32, ptr @g_g_uses_cryptort %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then83, label %ifend85 then83: call void @fn_emit_crypto_prelude() br label %ifend85 ifend85: %t210 = load i32, ptr @g_g_uses_uuidrt %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then86, label %ifend88 then86: call void @fn_emit_uuid_prelude() br label %ifend88 ifend88: %t212 = load i32, ptr @g_g_uses_noisert %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then89, label %ifend91 then89: call void @fn_emit_noise_prelude() br label %ifend91 ifend91: %t214 = load i32, ptr @g_g_uses_logrt %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then92, label %ifend94 then92: call void @fn_emit_log_prelude() br label %ifend94 ifend94: %t216 = load i32, ptr @g_g_uses_osrt %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then95, label %ifend97 then95: call void @fn_emit_os_prelude() br label %ifend97 ifend97: %t219 = load i32, ptr @g_g_uses_pid %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t218 br i1 %t220, label %sc98, label %scend99 sc98: %t222 = load i32, ptr @g_g_target_win %t223 = icmp eq i32 %t222, 0 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t218 br label %scend99 scend99: %t227 = load i32, ptr %t218 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then100, label %ifend102 then100: call void @fn_emith(ptr @.str11710) br label %ifend102 ifend102: %t229 = load i32, ptr @g_g_uses_unicodert %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then103, label %ifend105 then103: call void @fn_emit_unicode_prelude() br label %ifend105 ifend105: %t231 = load i32, ptr @g_g_uses_fsrt %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then106, label %ifend108 then106: call void @fn_emit_fs_prelude() br label %ifend108 ifend108: %t233 = load i32, ptr @g_g_uses_pak %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then109, label %ifend111 then109: call void @fn_emit_pak_prelude() br label %ifend111 ifend111: %t235 = load i32, ptr @g_g_uses_datert %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then112, label %ifend114 then112: call void @fn_emit_datetime_prelude() br label %ifend114 ifend114: %t237 = load i32, ptr @g_g_uses_panic %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then115, label %ifend117 then115: call void @fn_emith(ptr @.str11711) call void @fn_emith(ptr @.str11712) br label %ifend117 ifend117: %t239 = load i32, ptr @g_g_uses_result %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then118, label %ifend120 then118: call void @fn_emith(ptr @.str11713) br label %ifend120 ifend120: %t241 = load i32, ptr @g_g_uses_option %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then121, label %ifend123 then121: call void @fn_emith(ptr @.str11714) br label %ifend123 ifend123: call void @fn_emit_cov_runtime() %t243 = load i32, ptr @g_g_emit_module %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then124, label %ifend126 then124: call void @fn_emit_module_glue() br label %ifend126 ifend126: br label %ret ret: ret void } define void @fn_emit_cov_runtime() { entry: %t7 = alloca i32 %t14 = alloca ptr %t16 = alloca i32 %t41 = alloca ptr %t43 = alloca ptr %t45 = alloca ptr %t47 = 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 @.str11715) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str11716) 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 @.str11717) br label %ifend11 ifend11: call void @fn_emith(ptr @.str11718) %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 i32, ptr %t28, i32 %t29 %t31 = load i32, ptr %t30 %t32 = call ptr @fn_itoa(i32 %t31) call void @fn_emith(ptr %t32) %t33 = load i32, ptr %t16 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t16 br label %wcond6 wend8: call void @fn_emith(ptr @.str11719) call void @fn_emith(ptr @.str11720) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) call void @fn_emith(ptr @.str11721) %t36 = load ptr, ptr %t14 %t37 = call ptr @lp_str_concat(ptr @.str11722, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str11723) call void @fn_emith(ptr %t38) %t39 = load ptr, ptr @g_g_src_name %t40 = call ptr @fn_emit_str_const(ptr %t39) store ptr %t40, ptr %t41 %t42 = call ptr @fn_emit_str_const(ptr @.str11724) store ptr %t42, ptr %t43 %t44 = call ptr @fn_emit_str_const(ptr @.str11725) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str11726) store ptr %t46, ptr %t47 call void @fn_emith(ptr @.str11727) call void @fn_emith(ptr @.str11728) %t48 = load i32, ptr @g_g_uses_panic %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: call void @fn_emith(ptr @.str11729) br label %ifend14 ifend14: call void @fn_emith(ptr @.str11730) call void @fn_emit(ptr @.str11731) %t52 = load ptr, ptr %t43 %t53 = call ptr @lp_str_concat(ptr @.str11732, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11733) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11734) %t55 = load ptr, ptr %t45 %t56 = call ptr @lp_str_concat(ptr @.str11735, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str11736) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 %t59 = call ptr @lp_str_concat(ptr @.str11737, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11738) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str11739) call void @fn_emit(ptr @.str11740) call void @fn_emit(ptr @.str11741) %t61 = load ptr, ptr %t41 %t62 = call ptr @lp_str_concat(ptr @.str11742, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11743) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str11744) call void @fn_emit(ptr @.str11745) call void @fn_emit(ptr @.str11746) %t64 = load ptr, ptr %t14 %t65 = call ptr @lp_str_concat(ptr @.str11747, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11748) call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11749) call void @fn_emit(ptr @.str11750) call void @fn_emit(ptr @.str11751) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11752) call void @fn_emit(ptr @.str11753) call void @fn_emit(ptr @.str11754) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11755) call void @fn_emit(ptr @.str11756) call void @fn_emit(ptr @.str11757) call void @fn_emit(ptr @.str11758) call void @fn_emit(ptr @.str11759) call void @fn_emit(ptr @.str11760) call void @fn_emit(ptr @.str11761) call void @fn_emit(ptr @.str11762) call void @fn_emit(ptr @.str11763) call void @fn_emit(ptr @.str11764) call void @fn_emit(ptr @.str11765) call void @fn_emit(ptr @.str11766) call void @fn_emith(ptr @.str11767) 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 @.str11768) 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 @.str11769) %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 @.str11770) 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 @.str11771, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11772) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11773) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr @.str11774, 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 @.str11775, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11776) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str11777, 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 @.str11778) 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 @.str11779, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str11780) 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 @.str11781, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11782) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str11783, 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 @.str11784) %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 @.str11785) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str11786, 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 @.str11787, ptr @g_g_parse_file store ptr @.str11788, ptr @g_g_err_file store ptr @.str11789, ptr @g_g_src_name %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_det_names store ptr @.str11790, 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 i32 %t15 = alloca ptr %t16 = alloca i32 %t26 = alloca ptr %t128 = alloca ptr %t153 = alloca ptr %t169 = alloca i32 %t179 = alloca i32 %t188 = alloca i32 %t205 = alloca i32 %t234 = alloca i32 %t235 = alloca i32 %t254 = alloca ptr %t264 = alloca ptr %t271 = alloca ptr %t273 = alloca ptr %t278 = alloca ptr %t285 = alloca ptr %t295 = alloca ptr %t305 = alloca ptr %t315 = alloca ptr %t356 = alloca ptr %t364 = alloca ptr %t376 = alloca ptr %t379 = alloca ptr %t382 = alloca ptr %t400 = alloca ptr %t403 = alloca ptr %t416 = alloca ptr %t419 = alloca ptr %t431 = alloca i32 %t442 = alloca i32 %t467 = alloca ptr %t475 = alloca i32 %t496 = 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 i32 0, ptr %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 %t11 = call ptr @malloc(i64 %t10) %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 store ptr null, ptr %t12 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 store i32 0, ptr %t13 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 store i32 0, ptr %t14 store ptr %t11, ptr %t15 store i32 0, ptr @g_g_coverage store i32 1, ptr %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load i32, ptr @L_argc %t19 = icmp slt i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr %t16 %t23 = load ptr, ptr @L_argv %t24 = getelementptr ptr, ptr %t23, i32 %t22 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str11791) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: %t30 = load ptr, ptr %t26 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11792) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: %t33 = load ptr, ptr %t26 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str11793) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: %t36 = load ptr, ptr %t26 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11794) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: %t39 = load ptr, ptr %t26 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str11795) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then15, label %else16 then15: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend17 else16: %t42 = load ptr, ptr %t26 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str11796) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then18, label %else19 then18: store i32 1, ptr %t4 br label %ifend20 else19: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11797) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then21, label %else22 then21: store i32 1, ptr %t5 br label %ifend23 else22: %t48 = load ptr, ptr %t26 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str11798) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then24, label %else25 then24: store i32 1, ptr %t6 br label %ifend26 else25: %t51 = load ptr, ptr %t26 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str11799) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then27, label %else28 then27: store i32 1, ptr @g_g_coverage br label %ifend29 else28: %t54 = load ptr, ptr %t26 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str11800) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then30, label %else31 then30: %t57 = load i32, ptr %t16 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t16 %t59 = load i32, ptr %t16 %t60 = load i32, ptr @L_argc %t61 = icmp slt i32 %t59, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then33, label %ifend35 then33: %t64 = load i32, ptr %t16 %t65 = load ptr, ptr @L_argv %t66 = getelementptr ptr, ptr %t65, i32 %t64 %t67 = load ptr, ptr %t66 store ptr %t67, ptr %t7 br label %ifend35 ifend35: br label %ifend32 else31: %t68 = load ptr, ptr %t26 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str11801) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then36, label %else37 then36: store i32 1, ptr %t8 br label %ifend38 else37: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11802) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then39, label %else40 then39: %t74 = load i32, ptr %t16 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t16 %t76 = load i32, ptr %t16 %t77 = load i32, ptr @L_argc %t78 = icmp slt i32 %t76, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then42, label %ifend44 then42: %t81 = load ptr, ptr %t15 %t82 = load i32, ptr %t16 %t83 = load ptr, ptr @L_argv %t84 = getelementptr ptr, ptr %t83, i32 %t82 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t87 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t88 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t89 = load i32, ptr %t86 %t90 = load i32, ptr %t87 %t91 = icmp sge i32 %t89, %t90 br i1 %t91, label %grow45, label %put46 grow45: %t92 = mul i32 %t90, 2 %t93 = icmp eq i32 %t90, 0 %t94 = select i1 %t93, i32 8, i32 %t92 %t95 = getelementptr ptr, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 %t97 = zext i32 %t94 to i64 %t98 = mul i64 %t97, %t96 %t99 = load ptr, ptr %t88 %t100 = call ptr @realloc(ptr %t99, i64 %t98) store ptr %t100, ptr %t88 store i32 %t94, ptr %t87 br label %put46 put46: %t101 = load ptr, ptr %t88 %t102 = getelementptr inbounds ptr, ptr %t101, i32 %t89 store ptr %t85, ptr %t102 %t103 = add i32 %t89, 1 store i32 %t103, ptr %t86 br label %ifend44 ifend44: br label %ifend41 else40: %t104 = load ptr, ptr %t26 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str11803) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then47, label %else48 then47: %t107 = load i32, ptr %t16 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t16 %t109 = load i32, ptr %t16 %t110 = load i32, ptr @L_argc %t111 = icmp slt i32 %t109, %t110 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then50, label %ifend52 then50: %t114 = load i32, ptr %t16 %t115 = load ptr, ptr @L_argv %t116 = getelementptr ptr, ptr %t115, i32 %t114 %t117 = load ptr, ptr %t116 store ptr %t117, ptr %t1 br label %ifend52 ifend52: br label %ifend49 else48: %t118 = load ptr, ptr %t26 %t119 = getelementptr inbounds i8, ptr %t118, i32 0 %t120 = load i8, ptr %t119 %t121 = zext i8 %t120 to i32 %t122 = icmp eq i32 %t121, 45 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then53, label %else54 then53: %t125 = load ptr, ptr %t26 %t126 = call ptr @lp_str_concat(ptr @.str11804, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11805) store ptr %t127, ptr %t128 %t129 = load ptr, ptr @__stderrp %t130 = load ptr, ptr %t128 %t131 = load ptr, ptr %t128 %t132 = call i64 @strlen(ptr %t131) %t133 = trunc i64 %t132 to i32 %t134 = zext i32 %t133 to i64 %t135 = call i64 @fwrite(ptr %t130, i64 1, i64 %t134, ptr %t129) %t136 = trunc i64 %t135 to i32 br label %ifend55 else54: %t137 = load ptr, ptr %t26 store ptr %t137, ptr %t0 br label %ifend55 ifend55: br label %ifend49 ifend49: 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: %t138 = load i32, ptr %t16 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t16 br label %wcond0 wend2: %t140 = load ptr, ptr %t0 %t141 = icmp eq ptr %t140, null %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then56, label %ifend58 then56: call void @fn_die(ptr @.str11806) br label %ifend58 ifend58: %t144 = load ptr, ptr %t7 %t145 = icmp ne ptr %t144, null %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then59, label %else60 then59: %t148 = load ptr, ptr %t7 %t149 = call i32 @fn_has_sub(ptr %t148, ptr @.str11807) store i32 %t149, ptr @g_g_target_win br label %ifend61 else60: %t150 = call i32 @fn_host_is_windows() store i32 %t150, ptr @g_g_target_win br label %ifend61 ifend61: %t151 = load ptr, ptr %t0 %t152 = call ptr @fn_read_file(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = icmp eq ptr %t154, null %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then62, label %ifend64 then62: call void @fn_die(ptr @.str11808) br label %ifend64 ifend64: %t158 = load ptr, ptr %t0 %t159 = call ptr @fn_dir_of(ptr %t158) store ptr %t159, ptr @g_cur_dir %t160 = load ptr, ptr %t0 %t161 = call ptr @fn_base_name(ptr %t160) store ptr %t161, ptr @g_g_src_name %t162 = load ptr, ptr %t0 store ptr %t162, ptr @g_g_parse_file %t163 = load ptr, ptr %t153 call void @fn_lex(ptr %t163) call void @fn_parse_program() %t164 = load ptr, ptr @g_prog %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t166 = load i32, ptr %t165 store i32 %t166, ptr @g_g_prog_user_end %t167 = load i32, ptr %t4 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then65, label %ifend67 then65: call void @exit(i32 0) unreachable ifend67: call void @fn_maybe_splice_runtime() call void @fn_ui_register_gotos() %t170 = load i32, ptr %t6 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t169 br i1 %t171, label %scend69, label %sc68 sc68: %t173 = load ptr, ptr %t1 %t174 = icmp ne ptr %t173, null %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t169 br label %scend69 scend69: %t178 = load i32, ptr %t169 store i32 %t178, ptr %t179 %t180 = load i32, ptr %t2 %t181 = icmp eq i32 %t180, 1 %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then70, label %else71 then70: store i32 1, ptr @g_g_windowed br label %ifend72 else71: %t184 = load i32, ptr %t2 %t185 = icmp eq i32 %t184, 2 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then73, label %else74 then73: store i32 0, ptr @g_g_windowed br label %ifend75 else74: %t189 = load i32, ptr %t179 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t188 br i1 %t190, label %sc76, label %scend77 sc76: %t192 = call i32 @fn_has_systems() %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t188 br label %scend77 scend77: %t195 = load i32, ptr %t188 store i32 %t195, ptr @g_g_windowed br label %ifend75 ifend75: br label %ifend72 ifend72: store i32 0, ptr @g_g_parsing call void @fn_emit_program() %t196 = load i32, ptr %t3 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then78, label %ifend80 then78: %t198 = load ptr, ptr %t1 %t199 = call i32 @fn_ir_flush(ptr %t198) br label %ret ifend80: %t200 = load i32, ptr %t179 %t201 = icmp eq i32 %t200, 0 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then81, label %ifend83 then81: %t204 = call i32 @fn_ir_flush(ptr null) br label %ret ifend83: %t206 = load i32, ptr %t6 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t205 br i1 %t207, label %sc84, label %scend85 sc84: %t209 = load ptr, ptr %t1 %t210 = icmp eq ptr %t209, null %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t205 br label %scend85 scend85: %t214 = load i32, ptr %t205 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then86, label %ifend88 then86: %t216 = call i32 @fn_host_is_windows() %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then89, label %else90 then89: %t218 = call ptr @fn_getenv_or(ptr @.str11809, ptr @.str11810) %t219 = call ptr @fn_fwd_slashes(ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11811) %t221 = load ptr, ptr %t0 %t222 = call ptr @fn_base_name(ptr %t221) %t223 = call ptr @fn_strip_ludic(ptr %t222) %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) store ptr %t224, ptr %t1 br label %ifend91 else90: %t225 = load ptr, ptr %t0 %t226 = call ptr @fn_base_name(ptr %t225) %t227 = call ptr @fn_strip_ludic(ptr %t226) %t228 = call ptr @lp_str_concat(ptr @.str11812, ptr %t227) store ptr %t228, ptr %t1 br label %ifend91 ifend91: br label %ifend88 ifend88: %t229 = load i32, ptr @g_g_target_win %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then92, label %ifend94 then92: %t231 = load ptr, ptr %t1 %t232 = call i64 @strlen(ptr %t231) %t233 = trunc i64 %t232 to i32 store i32 %t233, ptr %t234 store i32 0, ptr %t235 %t236 = load i32, ptr %t234 %t237 = icmp sge i32 %t236, 4 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then95, label %ifend97 then95: %t240 = load ptr, ptr %t1 %t241 = load i32, ptr %t234 %t242 = sub i32 %t241, 4 %t243 = load i32, ptr %t234 %t244 = call ptr @lp_str_slice(ptr %t240, i32 %t242, i32 %t243) %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str11813) store i32 %t245, ptr %t235 br label %ifend97 ifend97: %t246 = load i32, ptr %t235 %t247 = icmp eq i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then98, label %ifend100 then98: %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str11814) store ptr %t251, ptr %t1 br label %ifend100 ifend100: br label %ifend94 ifend94: %t252 = load ptr, ptr %t1 %t253 = call ptr @fn_dir_of(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t254 %t256 = call i64 @strlen(ptr %t255) %t257 = trunc i64 %t256 to i32 %t258 = icmp sgt i32 %t257, 0 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then101, label %ifend103 then101: %t261 = load ptr, ptr %t254 call void @fn_make_dir(ptr %t261) br label %ifend103 ifend103: %t262 = load ptr, ptr %t1 %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str11815) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t264 %t266 = call i32 @fn_ir_flush(ptr %t265) %t267 = icmp eq i32 %t266, 0 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then104, label %ifend106 then104: call void @fn_die(ptr @.str11816) br label %ifend106 ifend106: %t270 = call ptr @fn_find_cc() store ptr %t270, ptr %t271 %t272 = call ptr @fn_ludic_home() store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t271 %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str11817) %t276 = load ptr, ptr %t264 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) store ptr %t277, ptr %t278 %t279 = load i32, ptr @g_g_target_win %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then107, label %else108 then107: %t281 = load i32, ptr @g_g_windowed %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then110, label %ifend112 then110: %t283 = load ptr, ptr %t273 %t284 = call ptr @fn_join_path(ptr %t283, ptr @.str11818) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t278 %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str11819) %t288 = load ptr, ptr %t285 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str11820) store ptr %t290, ptr %t278 %t291 = load i32, ptr @g_g_uses_audio %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then113, label %ifend115 then113: %t293 = load ptr, ptr %t273 %t294 = call ptr @fn_join_path(ptr %t293, ptr @.str11821) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t278 %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str11822) %t298 = load ptr, ptr %t295 %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str11823) store ptr %t300, ptr %t278 br label %ifend115 ifend115: br label %ifend112 ifend112: br label %ifend109 else108: %t301 = load i32, ptr @g_g_windowed %t302 = icmp ne i32 %t301, 0 br i1 %t302, label %then116, label %ifend118 then116: %t303 = load ptr, ptr %t273 %t304 = call ptr @fn_join_path(ptr %t303, ptr @.str11824) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t278 %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str11825) %t308 = load ptr, ptr %t305 %t309 = call ptr @lp_str_concat(ptr %t307, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str11826) store ptr %t310, ptr %t278 %t311 = load i32, ptr @g_g_uses_audio %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then119, label %ifend121 then119: %t313 = load ptr, ptr %t273 %t314 = call ptr @fn_join_path(ptr %t313, ptr @.str11827) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t278 %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str11828) %t318 = load ptr, ptr %t315 %t319 = call ptr @lp_str_concat(ptr %t317, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str11829) store ptr %t320, ptr %t278 br label %ifend121 ifend121: br label %ifend118 ifend118: br label %ifend109 ifend109: %t321 = load i32, ptr @g_g_uses_jobs %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then122, label %ifend124 then122: %t323 = load i32, ptr @g_g_target_win %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then125, label %else126 then125: %t325 = load ptr, ptr %t278 %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str11830) %t327 = load ptr, ptr %t273 %t328 = call ptr @fn_join_path(ptr %t327, ptr @.str11831) %t329 = call ptr @lp_str_concat(ptr %t326, ptr %t328) store ptr %t329, ptr %t278 br label %ifend127 else126: %t330 = load ptr, ptr %t278 %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str11832) %t332 = load ptr, ptr %t273 %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11833) %t334 = call ptr @lp_str_concat(ptr %t331, ptr %t333) store ptr %t334, ptr %t278 br label %ifend127 ifend127: br label %ifend124 ifend124: %t335 = load i32, ptr @g_g_uses_udp %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then128, label %ifend130 then128: %t337 = load i32, ptr @g_g_target_win %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then131, label %else132 then131: %t339 = load ptr, ptr %t278 %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str11834) %t341 = load ptr, ptr %t273 %t342 = call ptr @fn_join_path(ptr %t341, ptr @.str11835) %t343 = call ptr @lp_str_concat(ptr %t340, ptr %t342) %t344 = call ptr @lp_str_concat(ptr %t343, ptr @.str11836) store ptr %t344, ptr %t278 br label %ifend133 else132: %t345 = load ptr, ptr %t278 %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str11837) %t347 = load ptr, ptr %t273 %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11838) %t349 = call ptr @lp_str_concat(ptr %t346, ptr %t348) store ptr %t349, ptr %t278 br label %ifend133 ifend133: br label %ifend130 ifend130: %t350 = load i32, ptr @g_g_uses_http %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then134, label %ifend136 then134: %t352 = load i32, ptr @g_g_target_win %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then137, label %else138 then137: %t354 = load ptr, ptr %t273 %t355 = call ptr @fn_join_path(ptr %t354, ptr @.str11839) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t278 %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str11840) %t359 = load ptr, ptr %t356 %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str11841) store ptr %t361, ptr %t278 br label %ifend139 else138: %t362 = load ptr, ptr %t273 %t363 = call ptr @fn_join_path(ptr %t362, ptr @.str11842) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t278 %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str11843) %t367 = load ptr, ptr %t364 %t368 = call ptr @lp_str_concat(ptr %t366, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str11844) store ptr %t369, ptr %t278 br label %ifend139 ifend139: br label %ifend136 ifend136: %t370 = load i32, ptr @g_g_uses_gl %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then140, label %ifend142 then140: %t372 = load i32, ptr @g_g_target_win %t373 = icmp ne i32 %t372, 0 br i1 %t373, label %then143, label %else144 then143: %t374 = load ptr, ptr %t273 %t375 = call ptr @fn_join_path(ptr %t374, ptr @.str11845) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t273 %t378 = call ptr @fn_join_path(ptr %t377, ptr @.str11846) store ptr %t378, ptr %t379 %t380 = load ptr, ptr %t273 %t381 = call ptr @fn_join_path(ptr %t380, ptr @.str11847) store ptr %t381, ptr %t382 %t383 = load i32, ptr @g_g_windowed %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then146, label %ifend148 then146: %t385 = load ptr, ptr %t273 %t386 = call ptr @fn_join_path(ptr %t385, ptr @.str11848) store ptr %t386, ptr %t382 br label %ifend148 ifend148: %t387 = load ptr, ptr %t278 %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str11849) %t389 = load ptr, ptr %t376 %t390 = call ptr @lp_str_concat(ptr %t388, ptr %t389) %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str11850) %t392 = load ptr, ptr %t379 %t393 = call ptr @lp_str_concat(ptr %t391, ptr %t392) %t394 = call ptr @lp_str_concat(ptr %t393, ptr @.str11851) %t395 = load ptr, ptr %t382 %t396 = call ptr @lp_str_concat(ptr %t394, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str11852) store ptr %t397, ptr %t278 br label %ifend145 else144: %t398 = load ptr, ptr %t273 %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str11853) store ptr %t399, ptr %t400 %t401 = load ptr, ptr %t273 %t402 = call ptr @fn_join_path(ptr %t401, ptr @.str11854) store ptr %t402, ptr %t403 %t404 = load ptr, ptr %t278 %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str11855) %t406 = load ptr, ptr %t400 %t407 = call ptr @lp_str_concat(ptr %t405, ptr %t406) %t408 = call ptr @lp_str_concat(ptr %t407, ptr @.str11856) %t409 = load ptr, ptr %t403 %t410 = call ptr @lp_str_concat(ptr %t408, ptr %t409) %t411 = call ptr @lp_str_concat(ptr %t410, ptr @.str11857) store ptr %t411, ptr %t278 br label %ifend145 ifend145: br label %ifend142 ifend142: %t412 = load i32, ptr @g_g_uses_vk %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then149, label %ifend151 then149: %t414 = load ptr, ptr %t273 %t415 = call ptr @fn_join_path(ptr %t414, ptr @.str11858) store ptr %t415, ptr %t416 %t417 = load ptr, ptr %t273 %t418 = call ptr @fn_join_path(ptr %t417, ptr @.str11859) store ptr %t418, ptr %t419 %t420 = load i32, ptr @g_g_target_win %t421 = icmp ne i32 %t420, 0 br i1 %t421, label %then152, label %ifend154 then152: %t422 = load ptr, ptr %t273 %t423 = call ptr @fn_join_path(ptr %t422, ptr @.str11860) store ptr %t423, ptr %t419 br label %ifend154 ifend154: %t424 = load ptr, ptr %t278 %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str11861) %t426 = load ptr, ptr %t416 %t427 = call ptr @lp_str_concat(ptr %t425, ptr %t426) %t428 = call ptr @lp_str_concat(ptr %t427, ptr @.str11862) %t429 = load ptr, ptr %t419 %t430 = call ptr @lp_str_concat(ptr %t428, ptr %t429) store ptr %t430, ptr %t278 br label %ifend151 ifend151: %t432 = load i32, ptr @g_g_target_win %t433 = icmp ne i32 %t432, 0 %t434 = zext i1 %t433 to i32 store i32 %t434, ptr %t431 br i1 %t433, label %sc155, label %scend156 sc155: %t435 = load i32, ptr %t8 %t436 = icmp ne i32 %t435, 0 %t437 = zext i1 %t436 to i32 store i32 %t437, ptr %t431 br label %scend156 scend156: %t438 = load i32, ptr %t431 %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %then157, label %ifend159 then157: %t440 = load ptr, ptr %t278 %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str11863) store ptr %t441, ptr %t278 br label %ifend159 ifend159: store i32 0, ptr %t442 br label %wcond160 wcond160: %t443 = load i32, ptr %t442 %t444 = load ptr, ptr %t15 %t445 = getelementptr inbounds %LSlice, ptr %t444, i32 0, i32 1 %t446 = load i32, ptr %t445 %t447 = icmp slt i32 %t443, %t446 %t448 = zext i1 %t447 to i32 %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %wbody161, label %wend162 wbody161: %t450 = load ptr, ptr %t278 %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str11864) %t452 = load ptr, ptr %t15 %t453 = getelementptr inbounds %LSlice, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = load i32, ptr %t442 %t456 = getelementptr inbounds ptr, ptr %t454, i32 %t455 %t457 = load ptr, ptr %t456 %t458 = call ptr @lp_str_concat(ptr %t451, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str11865) store ptr %t459, ptr %t278 %t460 = load i32, ptr %t442 %t461 = add i32 %t460, 1 store i32 %t461, ptr %t442 br label %wcond160 wend162: %t462 = load ptr, ptr %t278 %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str11866) %t464 = load ptr, ptr %t1 %t465 = call ptr @lp_str_concat(ptr %t463, ptr %t464) store ptr %t465, ptr %t278 %t466 = load ptr, ptr %t278 store ptr %t466, ptr %t467 %t468 = call i32 @fn_host_is_windows() %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then163, label %ifend165 then163: %t470 = load ptr, ptr %t278 %t471 = call ptr @lp_str_concat(ptr @.str11867, ptr %t470) %t472 = call ptr @lp_str_concat(ptr %t471, ptr @.str11868) store ptr %t472, ptr %t467 br label %ifend165 ifend165: %t473 = load ptr, ptr %t467 %t474 = call i32 @system(ptr %t473) store i32 %t474, ptr %t475 %t476 = load i32, ptr %t5 %t477 = icmp eq i32 %t476, 0 %t478 = zext i1 %t477 to i32 %t479 = icmp ne i32 %t478, 0 br i1 %t479, label %then166, label %ifend168 then166: %t480 = load ptr, ptr %t264 call void @fn_remove_file(ptr %t480) br label %ifend168 ifend168: %t481 = load i32, ptr %t475 %t482 = icmp ne i32 %t481, 0 %t483 = zext i1 %t482 to i32 %t484 = icmp ne i32 %t483, 0 br i1 %t484, label %then169, label %ifend171 then169: call void @fn_die(ptr @.str11869) br label %ifend171 ifend171: %t485 = load i32, ptr %t6 %t486 = icmp ne i32 %t485, 0 br i1 %t486, label %then172, label %ifend174 then172: %t487 = call i32 @fn_host_is_windows() %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then175, label %ifend177 then175: %t489 = load ptr, ptr %t1 %t490 = call ptr @fn_win_path(ptr %t489) %t491 = call ptr @lp_str_concat(ptr @.str11870, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str11871) %t493 = call i32 @system(ptr %t492) call void @exit(i32 %t493) unreachable ifend177: %t494 = load ptr, ptr %t1 %t495 = call i32 @system(ptr %t494) store i32 %t495, ptr %t496 %t497 = load i32, ptr %t496 %t498 = lshr i32 %t497, 8 %t499 = and i32 %t498, 255 call void @exit(i32 %t499) unreachable ifend174: br label %ret ret: %t500 = load i32, ptr %retval ret i32 %t500 }