; 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_process = internal global i32 0 @g_g_uses_gl = internal global i32 0 @g_g_uses_vk = internal global i32 0 @g_g_mod_sys_fn = internal global ptr null @g_g_mod_sys_phase = internal global ptr null @g_g_esys_comp = internal global ptr null @g_g_esys_fn = internal global ptr null @g_g_esys_phase = internal global ptr null @g_g_namespaces = internal global ptr null @g_g_ns_blocks = internal global ptr null @g_g_ns_exports = internal global ptr null @g_g_disabled_sys = internal global ptr null @g_head = internal global ptr null @g_code = internal global ptr null @g_falloc = internal global ptr null @g_ll_t = internal global i32 0 @g_ll_lbl = internal global i32 0 @g_ll_str = internal global i32 0 @g_loc_name = internal global ptr null @g_loc_reg = internal global ptr null @g_loc_ty = internal global ptr null @g_loc_mut = internal global ptr null @g_nloc = internal global i32 0 @g_g_emit_module = internal global i32 0 @g_g_uses_str = internal global i32 0 @g_g_uses_intstr = internal global i32 0 @g_g_uses_strslice = internal global i32 0 @g_g_uses_mathrt = internal global i32 0 @g_g_uses_textrt = internal global i32 0 @g_g_uses_textrt2 = internal global i32 0 @g_g_uses_hashrt = internal global i32 0 @g_g_uses_cryptort = internal global i32 0 @g_g_uses_uuidrt = internal global i32 0 @g_g_uses_noisert = internal global i32 0 @g_g_uses_logrt = internal global i32 0 @g_g_uses_osrt = internal global i32 0 @g_g_uses_pid = internal global i32 0 @g_g_uses_unicodert = internal global i32 0 @g_g_uses_fsrt = internal global i32 0 @g_g_uses_pak = internal global i32 0 @g_g_uses_datert = internal global i32 0 @g_g_uses_expect = internal global i32 0 @g_g_uses_panic = internal global i32 0 @g_g_uses_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 [8 x i8] c"Process\00" @.str147 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str148 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str149 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str150 = private unnamed_addr constant [3 x i8] c"to\00" @.str151 = private unnamed_addr constant [6 x i8] c"chain\00" @.str152 = private unnamed_addr constant [6 x i8] c"delay\00" @.str153 = private unnamed_addr constant [6 x i8] c"value\00" @.str154 = private unnamed_addr constant [5 x i8] c"stop\00" @.str155 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str156 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str157 = private unnamed_addr constant [2 x i8] c"[\00" @.str158 = private unnamed_addr constant [3 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 [2 x i8] c"(\00" @.str162 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str163 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\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 [2 x i8] c"~\00" @.str168 = private unnamed_addr constant [4 x i8] c"not\00" @.str169 = private unnamed_addr constant [4 x i8] c"not\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 [2 x i8] c"%\00" @.str173 = private unnamed_addr constant [3 x i8] c"<<\00" @.str174 = private unnamed_addr constant [3 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 [2 x i8] c"<\00" @.str181 = private unnamed_addr constant [3 x i8] c"<=\00" @.str182 = private unnamed_addr constant [2 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 [3 x i8] c"!=\00" @.str186 = private unnamed_addr constant [4 x i8] c"and\00" @.str187 = private unnamed_addr constant [4 x i8] c"and\00" @.str188 = private unnamed_addr constant [3 x i8] c"or\00" @.str189 = private unnamed_addr constant [3 x i8] c"or\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 [2 x i8] c"}\00" @.str198 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str199 = private unnamed_addr constant [2 x i8] c"}\00" @.str200 = private unnamed_addr constant [4 x i8] c"let\00" @.str201 = private unnamed_addr constant [4 x i8] c"var\00" @.str202 = private unnamed_addr constant [4 x i8] c"var\00" @.str203 = private unnamed_addr constant [2 x i8] c":\00" @.str204 = private unnamed_addr constant [2 x i8] c"=\00" @.str205 = private unnamed_addr constant [7 x i8] c"return\00" @.str206 = private unnamed_addr constant [2 x i8] c"}\00" @.str207 = private unnamed_addr constant [3 x i8] c"if\00" @.str208 = private unnamed_addr constant [5 x i8] c"else\00" @.str209 = private unnamed_addr constant [3 x i8] c"if\00" @.str210 = private unnamed_addr constant [6 x i8] c"while\00" @.str211 = private unnamed_addr constant [4 x i8] c"for\00" @.str212 = private unnamed_addr constant [2 x i8] c"(\00" @.str213 = private unnamed_addr constant [3 x i8] c"..\00" @.str214 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str215 = private unnamed_addr constant [8 x i8] c"machine\00" @.str216 = private unnamed_addr constant [2 x i8] c"{\00" @.str217 = private unnamed_addr constant [2 x i8] c"}\00" @.str218 = private unnamed_addr constant [2 x i8] c"=\00" @.str219 = private unnamed_addr constant [2 x i8] c"}\00" @.str220 = private unnamed_addr constant [5 x i8] c"emit\00" @.str221 = private unnamed_addr constant [7 x i8] c"become\00" @.str222 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str223 = private unnamed_addr constant [7 x i8] c"enable\00" @.str224 = private unnamed_addr constant [8 x i8] c"disable\00" @.str225 = private unnamed_addr constant [7 x i8] c"enable\00" @.str226 = private unnamed_addr constant [6 x i8] c"layer\00" @.str227 = private unnamed_addr constant [6 x i8] c"layer\00" @.str228 = private unnamed_addr constant [7 x i8] c"system\00" @.str229 = private unnamed_addr constant [7 x i8] c"system\00" @.str230 = private unnamed_addr constant [3 x i8] c"on\00" @.str231 = private unnamed_addr constant [7 x i8] c"attach\00" @.str232 = private unnamed_addr constant [3 x i8] c"on\00" @.str233 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str234 = private unnamed_addr constant [2 x i8] c"{\00" @.str235 = private unnamed_addr constant [7 x i8] c"detach\00" @.str236 = private unnamed_addr constant [3 x i8] c"on\00" @.str237 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str238 = private unnamed_addr constant [6 x i8] c"break\00" @.str239 = private unnamed_addr constant [9 x i8] c"continue\00" @.str240 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str241 = private unnamed_addr constant [6 x i8] c"match\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 [2 x i8] c",\00" @.str245 = private unnamed_addr constant [3 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 [2 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 [3 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 [2 x i8] c"=\00" @.str257 = private unnamed_addr constant [4 x i8] c"new\00" @.str258 = private unnamed_addr constant [6 x i8] c"match\00" @.str259 = private unnamed_addr constant [8 x i8] c"machine\00" @.str260 = private unnamed_addr constant [7 x i8] c"become\00" @.str261 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str262 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str263 = private unnamed_addr constant [6 x i8] c"query\00" @.str264 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str265 = private unnamed_addr constant [6 x i8] c"scene\00" @.str266 = private unnamed_addr constant [6 x i8] c"layer\00" @.str267 = private unnamed_addr constant [8 x i8] c"handler\00" @.str268 = private unnamed_addr constant [9 x i8] c"property\00" @.str269 = private unnamed_addr constant [6 x i8] c"model\00" @.str270 = private unnamed_addr constant [5 x i8] c"enum\00" @.str271 = private unnamed_addr constant [6 x i8] c"event\00" @.str272 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str273 = private unnamed_addr constant [9 x i8] c"function\00" @.str274 = private unnamed_addr constant [4 x i8] c"let\00" @.str275 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str276 = private unnamed_addr constant [4 x i8] c"var\00" @.str277 = private unnamed_addr constant [6 x i8] c"const\00" @.str278 = private unnamed_addr constant [3 x i8] c"if\00" @.str279 = private unnamed_addr constant [5 x i8] c"else\00" @.str280 = private unnamed_addr constant [6 x i8] c"while\00" @.str281 = private unnamed_addr constant [4 x i8] c"for\00" @.str282 = private unnamed_addr constant [7 x i8] c"return\00" @.str283 = private unnamed_addr constant [7 x i8] c"import\00" @.str284 = private unnamed_addr constant [8 x i8] c"program\00" @.str285 = private unnamed_addr constant [6 x i8] c"entry\00" @.str286 = private unnamed_addr constant [3 x i8] c"ui\00" @.str287 = private unnamed_addr constant [6 x i8] c"break\00" @.str288 = private unnamed_addr constant [9 x i8] c"continue\00" @.str289 = private unnamed_addr constant [4 x i8] c"and\00" @.str290 = private unnamed_addr constant [3 x i8] c"or\00" @.str291 = private unnamed_addr constant [4 x i8] c"not\00" @.str292 = private unnamed_addr constant [5 x i8] c"true\00" @.str293 = private unnamed_addr constant [6 x i8] c"false\00" @.str294 = private unnamed_addr constant [5 x i8] c"null\00" @.str295 = private unnamed_addr constant [2 x i8] c"(\00" @.str296 = private unnamed_addr constant [2 x i8] c"'\00" @.str297 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\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 [2 x i8] c")\00" @.str302 = private unnamed_addr constant [5 x i8] c"void\00" @.str303 = private unnamed_addr constant [3 x i8] c"->\00" @.str304 = private unnamed_addr constant [2 x i8] c"{\00" @.str305 = private unnamed_addr constant [2 x i8] c"}\00" @.str306 = private unnamed_addr constant [7 x i8] c"export\00" @.str307 = private unnamed_addr constant [9 x i8] c"internal\00" @.str308 = private unnamed_addr constant [9 x i8] c"function\00" @.str309 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str310 = private unnamed_addr constant [2 x i8] c"}\00" @.str311 = private unnamed_addr constant [2 x i8] c"_\00" @.str312 = private unnamed_addr constant [3 x i8] c"OS\00" @.str313 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str314 = private unnamed_addr constant [1 x i8] c"\00" @.str315 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str316 = private unnamed_addr constant [1 x i8] c"\00" @.str317 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str318 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str319 = private unnamed_addr constant [1 x i8] c"\00" @.str320 = private unnamed_addr constant [3 x i8] c"rb\00" @.str321 = private unnamed_addr constant [5 x i8] c".exe\00" @.str322 = private unnamed_addr constant [3 x i8] c"rb\00" @.str323 = private unnamed_addr constant [1 x i8] c"\00" @.str324 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str325 = 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" @.str326 = private unnamed_addr constant [2 x i8] c"@\00" @.str327 = private unnamed_addr constant [7 x i8] c"export\00" @.str328 = private unnamed_addr constant [7 x i8] c"Public\00" @.str329 = private unnamed_addr constant [3 x i8] c"On\00" @.str330 = private unnamed_addr constant [2 x i8] c"(\00" @.str331 = private unnamed_addr constant [2 x i8] c")\00" @.str332 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str333 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str334 = private unnamed_addr constant [2 x i8] c"(\00" @.str335 = private unnamed_addr constant [2 x i8] c")\00" @.str336 = private unnamed_addr constant [10 x i8] c"OnDespawn\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 [2 x i8] c")\00" @.str341 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str342 = private unnamed_addr constant [2 x i8] c"(\00" @.str343 = private unnamed_addr constant [2 x i8] c")\00" @.str344 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str345 = private unnamed_addr constant [2 x i8] c"(\00" @.str346 = private unnamed_addr constant [2 x i8] c")\00" @.str347 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str348 = private unnamed_addr constant [2 x i8] c"(\00" @.str349 = private unnamed_addr constant [2 x i8] c")\00" @.str350 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str351 = private unnamed_addr constant [2 x i8] c"(\00" @.str352 = private unnamed_addr constant [2 x i8] c")\00" @.str353 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str354 = private unnamed_addr constant [6 x i8] c"Start\00" @.str355 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str356 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str357 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str358 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str359 = private unnamed_addr constant [7 x i8] c"Server\00" @.str360 = private unnamed_addr constant [7 x i8] c"server\00" @.str361 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str362 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str363 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str364 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str365 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str366 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str367 = private unnamed_addr constant [7 x i8] c"System\00" @.str368 = private unnamed_addr constant [7 x i8] c"Update\00" @.str369 = private unnamed_addr constant [2 x i8] c"(\00" @.str370 = private unnamed_addr constant [2 x i8] c")\00" @.str371 = private unnamed_addr constant [13 x i8] c"EngineSystem\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 [2 x i8] c")\00" @.str375 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str376 = private unnamed_addr constant [2 x i8] c"(\00" @.str377 = private unnamed_addr constant [2 x i8] c")\00" @.str378 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str379 = private unnamed_addr constant [11 x i8] c"ClearColor\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 [2 x i8] c")\00" @.str385 = private unnamed_addr constant [7 x i8] c"import\00" @.str386 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str387 = private unnamed_addr constant [5 x i8] c"enum\00" @.str388 = private unnamed_addr constant [6 x i8] c"event\00" @.str389 = private unnamed_addr constant [9 x i8] c"property\00" @.str390 = private unnamed_addr constant [6 x i8] c"model\00" @.str391 = private unnamed_addr constant [6 x i8] c"scene\00" @.str392 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str393 = private unnamed_addr constant [8 x i8] c"handler\00" @.str394 = private unnamed_addr constant [7 x i8] c"server\00" @.str395 = private unnamed_addr constant [7 x i8] c"model_\00" @.str396 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str397 = private unnamed_addr constant [7 x i8] c"model_\00" @.str398 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str399 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str400 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str401 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str402 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str403 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str404 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str405 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str406 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str407 = private unnamed_addr constant [6 x i8] c"Start\00" @.str408 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str409 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str410 = private unnamed_addr constant [3 x i8] c"ui\00" @.str411 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str412 = private unnamed_addr constant [4 x i8] c"var\00" @.str413 = private unnamed_addr constant [6 x i8] c"const\00" @.str414 = private unnamed_addr constant [9 x i8] c"function\00" @.str415 = private unnamed_addr constant [7 x i8] c"extern\00" @.str416 = private unnamed_addr constant [6 x i8] c"entry\00" @.str417 = private unnamed_addr constant [5 x i8] c"test\00" @.str418 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str419 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str420 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str421 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str422 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str423 = private unnamed_addr constant [2 x i8] c"/\00" @.str424 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str425 = private unnamed_addr constant [1 x i8] c"\00" @.str426 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str427 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str428 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str429 = private unnamed_addr constant [1 x i8] c"\00" @.str430 = private unnamed_addr constant [9 x i8] c"import: \00" @.str431 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str432 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str433 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str434 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str435 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str436 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str437 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str438 = private unnamed_addr constant [1 x i8] c"\00" @.str439 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str440 = private unnamed_addr constant [1 x i8] c"\00" @.str441 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str442 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str443 = private unnamed_addr constant [1 x i8] c"\00" @.str444 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str445 = private unnamed_addr constant [1 x i8] c"\00" @.str446 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str447 = private unnamed_addr constant [1 x i8] c"\00" @.str448 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str449 = private unnamed_addr constant [1 x i8] c"\00" @.str450 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str451 = private unnamed_addr constant [1 x i8] c"\00" @.str452 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str453 = private unnamed_addr constant [1 x i8] c"\00" @.str454 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str455 = private unnamed_addr constant [1 x i8] c"\00" @.str456 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str457 = private unnamed_addr constant [1 x i8] c"\00" @.str458 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str459 = private unnamed_addr constant [1 x i8] c"\00" @.str460 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str461 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str462 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str463 = private unnamed_addr constant [1 x i8] c"\00" @.str464 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str465 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str466 = private unnamed_addr constant [1 x i8] c"\00" @.str467 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str468 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str469 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str470 = private unnamed_addr constant [1 x i8] c"\00" @.str471 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str472 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str473 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str474 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str475 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str476 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str477 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str478 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str479 = private unnamed_addr constant [1 x i8] c"\00" @.str480 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str481 = private unnamed_addr constant [1 x i8] c"\00" @.str482 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str483 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str484 = private unnamed_addr constant [1 x i8] c"\00" @.str485 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str486 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str487 = private unnamed_addr constant [1 x i8] c"\00" @.str488 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str489 = private unnamed_addr constant [1 x i8] c"\00" @.str490 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str491 = private unnamed_addr constant [1 x i8] c"\00" @.str492 = private unnamed_addr constant [25 x i8] c"runtime/native/udp.ludic\00" @.str493 = private unnamed_addr constant [1 x i8] c"\00" @.str494 = private unnamed_addr constant [29 x i8] c"runtime/native/process.ludic\00" @.str495 = private unnamed_addr constant [1 x i8] c"\00" @.str496 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str497 = private unnamed_addr constant [1 x i8] c"\00" @.str498 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str499 = private unnamed_addr constant [1 x i8] c"\00" @.str500 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str501 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str502 = private unnamed_addr constant [1 x i8] c"\00" @.str503 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str504 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str505 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str506 = private unnamed_addr constant [5 x i8] c"Body\00" @.str507 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str508 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str509 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str510 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str511 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str512 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str513 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str514 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str515 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str516 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str517 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str518 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str519 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str520 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str521 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str522 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str523 = private unnamed_addr constant [7 x i8] c"Update\00" @.str524 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str525 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str526 = private unnamed_addr constant [7 x i8] c"Update\00" @.str527 = private unnamed_addr constant [5 x i8] c"Body\00" @.str528 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str529 = private unnamed_addr constant [7 x i8] c"Update\00" @.str530 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str531 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str532 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str533 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str534 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str535 = private unnamed_addr constant [7 x i8] c"Render\00" @.str536 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str537 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str538 = private unnamed_addr constant [7 x i8] c"Render\00" @.str539 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str540 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str541 = private unnamed_addr constant [7 x i8] c"Render\00" @.str542 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str543 = private unnamed_addr constant [7 x i8] c"import\00" @.str544 = private unnamed_addr constant [2 x i8] c"@\00" @.str545 = private unnamed_addr constant [2 x i8] c"(\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 [8 x i8] c"program\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 [2 x i8] c"{\00" @.str552 = private unnamed_addr constant [2 x i8] c"}\00" @.str553 = private unnamed_addr constant [2 x i8] c"@\00" @.str554 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str555 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str556 = private unnamed_addr constant [2 x i8] c":\00" @.str557 = private unnamed_addr constant [2 x i8] c"=\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 [12 x i8] c"cancellable\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 [2 x i8] c"=\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 [7 x i8] c"Update\00" @.str568 = private unnamed_addr constant [2 x i8] c"@\00" @.str569 = private unnamed_addr constant [2 x i8] c"(\00" @.str570 = private unnamed_addr constant [2 x i8] c"(\00" @.str571 = private unnamed_addr constant [2 x i8] c")\00" @.str572 = private unnamed_addr constant [6 x i8] c"phase\00" @.str573 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str574 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\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 [2 x i8] c"}\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 [6 x i8] c"where\00" @.str582 = private unnamed_addr constant [2 x i8] c"(\00" @.str583 = private unnamed_addr constant [2 x i8] c")\00" @.str584 = private unnamed_addr constant [2 x i8] c",\00" @.str585 = private unnamed_addr constant [2 x i8] c")\00" @.str586 = private unnamed_addr constant [6 x i8] c"query\00" @.str587 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str588 = private unnamed_addr constant [4 x i8] c"and\00" @.str589 = private unnamed_addr constant [2 x i8] c"(\00" @.str590 = private unnamed_addr constant [2 x i8] c")\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 [6 x i8] c"these\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 [2 x i8] c"}\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 [3 x i8] c"on\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 [2 x i8] c":\00" @.str608 = private unnamed_addr constant [2 x i8] c"{\00" @.str609 = private unnamed_addr constant [2 x i8] c"}\00" @.str610 = private unnamed_addr constant [6 x i8] c"start\00" @.str611 = private unnamed_addr constant [7 x i8] c"public\00" @.str612 = private unnamed_addr constant [6 x i8] c"shows\00" @.str613 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str614 = private unnamed_addr constant [6 x i8] c"loads\00" @.str615 = private unnamed_addr constant [6 x i8] c"start\00" @.str616 = private unnamed_addr constant [6 x i8] c"shows\00" @.str617 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str618 = private unnamed_addr constant [5 x i8] c"then\00" @.str619 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str620 = private unnamed_addr constant [6 x i8] c"loads\00" @.str621 = private unnamed_addr constant [5 x i8] c"then\00" @.str622 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str623 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str624 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str625 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str626 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str627 = private unnamed_addr constant [2 x i8] c"{\00" @.str628 = private unnamed_addr constant [2 x i8] c"}\00" @.str629 = private unnamed_addr constant [3 x i8] c"on\00" @.str630 = private unnamed_addr constant [6 x i8] c"enter\00" @.str631 = private unnamed_addr constant [5 x i8] c"exit\00" @.str632 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str633 = private unnamed_addr constant [6 x i8] c"layer\00" @.str634 = private unnamed_addr constant [7 x i8] c"public\00" @.str635 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str636 = private unnamed_addr constant [6 x i8] c"_show\00" @.str637 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str638 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str639 = private unnamed_addr constant [2 x i8] c"{\00" @.str640 = private unnamed_addr constant [2 x i8] c"}\00" @.str641 = private unnamed_addr constant [2 x i8] c"@\00" @.str642 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str643 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str644 = private unnamed_addr constant [2 x i8] c")\00" @.str645 = private unnamed_addr constant [8 x i8] c"handler\00" @.str646 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str647 = private unnamed_addr constant [2 x i8] c"_\00" @.str648 = private unnamed_addr constant [2 x i8] c"}\00" @.str649 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str650 = private unnamed_addr constant [2 x i8] c"}\00" @.str651 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str652 = private unnamed_addr constant [7 x i8] c"Update\00" @.str653 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str654 = private unnamed_addr constant [5 x i8] c"pump\00" @.str655 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str656 = private unnamed_addr constant [6 x i8] c"ready\00" @.str657 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str658 = private unnamed_addr constant [7 x i8] c"Render\00" @.str659 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str660 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str661 = private unnamed_addr constant [6 x i8] c"_left\00" @.str662 = private unnamed_addr constant [4 x i8] c"int\00" @.str663 = private unnamed_addr constant [2 x i8] c"=\00" @.str664 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str665 = private unnamed_addr constant [7 x i8] c"Update\00" @.str666 = private unnamed_addr constant [3 x i8] c"-=\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 [5 x i8] c"goto\00" @.str670 = private unnamed_addr constant [3 x i8] c"==\00" @.str671 = private unnamed_addr constant [3 x i8] c"id\00" @.str672 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str673 = private unnamed_addr constant [10 x i8] c"UiClicked\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 [2 x i8] c"{\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 [5 x i8] c"Sync\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 [2 x i8] c":\00" @.str691 = private unnamed_addr constant [2 x i8] c",\00" @.str692 = private unnamed_addr constant [2 x i8] c")\00" @.str693 = private unnamed_addr constant [5 x i8] c"void\00" @.str694 = private unnamed_addr constant [3 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 [2 x i8] c"}\00" @.str701 = private unnamed_addr constant [2 x i8] c"{\00" @.str702 = private unnamed_addr constant [2 x i8] c"}\00" @.str703 = private unnamed_addr constant [3 x i8] c" \00" @.str704 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str705 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str706 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str707 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str708 = private unnamed_addr constant [4 x i8] c", 1\00" @.str709 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str710 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str712 = private unnamed_addr constant [3 x i8] c"%t\00" @.str713 = private unnamed_addr constant [3 x i8] c" \00" @.str714 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str715 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str716 = private unnamed_addr constant [3 x i8] c"%t\00" @.str717 = private unnamed_addr constant [4 x i8] c"int\00" @.str718 = private unnamed_addr constant [5 x i8] c"bool\00" @.str719 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str720 = private unnamed_addr constant [7 x i8] c"entity\00" @.str721 = private unnamed_addr constant [4 x i8] c"i32\00" @.str722 = private unnamed_addr constant [4 x i8] c"i32\00" @.str723 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str724 = private unnamed_addr constant [4 x i8] c"i32\00" @.str725 = private unnamed_addr constant [5 x i8] c"long\00" @.str726 = private unnamed_addr constant [4 x i8] c"i64\00" @.str727 = private unnamed_addr constant [6 x i8] c"float\00" @.str728 = private unnamed_addr constant [6 x i8] c"float\00" @.str729 = private unnamed_addr constant [7 x i8] c"double\00" @.str730 = private unnamed_addr constant [7 x i8] c"double\00" @.str731 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str732 = private unnamed_addr constant [4 x i8] c"i64\00" @.str733 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str734 = private unnamed_addr constant [4 x i8] c"i64\00" @.str735 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str736 = private unnamed_addr constant [5 x i8] c"i128\00" @.str737 = private unnamed_addr constant [5 x i8] c"byte\00" @.str738 = private unnamed_addr constant [3 x i8] c"i8\00" @.str739 = private unnamed_addr constant [6 x i8] c"words\00" @.str740 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str741 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str742 = private unnamed_addr constant [7 x i8] c"floats\00" @.str743 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str744 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str745 = private unnamed_addr constant [5 x i8] c"void\00" @.str746 = private unnamed_addr constant [5 x i8] c"void\00" @.str747 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str748 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str749 = private unnamed_addr constant [4 x i8] c"int\00" @.str750 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str751 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str752 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str753 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str754 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str755 = private unnamed_addr constant [2 x i8] c".\00" @.str756 = private unnamed_addr constant [2 x i8] c".\00" @.str757 = private unnamed_addr constant [3 x i8] c"of\00" @.str758 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str759 = private unnamed_addr constant [5 x i8] c"make\00" @.str760 = private unnamed_addr constant [5 x i8] c"zero\00" @.str761 = private unnamed_addr constant [4 x i8] c"add\00" @.str762 = private unnamed_addr constant [4 x i8] c"sub\00" @.str763 = private unnamed_addr constant [6 x i8] c"scale\00" @.str764 = private unnamed_addr constant [6 x i8] c"along\00" @.str765 = private unnamed_addr constant [5 x i8] c"step\00" @.str766 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str767 = private unnamed_addr constant [4 x i8] c"Map\00" @.str768 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str769 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str770 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str771 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str772 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str773 = private unnamed_addr constant [7 x i8] c"center\00" @.str774 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str775 = private unnamed_addr constant [6 x i8] c"Input\00" @.str776 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str777 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str778 = private unnamed_addr constant [2 x i8] c"_\00" @.str779 = private unnamed_addr constant [3 x i8] c"[]\00" @.str780 = private unnamed_addr constant [7 x i8] c"string\00" @.str781 = private unnamed_addr constant [4 x i8] c"int\00" @.str782 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str783 = private unnamed_addr constant [5 x i8] c"bool\00" @.str784 = private unnamed_addr constant [7 x i8] c"entity\00" @.str785 = private unnamed_addr constant [4 x i8] c"int\00" @.str786 = private unnamed_addr constant [7 x i8] c"reason\00" @.str787 = private unnamed_addr constant [4 x i8] c"int\00" @.str788 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str789 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str790 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str791 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str792 = private unnamed_addr constant [2 x i8] c"-\00" @.str793 = private unnamed_addr constant [2 x i8] c"-\00" @.str794 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str795 = private unnamed_addr constant [5 x i8] c"null\00" @.str796 = private unnamed_addr constant [2 x i8] c"0\00" @.str797 = private unnamed_addr constant [2 x i8] c"-\00" @.str798 = private unnamed_addr constant [5 x i8] c"void\00" @.str799 = private unnamed_addr constant [9 x i8] c" store \00" @.str800 = private unnamed_addr constant [2 x i8] c" \00" @.str801 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str802 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str803 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str804 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str805 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str806 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str807 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str808 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str809 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str810 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str811 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str812 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str813 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str814 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str815 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str816 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str817 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str818 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str819 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str820 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str821 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str822 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str823 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str824 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str825 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str826 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str827 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str828 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str829 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str830 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str831 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str832 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str833 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str834 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str835 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str836 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str837 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str838 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str839 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str840 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str841 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str842 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str843 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str844 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str845 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str846 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str847 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str848 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str849 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str850 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str851 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str852 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str853 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str854 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str855 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str856 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str857 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str858 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str859 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str860 = 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" @.str861 = 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" @.str862 = 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" @.str863 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str864 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str865 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str866 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str867 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str868 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str869 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str870 = private unnamed_addr constant [10 x i8] c"property \00" @.str871 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str872 = private unnamed_addr constant [10 x i8] c"property \00" @.str873 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str874 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str875 = private unnamed_addr constant [4 x i8] c"i32\00" @.str876 = private unnamed_addr constant [3 x i8] c", \00" @.str877 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str878 = private unnamed_addr constant [10 x i8] c"variable \00" @.str879 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str880 = private unnamed_addr constant [10 x i8] c"variable \00" @.str881 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str882 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str883 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str884 = private unnamed_addr constant [2 x i8] c" \00" @.str885 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str886 = private unnamed_addr constant [9 x i8] c"declare \00" @.str887 = private unnamed_addr constant [3 x i8] c" @\00" @.str888 = private unnamed_addr constant [2 x i8] c"(\00" @.str889 = private unnamed_addr constant [3 x i8] c", \00" @.str890 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str891 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str892 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str893 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str894 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str895 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str896 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str897 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str898 = 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" @.str899 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str900 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str901 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str902 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str903 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str904 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str905 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str906 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str907 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str908 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str909 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str910 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str911 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str912 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str913 = 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" @.str914 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str915 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str916 = 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" @.str917 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str918 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str919 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str920 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str921 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str922 = 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" @.str923 = 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" @.str924 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str925 = 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" @.str926 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str927 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str928 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str929 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str930 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str931 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str932 = 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" @.str933 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str934 = 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" @.str935 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str936 = 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" @.str937 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str938 = 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" @.str939 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str940 = 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" @.str941 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str942 = 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" @.str943 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str944 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str945 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str946 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str947 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str948 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str949 = 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" @.str950 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str951 = 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" @.str952 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str953 = 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" @.str954 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str955 = 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" @.str956 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str957 = 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" @.str958 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str959 = 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" @.str960 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str961 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str962 = 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" @.str963 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str964 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str965 = 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" @.str966 = 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" @.str967 = 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" @.str968 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str969 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str970 = private unnamed_addr constant [3 x i8] c" \00" @.str971 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str972 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str973 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str974 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str975 = private unnamed_addr constant [6 x i8] c"words\00" @.str976 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str977 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str978 = private unnamed_addr constant [4 x i8] c"int\00" @.str979 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str980 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str981 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str982 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str983 = private unnamed_addr constant [7 x i8] c"floats\00" @.str984 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str985 = private unnamed_addr constant [6 x i8] c"float\00" @.str986 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str987 = private unnamed_addr constant [7 x i8] c"double\00" @.str988 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str989 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str990 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str991 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str992 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str993 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str994 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str995 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str996 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str997 = private unnamed_addr constant [5 x i8] c"byte\00" @.str998 = private unnamed_addr constant [3 x i8] c" \00" @.str999 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str1000 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str1001 = private unnamed_addr constant [3 x i8] c" \00" @.str1002 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str1003 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1004 = private unnamed_addr constant [3 x i8] c" \00" @.str1005 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str1006 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1007 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1008 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1009 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1010 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1011 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1012 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1013 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1014 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1015 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1016 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1017 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1018 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1019 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1020 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1021 = private unnamed_addr constant [4 x i8] c"run\00" @.str1022 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1023 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1024 = private unnamed_addr constant [3 x i8] c" \00" @.str1025 = private unnamed_addr constant [4 x i8] c" = \00" @.str1026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1027 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1028 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1029 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1030 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str1031 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1032 = private unnamed_addr constant [2 x i8] c")\00" @.str1033 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1034 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1035 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str1036 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1037 = private unnamed_addr constant [2 x i8] c")\00" @.str1038 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1039 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1040 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1041 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1042 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1043 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1044 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1045 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1046 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1047 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1048 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1049 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1050 = private unnamed_addr constant [2 x i8] c")\00" @.str1051 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1052 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1053 = private unnamed_addr constant [4 x i8] c"int\00" @.str1054 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1055 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1056 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1057 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1058 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1059 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1060 = private unnamed_addr constant [2 x i8] c")\00" @.str1061 = private unnamed_addr constant [4 x i8] c"int\00" @.str1062 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1063 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1064 = private unnamed_addr constant [2 x i8] c")\00" @.str1065 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1066 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1067 = private unnamed_addr constant [4 x i8] c"int\00" @.str1068 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1069 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1070 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1071 = private unnamed_addr constant [2 x i8] c"0\00" @.str1072 = private unnamed_addr constant [5 x i8] c"void\00" @.str1073 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1074 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1075 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1076 = private unnamed_addr constant [2 x i8] c"0\00" @.str1077 = private unnamed_addr constant [5 x i8] c"void\00" @.str1078 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1079 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1080 = private unnamed_addr constant [4 x i8] c"int\00" @.str1081 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1082 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1083 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1084 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1085 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1086 = private unnamed_addr constant [7 x i8] c"string\00" @.str1087 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1088 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1089 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1090 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1091 = private unnamed_addr constant [2 x i8] c"0\00" @.str1092 = private unnamed_addr constant [5 x i8] c"void\00" @.str1093 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1094 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1095 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1096 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1097 = private unnamed_addr constant [4 x i8] c"run\00" @.str1098 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1099 = private unnamed_addr constant [2 x i8] c")\00" @.str1100 = private unnamed_addr constant [4 x i8] c"int\00" @.str1101 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1102 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1103 = private unnamed_addr constant [2 x i8] c")\00" @.str1104 = private unnamed_addr constant [7 x i8] c"string\00" @.str1105 = private unnamed_addr constant [2 x i8] c"0\00" @.str1106 = private unnamed_addr constant [5 x i8] c"void\00" @.str1107 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str1108 = private unnamed_addr constant [2 x i8] c")\00" @.str1109 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1110 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1111 = private unnamed_addr constant [5 x i8] c"free\00" @.str1112 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1113 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1114 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1115 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1116 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1117 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1118 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1119 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1120 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1121 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1122 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1123 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1124 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1125 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1126 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1127 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1128 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1129 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1130 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1131 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1132 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1133 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1134 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1135 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1136 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1137 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1138 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1139 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1140 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1141 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1142 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1143 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1144 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1145 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1146 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1147 = private unnamed_addr constant [5 x i8] c"free\00" @.str1148 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1149 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1150 = private unnamed_addr constant [2 x i8] c"0\00" @.str1151 = private unnamed_addr constant [5 x i8] c"void\00" @.str1152 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1153 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1154 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1155 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1156 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1157 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1158 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1159 = private unnamed_addr constant [2 x i8] c"0\00" @.str1160 = private unnamed_addr constant [5 x i8] c"void\00" @.str1161 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1162 = private unnamed_addr constant [3 x i8] c" \00" @.str1163 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1164 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1165 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1166 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1167 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1168 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1169 = private unnamed_addr constant [4 x i8] c"int\00" @.str1170 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1171 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1172 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1173 = private unnamed_addr constant [4 x i8] c"int\00" @.str1174 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1175 = private unnamed_addr constant [2 x i8] c"1\00" @.str1176 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1177 = private unnamed_addr constant [2 x i8] c"0\00" @.str1178 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1179 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1180 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1181 = private unnamed_addr constant [7 x i8] c"string\00" @.str1182 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1183 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1184 = private unnamed_addr constant [4 x i8] c"int\00" @.str1185 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1186 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1187 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1188 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1189 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1190 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1191 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1192 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1193 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1194 = private unnamed_addr constant [2 x i8] c"0\00" @.str1195 = private unnamed_addr constant [5 x i8] c"void\00" @.str1196 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1197 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1198 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1199 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1200 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1201 = private unnamed_addr constant [2 x i8] c"0\00" @.str1202 = private unnamed_addr constant [5 x i8] c"void\00" @.str1203 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1204 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1205 = private unnamed_addr constant [2 x i8] c"0\00" @.str1206 = private unnamed_addr constant [5 x i8] c"void\00" @.str1207 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1208 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1209 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1210 = private unnamed_addr constant [2 x i8] c"0\00" @.str1211 = private unnamed_addr constant [5 x i8] c"void\00" @.str1212 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1213 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1214 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1215 = private unnamed_addr constant [2 x i8] c"0\00" @.str1216 = private unnamed_addr constant [5 x i8] c"void\00" @.str1217 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1218 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str1219 = private unnamed_addr constant [2 x i8] c")\00" @.str1220 = private unnamed_addr constant [4 x i8] c"int\00" @.str1221 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1222 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1223 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1224 = private unnamed_addr constant [2 x i8] c"0\00" @.str1225 = private unnamed_addr constant [5 x i8] c"void\00" @.str1226 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1227 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1228 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1229 = private unnamed_addr constant [2 x i8] c"0\00" @.str1230 = private unnamed_addr constant [5 x i8] c"void\00" @.str1231 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1232 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str1233 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1234 = private unnamed_addr constant [2 x i8] c"0\00" @.str1235 = private unnamed_addr constant [5 x i8] c"void\00" @.str1236 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1237 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1238 = private unnamed_addr constant [2 x i8] c")\00" @.str1239 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1240 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1241 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str1242 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1243 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1244 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1245 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1246 = private unnamed_addr constant [2 x i8] c"0\00" @.str1247 = private unnamed_addr constant [5 x i8] c"void\00" @.str1248 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1249 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1250 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1251 = private unnamed_addr constant [2 x i8] c"0\00" @.str1252 = private unnamed_addr constant [5 x i8] c"void\00" @.str1253 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1254 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1255 = private unnamed_addr constant [2 x i8] c")\00" @.str1256 = private unnamed_addr constant [4 x i8] c"int\00" @.str1257 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1258 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1259 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1260 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1261 = private unnamed_addr constant [2 x i8] c"0\00" @.str1262 = private unnamed_addr constant [5 x i8] c"void\00" @.str1263 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1264 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str1265 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1266 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1267 = private unnamed_addr constant [2 x i8] c"0\00" @.str1268 = private unnamed_addr constant [5 x i8] c"void\00" @.str1269 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1270 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str1271 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1272 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1273 = private unnamed_addr constant [2 x i8] c"0\00" @.str1274 = private unnamed_addr constant [5 x i8] c"void\00" @.str1275 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1276 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1277 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1278 = private unnamed_addr constant [2 x i8] c")\00" @.str1279 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1280 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1281 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1282 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1283 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1284 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1285 = private unnamed_addr constant [2 x i8] c"0\00" @.str1286 = private unnamed_addr constant [5 x i8] c"void\00" @.str1287 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1288 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1289 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1290 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1291 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1292 = private unnamed_addr constant [2 x i8] c"0\00" @.str1293 = private unnamed_addr constant [5 x i8] c"void\00" @.str1294 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1295 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1296 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1297 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1298 = private unnamed_addr constant [2 x i8] c"0\00" @.str1299 = private unnamed_addr constant [5 x i8] c"void\00" @.str1300 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1301 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1302 = private unnamed_addr constant [2 x i8] c")\00" @.str1303 = private unnamed_addr constant [4 x i8] c"int\00" @.str1304 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1305 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1306 = private unnamed_addr constant [2 x i8] c")\00" @.str1307 = private unnamed_addr constant [4 x i8] c"int\00" @.str1308 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1309 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1310 = private unnamed_addr constant [2 x i8] c")\00" @.str1311 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1312 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1313 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1314 = private unnamed_addr constant [2 x i8] c")\00" @.str1315 = private unnamed_addr constant [4 x i8] c"int\00" @.str1316 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1317 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1318 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1319 = private unnamed_addr constant [2 x i8] c")\00" @.str1320 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1321 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1322 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1323 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1324 = private unnamed_addr constant [2 x i8] c"0\00" @.str1325 = private unnamed_addr constant [5 x i8] c"void\00" @.str1326 = private unnamed_addr constant [2 x i8] c"0\00" @.str1327 = private unnamed_addr constant [5 x i8] c"void\00" @.str1328 = private unnamed_addr constant [6 x i8] c"float\00" @.str1329 = private unnamed_addr constant [7 x i8] c"double\00" @.str1330 = private unnamed_addr constant [1 x i8] c"\00" @.str1331 = private unnamed_addr constant [1 x i8] c"\00" @.str1332 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str1333 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str1334 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str1335 = private unnamed_addr constant [7 x i8] c"double\00" @.str1336 = private unnamed_addr constant [7 x i8] c"double\00" @.str1337 = private unnamed_addr constant [7 x i8] c"double\00" @.str1338 = private unnamed_addr constant [6 x i8] c"float\00" @.str1339 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1340 = private unnamed_addr constant [2 x i8] c" \00" @.str1341 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1342 = private unnamed_addr constant [2 x i8] c"-\00" @.str1343 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1344 = private unnamed_addr constant [2 x i8] c"*\00" @.str1345 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1346 = private unnamed_addr constant [2 x i8] c"/\00" @.str1347 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1348 = private unnamed_addr constant [2 x i8] c"%\00" @.str1349 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1350 = private unnamed_addr constant [2 x i8] c" \00" @.str1351 = private unnamed_addr constant [2 x i8] c" \00" @.str1352 = private unnamed_addr constant [3 x i8] c", \00" @.str1353 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str1354 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1355 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str1356 = private unnamed_addr constant [5 x i8] c"null\00" @.str1357 = private unnamed_addr constant [6 x i8] c"float\00" @.str1358 = private unnamed_addr constant [7 x i8] c"double\00" @.str1359 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1360 = private unnamed_addr constant [2 x i8] c"0\00" @.str1361 = private unnamed_addr constant [3 x i8] c".0\00" @.str1362 = private unnamed_addr constant [7 x i8] c"double\00" @.str1363 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1364 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1365 = private unnamed_addr constant [6 x i8] c"float\00" @.str1366 = private unnamed_addr constant [7 x i8] c"double\00" @.str1367 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1368 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1369 = private unnamed_addr constant [7 x i8] c"double\00" @.str1370 = private unnamed_addr constant [6 x i8] c"float\00" @.str1371 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str1372 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1373 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str1374 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str1375 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str1376 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1377 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str1378 = private unnamed_addr constant [5 x i8] c" to \00" @.str1379 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1380 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1381 = private unnamed_addr constant [5 x i8] c" to \00" @.str1382 = private unnamed_addr constant [5 x i8] c": a \00" @.str1383 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str1384 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str1385 = private unnamed_addr constant [1 x i8] c"\00" @.str1386 = private unnamed_addr constant [2 x i8] c":\00" @.str1387 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str1388 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str1389 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1390 = private unnamed_addr constant [2 x i8] c"<\00" @.str1391 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1392 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1393 = private unnamed_addr constant [4 x i8] c"ole\00" @.str1394 = private unnamed_addr constant [2 x i8] c">\00" @.str1395 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1396 = private unnamed_addr constant [3 x i8] c">=\00" @.str1397 = private unnamed_addr constant [4 x i8] c"oge\00" @.str1398 = private unnamed_addr constant [3 x i8] c"==\00" @.str1399 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str1400 = private unnamed_addr constant [4 x i8] c"une\00" @.str1401 = private unnamed_addr constant [6 x i8] c"float\00" @.str1402 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str1403 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str1404 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1405 = private unnamed_addr constant [2 x i8] c" \00" @.str1406 = private unnamed_addr constant [2 x i8] c" \00" @.str1407 = private unnamed_addr constant [3 x i8] c", \00" @.str1408 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1409 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1410 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1411 = private unnamed_addr constant [1 x i8] c"\00" @.str1412 = private unnamed_addr constant [2 x i8] c"+\00" @.str1413 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1414 = private unnamed_addr constant [2 x i8] c"-\00" @.str1415 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1416 = private unnamed_addr constant [2 x i8] c"*\00" @.str1417 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1418 = private unnamed_addr constant [2 x i8] c"/\00" @.str1419 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1420 = private unnamed_addr constant [2 x i8] c"%\00" @.str1421 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1422 = private unnamed_addr constant [1 x i8] c"\00" @.str1423 = private unnamed_addr constant [10 x i8] c"operator \00" @.str1424 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str1425 = private unnamed_addr constant [2 x i8] c" \00" @.str1426 = private unnamed_addr constant [2 x i8] c" \00" @.str1427 = private unnamed_addr constant [3 x i8] c", \00" @.str1428 = private unnamed_addr constant [7 x i8] c"double\00" @.str1429 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1430 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1431 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1432 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1433 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1434 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1435 = private unnamed_addr constant [5 x i8] c" to \00" @.str1436 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1437 = private unnamed_addr constant [2 x i8] c" \00" @.str1438 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1439 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str1440 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1441 = private unnamed_addr constant [2 x i8] c" \00" @.str1442 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1443 = private unnamed_addr constant [4 x i8] c"int\00" @.str1444 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1445 = private unnamed_addr constant [2 x i8] c" \00" @.str1446 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1447 = private unnamed_addr constant [5 x i8] c"long\00" @.str1448 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1449 = private unnamed_addr constant [2 x i8] c" \00" @.str1450 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1451 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1452 = private unnamed_addr constant [2 x i8] c" \00" @.str1453 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1454 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1455 = private unnamed_addr constant [6 x i8] c"float\00" @.str1456 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str1457 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str1458 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1459 = private unnamed_addr constant [4 x i8] c"int\00" @.str1460 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str1461 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1462 = private unnamed_addr constant [6 x i8] c"float\00" @.str1463 = private unnamed_addr constant [7 x i8] c"double\00" @.str1464 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str1465 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str1466 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1467 = private unnamed_addr constant [5 x i8] c"long\00" @.str1468 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str1469 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1470 = private unnamed_addr constant [7 x i8] c"double\00" @.str1471 = private unnamed_addr constant [2 x i8] c"0\00" @.str1472 = private unnamed_addr constant [6 x i8] c"float\00" @.str1473 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1474 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1475 = private unnamed_addr constant [2 x i8] c"1\00" @.str1476 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str1477 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1478 = private unnamed_addr constant [2 x i8] c")\00" @.str1479 = private unnamed_addr constant [7 x i8] c"string\00" @.str1480 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str1481 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str1482 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str1483 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str1484 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str1485 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str1486 = private unnamed_addr constant [58 x i8] c"entry:\0A %buf = call ptr @malloc(i64 40)\0A br label %try\0A\00" @.str1487 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str1488 = 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" @.str1489 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str1490 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str1491 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str1492 = 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" @.str1493 = 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" @.str1494 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str1495 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str1496 = 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" @.str1497 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str1498 = 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" @.str1499 = 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" @.str1500 = 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" @.str1501 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str1502 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str1503 = private unnamed_addr constant [2 x i8] c"4\00" @.str1504 = private unnamed_addr constant [7 x i8] c"floats\00" @.str1505 = private unnamed_addr constant [7 x i8] c"double\00" @.str1506 = private unnamed_addr constant [2 x i8] c"8\00" @.str1507 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1508 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1509 = private unnamed_addr constant [3 x i8] c", \00" @.str1510 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1511 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1512 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str1513 = private unnamed_addr constant [2 x i8] c")\00" @.str1514 = private unnamed_addr constant [6 x i8] c"float\00" @.str1515 = private unnamed_addr constant [2 x i8] c"f\00" @.str1516 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1517 = private unnamed_addr constant [3 x i8] c" @\00" @.str1518 = private unnamed_addr constant [2 x i8] c"(\00" @.str1519 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1520 = private unnamed_addr constant [6 x i8] c"call \00" @.str1521 = private unnamed_addr constant [3 x i8] c" @\00" @.str1522 = private unnamed_addr constant [2 x i8] c"(\00" @.str1523 = private unnamed_addr constant [2 x i8] c" \00" @.str1524 = private unnamed_addr constant [2 x i8] c")\00" @.str1525 = private unnamed_addr constant [6 x i8] c"float\00" @.str1526 = private unnamed_addr constant [2 x i8] c"f\00" @.str1527 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1528 = private unnamed_addr constant [3 x i8] c" @\00" @.str1529 = private unnamed_addr constant [2 x i8] c"(\00" @.str1530 = private unnamed_addr constant [3 x i8] c", \00" @.str1531 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1532 = private unnamed_addr constant [6 x i8] c"call \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 [3 x i8] c", \00" @.str1537 = private unnamed_addr constant [2 x i8] c" \00" @.str1538 = private unnamed_addr constant [2 x i8] c")\00" @.str1539 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1540 = private unnamed_addr constant [6 x i8] c"float\00" @.str1541 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1542 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1543 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1544 = private unnamed_addr constant [2 x i8] c".\00" @.str1545 = private unnamed_addr constant [2 x i8] c"(\00" @.str1546 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1547 = private unnamed_addr constant [6 x i8] c"call \00" @.str1548 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1549 = private unnamed_addr constant [2 x i8] c".\00" @.str1550 = private unnamed_addr constant [2 x i8] c"(\00" @.str1551 = private unnamed_addr constant [2 x i8] c" \00" @.str1552 = private unnamed_addr constant [2 x i8] c")\00" @.str1553 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1554 = private unnamed_addr constant [6 x i8] c"float\00" @.str1555 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1556 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1557 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1558 = private unnamed_addr constant [2 x i8] c".\00" @.str1559 = private unnamed_addr constant [2 x i8] c"(\00" @.str1560 = private unnamed_addr constant [3 x i8] c", \00" @.str1561 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1562 = private unnamed_addr constant [6 x i8] c"call \00" @.str1563 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1564 = private unnamed_addr constant [2 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 [3 x i8] c", \00" @.str1568 = private unnamed_addr constant [2 x i8] c" \00" @.str1569 = private unnamed_addr constant [2 x i8] c")\00" @.str1570 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1571 = private unnamed_addr constant [4 x i8] c"max\00" @.str1572 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1573 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1574 = private unnamed_addr constant [2 x i8] c" \00" @.str1575 = private unnamed_addr constant [2 x i8] c" \00" @.str1576 = private unnamed_addr constant [3 x i8] c", \00" @.str1577 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1578 = private unnamed_addr constant [3 x i8] c", \00" @.str1579 = private unnamed_addr constant [2 x i8] c" \00" @.str1580 = private unnamed_addr constant [3 x i8] c", \00" @.str1581 = private unnamed_addr constant [2 x i8] c" \00" @.str1582 = private unnamed_addr constant [1 x i8] c"\00" @.str1583 = private unnamed_addr constant [1 x i8] c"\00" @.str1584 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1585 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1586 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1587 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1588 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1589 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1590 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1591 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1592 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1593 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1594 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1595 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1596 = private unnamed_addr constant [4 x i8] c"log\00" @.str1597 = private unnamed_addr constant [4 x i8] c"log\00" @.str1598 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1599 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1600 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1601 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1602 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1603 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1604 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1605 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1606 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1607 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1608 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1609 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1610 = private unnamed_addr constant [6 x i8] c"round\00" @.str1611 = private unnamed_addr constant [6 x i8] c"round\00" @.str1612 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1613 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1614 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1615 = private unnamed_addr constant [10 x i8] c"fcmp ogt \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 [10 x i8] c"fcmp olt \00" @.str1619 = private unnamed_addr constant [2 x i8] c" \00" @.str1620 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1621 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1622 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1623 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1624 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1625 = private unnamed_addr constant [4 x i8] c"int\00" @.str1626 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1627 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1628 = private unnamed_addr constant [2 x i8] c" \00" @.str1629 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1630 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str1631 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1632 = private unnamed_addr constant [2 x i8] c" \00" @.str1633 = private unnamed_addr constant [3 x i8] c", \00" @.str1634 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1635 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1636 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str1637 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1638 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1639 = private unnamed_addr constant [2 x i8] c" \00" @.str1640 = private unnamed_addr constant [3 x i8] c", \00" @.str1641 = private unnamed_addr constant [4 x i8] c"min\00" @.str1642 = private unnamed_addr constant [4 x i8] c"max\00" @.str1643 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1644 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1645 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1646 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1647 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1648 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1649 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1650 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1651 = private unnamed_addr constant [6 x i8] c"frem \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"fadd \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"frem \00" @.str1658 = private unnamed_addr constant [2 x i8] c" \00" @.str1659 = private unnamed_addr constant [3 x i8] c", \00" @.str1660 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1661 = private unnamed_addr constant [4 x i8] c"max\00" @.str1662 = private unnamed_addr constant [4 x i8] c"min\00" @.str1663 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1664 = private unnamed_addr constant [6 x i8] c"fsub \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"fmul \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 [6 x i8] c"fadd \00" @.str1671 = private unnamed_addr constant [2 x i8] c" \00" @.str1672 = private unnamed_addr constant [3 x i8] c", \00" @.str1673 = private unnamed_addr constant [13 x i8] c"inverse_lerp\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"fsub \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"fdiv \00" @.str1681 = private unnamed_addr constant [2 x i8] c" \00" @.str1682 = private unnamed_addr constant [3 x i8] c", \00" @.str1683 = private unnamed_addr constant [6 x i8] c"remap\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"fsub \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"fdiv \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"fsub \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"fmul \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 [6 x i8] c"fadd \00" @.str1700 = private unnamed_addr constant [2 x i8] c" \00" @.str1701 = private unnamed_addr constant [3 x i8] c", \00" @.str1702 = private unnamed_addr constant [11 x i8] c"smoothstep\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"fsub \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 [6 x i8] c"fdiv \00" @.str1710 = private unnamed_addr constant [2 x i8] c" \00" @.str1711 = private unnamed_addr constant [3 x i8] c", \00" @.str1712 = private unnamed_addr constant [4 x i8] c"max\00" @.str1713 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1714 = private unnamed_addr constant [4 x i8] c"min\00" @.str1715 = private unnamed_addr constant [4 x i8] c"1.0\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 [3 x i8] c", \00" @.str1719 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1720 = private unnamed_addr constant [2 x i8] c" \00" @.str1721 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str1722 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1723 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str1724 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1725 = private unnamed_addr constant [2 x i8] c" \00" @.str1726 = private unnamed_addr constant [3 x i8] c", \00" @.str1727 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1728 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1729 = private unnamed_addr constant [2 x i8] c" \00" @.str1730 = private unnamed_addr constant [3 x i8] c", \00" @.str1731 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1732 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str1733 = private unnamed_addr constant [2 x i8] c" \00" @.str1734 = private unnamed_addr constant [3 x i8] c", \00" @.str1735 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1736 = private unnamed_addr constant [2 x i8] c" \00" @.str1737 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1738 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1739 = private unnamed_addr constant [2 x i8] c" \00" @.str1740 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1741 = private unnamed_addr constant [3 x i8] c", \00" @.str1742 = private unnamed_addr constant [2 x i8] c" \00" @.str1743 = private unnamed_addr constant [3 x i8] c", \00" @.str1744 = private unnamed_addr constant [2 x i8] c" \00" @.str1745 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1746 = private unnamed_addr constant [2 x i8] c" \00" @.str1747 = private unnamed_addr constant [3 x i8] c", \00" @.str1748 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1749 = private unnamed_addr constant [3 x i8] c", \00" @.str1750 = private unnamed_addr constant [2 x i8] c" \00" @.str1751 = private unnamed_addr constant [3 x i8] c", \00" @.str1752 = private unnamed_addr constant [2 x i8] c" \00" @.str1753 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1754 = private unnamed_addr constant [6 x i8] c"dist2\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"fsub \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"fmul \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"fadd \00" @.str1768 = private unnamed_addr constant [2 x i8] c" \00" @.str1769 = private unnamed_addr constant [3 x i8] c", \00" @.str1770 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1771 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1772 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1773 = private unnamed_addr constant [9 x i8] c" has no \00" @.str1774 = private unnamed_addr constant [6 x i8] c" form\00" @.str1775 = private unnamed_addr constant [4 x i8] c"min\00" @.str1776 = private unnamed_addr constant [4 x i8] c"max\00" @.str1777 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1778 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1779 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1780 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1781 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1782 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1783 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1784 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1785 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1786 = private unnamed_addr constant [4 x i8] c"min\00" @.str1787 = private unnamed_addr constant [4 x i8] c"max\00" @.str1788 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1789 = private unnamed_addr constant [4 x i8] c"max\00" @.str1790 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1791 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1792 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1793 = private unnamed_addr constant [3 x i8] c", \00" @.str1794 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1795 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1796 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1797 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1798 = private unnamed_addr constant [3 x i8] c", \00" @.str1799 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1800 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1801 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1802 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1803 = private unnamed_addr constant [3 x i8] c", \00" @.str1804 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1805 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1806 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1807 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1808 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1809 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1810 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1811 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str1812 = private unnamed_addr constant [3 x i8] c", \00" @.str1813 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str1814 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1815 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1816 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1817 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1818 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1819 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1820 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1821 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1822 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1823 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str1824 = private unnamed_addr constant [3 x i8] c", \00" @.str1825 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1826 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1827 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1828 = private unnamed_addr constant [3 x i8] c", \00" @.str1829 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1830 = private unnamed_addr constant [3 x i8] c", \00" @.str1831 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1832 = private unnamed_addr constant [3 x i8] c", \00" @.str1833 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1834 = private unnamed_addr constant [3 x i8] c", \00" @.str1835 = private unnamed_addr constant [4 x i8] c"min\00" @.str1836 = private unnamed_addr constant [4 x i8] c"max\00" @.str1837 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1838 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1839 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1840 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1841 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1842 = private unnamed_addr constant [6 x i8] c"round\00" @.str1843 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1844 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1845 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1846 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1847 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1848 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1849 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1850 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1851 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1852 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1853 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1854 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1855 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1856 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1857 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1858 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1859 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1860 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1861 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1862 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1863 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1864 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1865 = private unnamed_addr constant [4 x i8] c"log\00" @.str1866 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1867 = private unnamed_addr constant [1 x i8] c"\00" @.str1868 = private unnamed_addr constant [4 x i8] c"min\00" @.str1869 = private unnamed_addr constant [4 x i8] c"max\00" @.str1870 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1871 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1872 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1873 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1874 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1875 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1876 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1877 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1878 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1879 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1880 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1881 = private unnamed_addr constant [4 x i8] c"int\00" @.str1882 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1883 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1884 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1885 = private unnamed_addr constant [4 x i8] c"int\00" @.str1886 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1887 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1888 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str1889 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1890 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1891 = private unnamed_addr constant [4 x i8] c"int\00" @.str1892 = private unnamed_addr constant [6 x i8] c"round\00" @.str1893 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1894 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1895 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1896 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1897 = private unnamed_addr constant [4 x i8] c"int\00" @.str1898 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1899 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1900 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1901 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1902 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1903 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1904 = private unnamed_addr constant [2 x i8] c")\00" @.str1905 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1906 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1907 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1908 = private unnamed_addr constant [2 x i8] c")\00" @.str1909 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1910 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1911 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1912 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1913 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1914 = private unnamed_addr constant [2 x i8] c")\00" @.str1915 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1916 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1917 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1918 = private unnamed_addr constant [2 x i8] c")\00" @.str1919 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1920 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1921 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1922 = private unnamed_addr constant [2 x i8] c")\00" @.str1923 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1924 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1925 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1926 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1927 = private unnamed_addr constant [2 x i8] c")\00" @.str1928 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1929 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1930 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1931 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1932 = private unnamed_addr constant [2 x i8] c")\00" @.str1933 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1934 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1935 = private unnamed_addr constant [2 x i8] c")\00" @.str1936 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1937 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1938 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1939 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1940 = private unnamed_addr constant [2 x i8] c")\00" @.str1941 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1942 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1943 = private unnamed_addr constant [2 x i8] c")\00" @.str1944 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1945 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1946 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1947 = private unnamed_addr constant [3 x i8] c", \00" @.str1948 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1949 = private unnamed_addr constant [2 x i8] c")\00" @.str1950 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1951 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1952 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1953 = private unnamed_addr constant [3 x i8] c", \00" @.str1954 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1955 = private unnamed_addr constant [3 x i8] c", \00" @.str1956 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1957 = private unnamed_addr constant [3 x i8] c", \00" @.str1958 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1959 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1960 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1961 = private unnamed_addr constant [3 x i8] c", \00" @.str1962 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1963 = private unnamed_addr constant [3 x i8] c", \00" @.str1964 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1965 = private unnamed_addr constant [3 x i8] c", \00" @.str1966 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1967 = private unnamed_addr constant [2 x i8] c")\00" @.str1968 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1969 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1970 = private unnamed_addr constant [6 x i8] c"94548\00" @.str1971 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1972 = private unnamed_addr constant [2 x i8] c")\00" @.str1973 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1974 = private unnamed_addr constant [4 x i8] c"log\00" @.str1975 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1976 = private unnamed_addr constant [2 x i8] c")\00" @.str1977 = private unnamed_addr constant [6 x i8] c"45426\00" @.str1978 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1979 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1980 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1981 = private unnamed_addr constant [2 x i8] c")\00" @.str1982 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1983 = private unnamed_addr constant [2 x i8] c")\00" @.str1984 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1985 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1986 = private unnamed_addr constant [5 x i8] c"1144\00" @.str1987 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1988 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1989 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str1990 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1991 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1992 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1993 = private unnamed_addr constant [3 x i8] c", \00" @.str1994 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1995 = private unnamed_addr constant [3 x i8] c", \00" @.str1996 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1997 = private unnamed_addr constant [3 x i8] c", \00" @.str1998 = private unnamed_addr constant [4 x i8] c"int\00" @.str1999 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str2000 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2001 = private unnamed_addr constant [3 x i8] c", \00" @.str2002 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2003 = private unnamed_addr constant [3 x i8] c", \00" @.str2004 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2005 = private unnamed_addr constant [3 x i8] c", \00" @.str2006 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2007 = private unnamed_addr constant [3 x i8] c", \00" @.str2008 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2009 = private unnamed_addr constant [3 x i8] c", \00" @.str2010 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2011 = private unnamed_addr constant [3 x i8] c", \00" @.str2012 = private unnamed_addr constant [4 x i8] c"int\00" @.str2013 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str2014 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2015 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2016 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2017 = private unnamed_addr constant [3 x i8] c", \00" @.str2018 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2019 = private unnamed_addr constant [3 x i8] c", \00" @.str2020 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2021 = private unnamed_addr constant [3 x i8] c", \00" @.str2022 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2023 = private unnamed_addr constant [3 x i8] c", \00" @.str2024 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2025 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2026 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2027 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2028 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2029 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2030 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2031 = private unnamed_addr constant [3 x i8] c", \00" @.str2032 = private unnamed_addr constant [4 x i8] c"int\00" @.str2033 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str2034 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2035 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str2036 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2037 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2038 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2039 = private unnamed_addr constant [3 x i8] c", \00" @.str2040 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2041 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str2042 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2043 = private unnamed_addr constant [3 x i8] c", \00" @.str2044 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2045 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2046 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2047 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2048 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2049 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2050 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2051 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2052 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2053 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2054 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2055 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str2056 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2057 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str2058 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2059 = private unnamed_addr constant [3 x i8] c", \00" @.str2060 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2061 = private unnamed_addr constant [3 x i8] c", \00" @.str2062 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2063 = private unnamed_addr constant [3 x i8] c", \00" @.str2064 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2065 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2066 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2067 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2068 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str2069 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2070 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2071 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2072 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str2073 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2074 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str2075 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2076 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2077 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2078 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2079 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str2080 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2081 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2082 = 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" @.str2083 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str2084 = 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" @.str2085 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str2086 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str2087 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str2088 = 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" @.str2089 = 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" @.str2090 = 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" @.str2091 = 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" @.str2092 = 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" @.str2093 = 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" @.str2094 = 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" @.str2095 = 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" @.str2096 = 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" @.str2097 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str2098 = 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" @.str2099 = 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" @.str2100 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str2101 = 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" @.str2102 = 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" @.str2103 = 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" @.str2104 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str2105 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2106 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str2107 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str2108 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str2109 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str2110 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str2111 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str2112 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str2113 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str2114 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str2115 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str2116 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str2117 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str2118 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str2119 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str2120 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str2121 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str2122 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2123 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str2124 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str2125 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str2126 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2127 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str2128 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str2129 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str2130 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str2131 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str2132 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str2133 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str2134 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str2135 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str2136 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str2137 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str2138 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str2139 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str2140 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str2141 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str2142 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str2143 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str2144 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str2145 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str2146 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str2147 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str2148 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str2149 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str2150 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str2151 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str2152 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str2153 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str2154 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str2155 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str2156 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str2157 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str2158 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str2159 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2160 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str2161 = 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" @.str2162 = 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" @.str2163 = 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" @.str2164 = 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" @.str2165 = 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" @.str2166 = 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" @.str2167 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str2168 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str2169 = 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" @.str2170 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str2171 = 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" @.str2172 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str2173 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str2174 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str2175 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str2176 = 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" @.str2177 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str2178 = 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" @.str2179 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str2180 = 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" @.str2181 = 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" @.str2182 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str2183 = 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" @.str2184 = 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" @.str2185 = 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" @.str2186 = 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" @.str2187 = 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" @.str2188 = 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" @.str2189 = 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" @.str2190 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str2191 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2192 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2193 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str2194 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2195 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2196 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2197 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str2198 = private unnamed_addr constant [3 x i8] c", \00" @.str2199 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2200 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2201 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2202 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2203 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2204 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2205 = private unnamed_addr constant [5 x i8] c"make\00" @.str2206 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2207 = private unnamed_addr constant [2 x i8] c"x\00" @.str2208 = private unnamed_addr constant [2 x i8] c"y\00" @.str2209 = private unnamed_addr constant [4 x i8] c"add\00" @.str2210 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2211 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2212 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2213 = private unnamed_addr constant [7 x i8] c"length\00" @.str2214 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2215 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2216 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2217 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2218 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2219 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2220 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2221 = private unnamed_addr constant [2 x i8] c"0\00" @.str2222 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2223 = private unnamed_addr constant [5 x i8] c"make\00" @.str2224 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2225 = private unnamed_addr constant [2 x i8] c"x\00" @.str2226 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2227 = private unnamed_addr constant [2 x i8] c"y\00" @.str2228 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2229 = private unnamed_addr constant [4 x i8] c"add\00" @.str2230 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2231 = private unnamed_addr constant [3 x i8] c", \00" @.str2232 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2233 = private unnamed_addr constant [3 x i8] c", \00" @.str2234 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2235 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2236 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2237 = private unnamed_addr constant [3 x i8] c", \00" @.str2238 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2239 = private unnamed_addr constant [3 x i8] c", \00" @.str2240 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2241 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2242 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2243 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2244 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2245 = private unnamed_addr constant [3 x i8] c", \00" @.str2246 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2247 = private unnamed_addr constant [7 x i8] c"length\00" @.str2248 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2249 = private unnamed_addr constant [3 x i8] c", \00" @.str2250 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2251 = private unnamed_addr constant [2 x i8] c")\00" @.str2252 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2253 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2254 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2255 = private unnamed_addr constant [3 x i8] c", \00" @.str2256 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2257 = private unnamed_addr constant [3 x i8] c", \00" @.str2258 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2259 = private unnamed_addr constant [3 x i8] c", \00" @.str2260 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2261 = private unnamed_addr constant [2 x i8] c")\00" @.str2262 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2263 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2264 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2265 = private unnamed_addr constant [3 x i8] c", \00" @.str2266 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2267 = private unnamed_addr constant [2 x i8] c")\00" @.str2268 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2269 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2270 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2271 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2272 = private unnamed_addr constant [6 x i8] c"65536\00" @.str2273 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2274 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2275 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2276 = private unnamed_addr constant [2 x i8] c")\00" @.str2277 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2278 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2279 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2280 = private unnamed_addr constant [2 x i8] c")\00" @.str2281 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2282 = private unnamed_addr constant [3 x i8] c", \00" @.str2283 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2284 = private unnamed_addr constant [3 x i8] c", \00" @.str2285 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2286 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2287 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2288 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2289 = private unnamed_addr constant [2 x i8] c")\00" @.str2290 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2291 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2292 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2293 = private unnamed_addr constant [2 x i8] c")\00" @.str2294 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2295 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2296 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2297 = private unnamed_addr constant [2 x i8] c")\00" @.str2298 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2299 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2300 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2301 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2302 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2303 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2304 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2305 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2306 = private unnamed_addr constant [5 x i8] c"make\00" @.str2307 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2308 = private unnamed_addr constant [2 x i8] c"x\00" @.str2309 = private unnamed_addr constant [2 x i8] c"y\00" @.str2310 = private unnamed_addr constant [4 x i8] c"add\00" @.str2311 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2312 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2313 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2314 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2315 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2316 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str2317 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2318 = private unnamed_addr constant [7 x i8] c"within\00" @.str2319 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2320 = private unnamed_addr constant [6 x i8] c"along\00" @.str2321 = private unnamed_addr constant [5 x i8] c"step\00" @.str2322 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2323 = private unnamed_addr constant [2 x i8] c"0\00" @.str2324 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2325 = private unnamed_addr constant [5 x i8] c"make\00" @.str2326 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2327 = private unnamed_addr constant [2 x i8] c"x\00" @.str2328 = private unnamed_addr constant [4 x i8] c"int\00" @.str2329 = private unnamed_addr constant [2 x i8] c"y\00" @.str2330 = private unnamed_addr constant [4 x i8] c"int\00" @.str2331 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2332 = private unnamed_addr constant [7 x i8] c"within\00" @.str2333 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2334 = private unnamed_addr constant [3 x i8] c", \00" @.str2335 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2336 = private unnamed_addr constant [3 x i8] c", \00" @.str2337 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2338 = private unnamed_addr constant [3 x i8] c", \00" @.str2339 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2340 = private unnamed_addr constant [3 x i8] c", \00" @.str2341 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2342 = private unnamed_addr constant [3 x i8] c", \00" @.str2343 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2344 = private unnamed_addr constant [4 x i8] c"int\00" @.str2345 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2346 = private unnamed_addr constant [3 x i8] c", \00" @.str2347 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2348 = private unnamed_addr constant [3 x i8] c", \00" @.str2349 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2350 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2351 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2352 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2353 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str2354 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str2355 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str2356 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2357 = private unnamed_addr constant [2 x i8] c")\00" @.str2358 = private unnamed_addr constant [4 x i8] c"int\00" @.str2359 = private unnamed_addr constant [6 x i8] c"along\00" @.str2360 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str2361 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str2362 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str2363 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2364 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2365 = private unnamed_addr constant [2 x i8] c")\00" @.str2366 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2367 = private unnamed_addr constant [5 x i8] c"step\00" @.str2368 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str2369 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str2370 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" @.str2371 = private unnamed_addr constant [2 x i8] c")\00" @.str2372 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2373 = private unnamed_addr constant [4 x i8] c"add\00" @.str2374 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2375 = private unnamed_addr constant [3 x i8] c", \00" @.str2376 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2377 = private unnamed_addr constant [3 x i8] c", \00" @.str2378 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2379 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2380 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2381 = private unnamed_addr constant [3 x i8] c", \00" @.str2382 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2383 = private unnamed_addr constant [3 x i8] c", \00" @.str2384 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2385 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2386 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2387 = private unnamed_addr constant [3 x i8] c", \00" @.str2388 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2389 = private unnamed_addr constant [3 x i8] c", \00" @.str2390 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2391 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2392 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2393 = private unnamed_addr constant [3 x i8] c", \00" @.str2394 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2395 = private unnamed_addr constant [3 x i8] c", \00" @.str2396 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2397 = private unnamed_addr constant [3 x i8] c", \00" @.str2398 = private unnamed_addr constant [4 x i8] c"int\00" @.str2399 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2400 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str2401 = private unnamed_addr constant [3 x i8] c", \00" @.str2402 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2403 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2404 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2405 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2406 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2407 = private unnamed_addr constant [3 x i8] c", \00" @.str2408 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2409 = private unnamed_addr constant [3 x i8] c", \00" @.str2410 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2411 = private unnamed_addr constant [3 x i8] c", \00" @.str2412 = private unnamed_addr constant [4 x i8] c"int\00" @.str2413 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2414 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2415 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2416 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2417 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2418 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2419 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2420 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2421 = private unnamed_addr constant [5 x i8] c", 96\00" @.str2422 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2423 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2424 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2425 = private unnamed_addr constant [5 x i8] c", 64\00" @.str2426 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2427 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2428 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2429 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2430 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2431 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2432 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2433 = private unnamed_addr constant [3 x i8] c", \00" @.str2434 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2435 = private unnamed_addr constant [3 x i8] c", \00" @.str2436 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2437 = private unnamed_addr constant [3 x i8] c", \00" @.str2438 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2439 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2440 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str2441 = private unnamed_addr constant [3 x i8] c", \00" @.str2442 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2443 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2444 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str2445 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str2446 = private unnamed_addr constant [3 x i8] c", \00" @.str2447 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2448 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2449 = private unnamed_addr constant [5 x i8] c"make\00" @.str2450 = private unnamed_addr constant [2 x i8] c"x\00" @.str2451 = private unnamed_addr constant [2 x i8] c"y\00" @.str2452 = private unnamed_addr constant [2 x i8] c"w\00" @.str2453 = private unnamed_addr constant [2 x i8] c"h\00" @.str2454 = private unnamed_addr constant [6 x i8] c"right\00" @.str2455 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2456 = private unnamed_addr constant [7 x i8] c"center\00" @.str2457 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2458 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str2459 = private unnamed_addr constant [5 x i8] c"make\00" @.str2460 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str2461 = private unnamed_addr constant [2 x i8] c"x\00" @.str2462 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2463 = private unnamed_addr constant [2 x i8] c"y\00" @.str2464 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2465 = private unnamed_addr constant [2 x i8] c"w\00" @.str2466 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2467 = private unnamed_addr constant [2 x i8] c"h\00" @.str2468 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2469 = private unnamed_addr constant [6 x i8] c"right\00" @.str2470 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2471 = private unnamed_addr constant [3 x i8] c", \00" @.str2472 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2473 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2474 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2475 = private unnamed_addr constant [3 x i8] c", \00" @.str2476 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2477 = private unnamed_addr constant [7 x i8] c"center\00" @.str2478 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2479 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2480 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2481 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2482 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2483 = private unnamed_addr constant [3 x i8] c", \00" @.str2484 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2485 = private unnamed_addr constant [3 x i8] c", \00" @.str2486 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2487 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2488 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2489 = private unnamed_addr constant [3 x i8] c", \00" @.str2490 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2491 = private unnamed_addr constant [3 x i8] c", \00" @.str2492 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2493 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2494 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2495 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2496 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2497 = private unnamed_addr constant [3 x i8] c", \00" @.str2498 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2499 = private unnamed_addr constant [3 x i8] c", \00" @.str2500 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2501 = private unnamed_addr constant [3 x i8] c", \00" @.str2502 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2503 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2504 = private unnamed_addr constant [3 x i8] c", \00" @.str2505 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2506 = private unnamed_addr constant [3 x i8] c", \00" @.str2507 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2508 = private unnamed_addr constant [3 x i8] c", \00" @.str2509 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2510 = private unnamed_addr constant [3 x i8] c", \00" @.str2511 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2512 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2513 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2514 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2515 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2516 = private unnamed_addr constant [3 x i8] c", \00" @.str2517 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2518 = private unnamed_addr constant [3 x i8] c", \00" @.str2519 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2520 = private unnamed_addr constant [3 x i8] c", \00" @.str2521 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2522 = private unnamed_addr constant [7 x i8] c"length\00" @.str2523 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2524 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2525 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2526 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2527 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2528 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2529 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2530 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2531 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2532 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2533 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2534 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2535 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2536 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2537 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2538 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2539 = private unnamed_addr constant [6 x i8] c"split\00" @.str2540 = private unnamed_addr constant [5 x i8] c"join\00" @.str2541 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2542 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2543 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2544 = private unnamed_addr constant [2 x i8] c")\00" @.str2545 = private unnamed_addr constant [7 x i8] c"string\00" @.str2546 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2547 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2548 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2549 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2550 = private unnamed_addr constant [2 x i8] c")\00" @.str2551 = private unnamed_addr constant [7 x i8] c"string\00" @.str2552 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2553 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2554 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2555 = private unnamed_addr constant [2 x i8] c")\00" @.str2556 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2557 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2558 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2559 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2560 = private unnamed_addr constant [2 x i8] c")\00" @.str2561 = private unnamed_addr constant [7 x i8] c"string\00" @.str2562 = private unnamed_addr constant [7 x i8] c"length\00" @.str2563 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2564 = private unnamed_addr constant [2 x i8] c")\00" @.str2565 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2566 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2567 = private unnamed_addr constant [4 x i8] c"int\00" @.str2568 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2569 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2570 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2571 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2572 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2573 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2574 = private unnamed_addr constant [4 x i8] c"int\00" @.str2575 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2576 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2577 = private unnamed_addr constant [2 x i8] c")\00" @.str2578 = private unnamed_addr constant [4 x i8] c"int\00" @.str2579 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2580 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2581 = private unnamed_addr constant [2 x i8] c")\00" @.str2582 = private unnamed_addr constant [7 x i8] c"string\00" @.str2583 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2584 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2585 = private unnamed_addr constant [2 x i8] c")\00" @.str2586 = private unnamed_addr constant [7 x i8] c"string\00" @.str2587 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2588 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2589 = private unnamed_addr constant [2 x i8] c")\00" @.str2590 = private unnamed_addr constant [7 x i8] c"string\00" @.str2591 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2592 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2593 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2594 = private unnamed_addr constant [2 x i8] c")\00" @.str2595 = private unnamed_addr constant [7 x i8] c"string\00" @.str2596 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2597 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2598 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2599 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2600 = private unnamed_addr constant [7 x i8] c"string\00" @.str2601 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2602 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2603 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2604 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2605 = private unnamed_addr constant [7 x i8] c"string\00" @.str2606 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2607 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2608 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2609 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2610 = private unnamed_addr constant [2 x i8] c")\00" @.str2611 = private unnamed_addr constant [7 x i8] c"string\00" @.str2612 = private unnamed_addr constant [6 x i8] c"split\00" @.str2613 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2614 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2615 = private unnamed_addr constant [2 x i8] c")\00" @.str2616 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2617 = private unnamed_addr constant [5 x i8] c"join\00" @.str2618 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2619 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2620 = private unnamed_addr constant [2 x i8] c")\00" @.str2621 = private unnamed_addr constant [7 x i8] c"string\00" @.str2622 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2623 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2624 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str2625 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2626 = private unnamed_addr constant [2 x i8] c")\00" @.str2627 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2628 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2629 = private unnamed_addr constant [7 x i8] c", null\00" @.str2630 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2631 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2632 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2633 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2634 = private unnamed_addr constant [7 x i8] c", null\00" @.str2635 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2636 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2637 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2638 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2639 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2640 = private unnamed_addr constant [3 x i8] c", \00" @.str2641 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2642 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2643 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2644 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str2645 = private unnamed_addr constant [4 x i8] c"int\00" @.str2646 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2647 = private unnamed_addr constant [2 x i8] c")\00" @.str2648 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2649 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2650 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2651 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2652 = private unnamed_addr constant [2 x i8] c")\00" @.str2653 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2654 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2655 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2656 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2657 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2658 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2659 = private unnamed_addr constant [2 x i8] c")\00" @.str2660 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2661 = private unnamed_addr constant [3 x i8] c", \00" @.str2662 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2663 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2664 = private unnamed_addr constant [2 x i8] c"0\00" @.str2665 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str2666 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2667 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str2668 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str2669 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str2670 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2671 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2672 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2673 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2674 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2675 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2676 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2677 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2678 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2679 = private unnamed_addr constant [2 x i8] c")\00" @.str2680 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2681 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2682 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2683 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2684 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2685 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str2686 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2687 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2688 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str2689 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2690 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str2691 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2692 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2693 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2694 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2695 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2696 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2697 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2698 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2699 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2700 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2701 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2702 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2703 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2704 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2705 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str2706 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str2707 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2708 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str2709 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2710 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2711 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2712 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2713 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2714 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2715 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2716 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2717 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2718 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2719 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2720 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str2721 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2722 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2723 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2724 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2725 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2726 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2727 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2728 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2729 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2730 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2731 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2732 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2733 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2734 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2735 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str2736 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str2737 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2738 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str2739 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2740 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2741 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2742 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2743 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2744 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2745 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2746 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2747 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2748 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2749 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2750 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str2751 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2752 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2753 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str2754 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str2755 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str2756 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str2757 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2758 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str2759 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str2760 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str2761 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str2762 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str2763 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str2764 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str2765 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str2766 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str2767 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str2768 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str2769 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str2770 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str2771 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2772 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str2773 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str2774 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str2775 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str2776 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str2777 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str2778 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str2779 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str2780 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str2781 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str2782 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str2783 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str2784 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str2785 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str2786 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str2787 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str2788 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str2789 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str2790 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str2791 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2792 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str2793 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str2794 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str2795 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2796 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2797 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2798 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str2799 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str2800 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str2801 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str2802 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str2803 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str2804 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str2805 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str2806 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str2807 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2808 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str2809 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2810 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str2811 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str2812 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str2813 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2814 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str2815 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str2816 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2817 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2818 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2819 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2820 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2821 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2822 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2823 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2824 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2825 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str2826 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str2827 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str2828 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2829 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2830 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2831 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2832 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str2833 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2834 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2835 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2836 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str2837 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2838 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2839 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str2840 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str2841 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str2842 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str2843 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str2844 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2845 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str2846 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str2847 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str2848 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str2849 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2850 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str2851 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str2852 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str2853 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2854 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str2855 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str2856 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str2857 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str2858 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str2859 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2860 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str2861 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str2862 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str2863 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2864 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str2865 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str2866 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2867 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2868 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2869 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str2870 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2871 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2872 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2873 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2874 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2875 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2876 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str2877 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str2878 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2879 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str2880 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str2881 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str2882 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2883 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2884 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2885 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2886 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str2887 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2888 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str2889 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2890 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str2891 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str2892 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str2893 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str2894 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str2895 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str2896 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2897 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str2898 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2899 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str2900 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str2901 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str2902 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2903 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str2904 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2905 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2906 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2907 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2908 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2909 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str2910 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2911 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str2912 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2913 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2914 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2915 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2916 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str2917 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2918 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2919 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str2920 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2921 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str2922 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str2923 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str2924 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str2925 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2926 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2927 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2928 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2929 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2930 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2931 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str2932 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2933 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str2934 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2935 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str2936 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str2937 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2938 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2939 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2940 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str2941 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str2942 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str2943 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str2944 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str2945 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str2946 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str2947 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str2948 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2949 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str2950 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str2951 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str2952 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str2953 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str2954 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str2955 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2956 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2957 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str2958 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2959 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str2960 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str2961 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str2962 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str2963 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str2964 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2965 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str2966 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str2967 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2968 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2969 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2970 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str2971 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2972 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str2973 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str2974 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str2975 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str2976 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str2977 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str2978 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str2979 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str2980 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str2981 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2982 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2983 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2984 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str2985 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str2986 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str2987 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str2988 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str2989 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str2990 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str2991 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str2992 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2993 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2994 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2995 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str2996 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str2997 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2998 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str2999 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str3000 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str3001 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str3002 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str3003 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str3004 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str3005 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str3006 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str3007 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str3008 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str3009 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str3010 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str3011 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str3012 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str3013 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str3014 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str3015 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str3016 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str3017 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str3018 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str3019 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str3020 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str3021 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str3022 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str3023 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str3024 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str3025 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3026 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3027 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str3028 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3029 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str3030 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str3031 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str3032 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str3033 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str3034 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3035 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str3036 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str3037 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str3038 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str3039 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str3040 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str3041 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str3042 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str3043 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str3044 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str3045 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str3046 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3047 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str3048 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str3049 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str3050 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str3051 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str3052 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str3053 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str3054 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str3055 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str3056 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str3057 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str3058 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str3059 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str3060 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str3061 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3062 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3063 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3064 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str3065 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3066 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str3067 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str3068 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str3069 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str3070 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str3071 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str3072 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str3073 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str3074 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str3075 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str3076 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str3077 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3078 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str3079 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str3080 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3081 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str3082 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str3083 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str3084 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str3085 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str3086 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str3087 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str3088 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3089 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str3090 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str3091 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str3092 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str3093 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3094 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3095 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3096 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3097 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str3098 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3099 = private unnamed_addr constant [3 x i8] c"of\00" @.str3100 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3101 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3102 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3103 = private unnamed_addr constant [8 x i8] c"combine\00" @.str3104 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3105 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3106 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3107 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3108 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3109 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3110 = private unnamed_addr constant [3 x i8] c", \00" @.str3111 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3112 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str3113 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3114 = private unnamed_addr constant [5 x i8] c", 13\00" @.str3115 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3116 = private unnamed_addr constant [3 x i8] c", \00" @.str3117 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3118 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str3119 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3120 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3121 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3122 = private unnamed_addr constant [3 x i8] c", \00" @.str3123 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3124 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3125 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3126 = private unnamed_addr constant [3 x i8] c", \00" @.str3127 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3128 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str3129 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3130 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3131 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3132 = private unnamed_addr constant [3 x i8] c", \00" @.str3133 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3134 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str3135 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3136 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3137 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3138 = private unnamed_addr constant [3 x i8] c", \00" @.str3139 = private unnamed_addr constant [3 x i8] c"of\00" @.str3140 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3141 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str3142 = private unnamed_addr constant [2 x i8] c")\00" @.str3143 = private unnamed_addr constant [4 x i8] c"int\00" @.str3144 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3145 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3146 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str3147 = private unnamed_addr constant [2 x i8] c")\00" @.str3148 = private unnamed_addr constant [5 x i8] c"long\00" @.str3149 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3150 = private unnamed_addr constant [5 x i8] c"long\00" @.str3151 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3152 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str3153 = private unnamed_addr constant [2 x i8] c")\00" @.str3154 = private unnamed_addr constant [4 x i8] c"int\00" @.str3155 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3156 = private unnamed_addr constant [4 x i8] c"int\00" @.str3157 = private unnamed_addr constant [2 x i8] c"0\00" @.str3158 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3159 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str3160 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str3161 = private unnamed_addr constant [4 x i8] c", 6\00" @.str3162 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3163 = private unnamed_addr constant [4 x i8] c", 2\00" @.str3164 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3165 = private unnamed_addr constant [3 x i8] c", \00" @.str3166 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3167 = private unnamed_addr constant [3 x i8] c", \00" @.str3168 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3169 = private unnamed_addr constant [3 x i8] c", \00" @.str3170 = private unnamed_addr constant [4 x i8] c"int\00" @.str3171 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str3172 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3173 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str3174 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str3175 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3176 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3177 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3178 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3179 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3180 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3181 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3182 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3183 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3184 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3185 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str3186 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str3187 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str3188 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str3189 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str3190 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3191 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3192 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3193 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3194 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str3195 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str3196 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3197 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str3198 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3199 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str3200 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str3201 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3202 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3203 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3204 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3205 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3206 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3207 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3208 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3209 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3210 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3211 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str3212 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str3213 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str3214 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str3215 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str3216 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3217 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3218 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3219 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3220 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str3221 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str3222 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3223 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str3224 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3225 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str3226 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str3227 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3228 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3229 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str3230 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3231 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3232 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3233 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3234 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str3235 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str3236 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3237 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3238 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str3239 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str3240 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str3241 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str3242 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str3243 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3244 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str3245 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str3246 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str3247 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str3248 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str3249 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str3250 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str3251 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str3252 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str3253 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str3254 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str3255 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str3256 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str3257 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str3258 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3259 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str3260 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3261 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3262 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3263 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3264 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str3265 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str3266 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str3267 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3268 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3269 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3270 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str3271 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3272 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3273 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3274 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3275 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3276 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3277 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3278 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str3279 = private unnamed_addr constant [2 x i8] c")\00" @.str3280 = private unnamed_addr constant [7 x i8] c"string\00" @.str3281 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3282 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3283 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3284 = private unnamed_addr constant [2 x i8] c")\00" @.str3285 = private unnamed_addr constant [7 x i8] c"string\00" @.str3286 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3287 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str3288 = private unnamed_addr constant [2 x i8] c")\00" @.str3289 = private unnamed_addr constant [7 x i8] c"string\00" @.str3290 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3291 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3292 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3293 = private unnamed_addr constant [2 x i8] c")\00" @.str3294 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3295 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3296 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3297 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str3298 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str3299 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str3300 = private unnamed_addr constant [2 x i8] c")\00" @.str3301 = private unnamed_addr constant [7 x i8] c"string\00" @.str3302 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3303 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str3304 = private unnamed_addr constant [4 x i8] c"int\00" @.str3305 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3306 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str3307 = private unnamed_addr constant [2 x i8] c")\00" @.str3308 = private unnamed_addr constant [7 x i8] c"string\00" @.str3309 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(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 [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3313 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3314 = private unnamed_addr constant [2 x i8] c")\00" @.str3315 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3316 = 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" @.str3317 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str3318 = 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" @.str3319 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str3320 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3321 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str3322 = 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" @.str3323 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str3324 = 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" @.str3325 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str3326 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str3327 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str3328 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str3329 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str3330 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str3331 = 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" @.str3332 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str3333 = 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" @.str3334 = 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" @.str3335 = 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" @.str3336 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str3337 = 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" @.str3338 = 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" @.str3339 = 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" @.str3340 = 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" @.str3341 = 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" @.str3342 = 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" @.str3343 = 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" @.str3344 = 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" @.str3345 = 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" @.str3346 = 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" @.str3347 = 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" @.str3348 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str3349 = 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" @.str3350 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str3351 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str3352 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str3353 = 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" @.str3354 = 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" @.str3355 = 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" @.str3356 = 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" @.str3357 = 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" @.str3358 = 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" @.str3359 = 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" @.str3360 = 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" @.str3361 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str3362 = 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" @.str3363 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str3364 = 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" @.str3365 = 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" @.str3366 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str3367 = 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" @.str3368 = 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" @.str3369 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str3370 = 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" @.str3371 = 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" @.str3372 = 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" @.str3373 = 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" @.str3374 = 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" @.str3375 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str3376 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str3377 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str3378 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str3379 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str3380 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str3381 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str3382 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str3383 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str3384 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str3385 = 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" @.str3386 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str3387 = 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" @.str3388 = 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" @.str3389 = 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" @.str3390 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str3391 = 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" @.str3392 = 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" @.str3393 = 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" @.str3394 = 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" @.str3395 = 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" @.str3396 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str3397 = 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" @.str3398 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str3399 = 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" @.str3400 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str3401 = 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" @.str3402 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str3403 = 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" @.str3404 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str3405 = 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" @.str3406 = 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" @.str3407 = 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" @.str3408 = 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" @.str3409 = 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" @.str3410 = 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" @.str3411 = 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" @.str3412 = 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" @.str3413 = 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" @.str3414 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str3415 = 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" @.str3416 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str3417 = 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" @.str3418 = 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" @.str3419 = 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" @.str3420 = 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" @.str3421 = 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" @.str3422 = 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" @.str3423 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str3424 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str3425 = 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" @.str3426 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str3427 = 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" @.str3428 = 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" @.str3429 = 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" @.str3430 = 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" @.str3431 = 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" @.str3432 = 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" @.str3433 = 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" @.str3434 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str3435 = 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" @.str3436 = 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" @.str3437 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str3438 = 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" @.str3439 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str3440 = 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" @.str3441 = 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" @.str3442 = 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" @.str3443 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str3444 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str3445 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3446 = 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" @.str3447 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str3448 = 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" @.str3449 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str3450 = 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" @.str3451 = 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" @.str3452 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str3453 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str3454 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str3455 = 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" @.str3456 = 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" @.str3457 = 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" @.str3458 = 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" @.str3459 = 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" @.str3460 = 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" @.str3461 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str3462 = 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" @.str3463 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str3464 = 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" @.str3465 = 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" @.str3466 = 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" @.str3467 = 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" @.str3468 = 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" @.str3469 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str3470 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str3471 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str3472 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str3473 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str3474 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str3475 = 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" @.str3476 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str3477 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str3478 = 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" @.str3479 = 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" @.str3480 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str3481 = 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" @.str3482 = 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" @.str3483 = 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" @.str3484 = 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" @.str3485 = 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" @.str3486 = 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" @.str3487 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str3488 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3489 = 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" @.str3490 = 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" @.str3491 = 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" @.str3492 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str3493 = 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" @.str3494 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str3495 = 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" @.str3496 = 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" @.str3497 = 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" @.str3498 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str3499 = 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" @.str3500 = 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" @.str3501 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str3502 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str3503 = 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" @.str3504 = 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" @.str3505 = 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" @.str3506 = 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" @.str3507 = 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" @.str3508 = 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" @.str3509 = 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" @.str3510 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3511 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3512 = 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" @.str3513 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3514 = 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" @.str3515 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3516 = private unnamed_addr constant [4 x i8] c"new\00" @.str3517 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3518 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3519 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3520 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3521 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3522 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3523 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3524 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3525 = private unnamed_addr constant [4 x i8] c"new\00" @.str3526 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3527 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3528 = private unnamed_addr constant [7 x i8] c"string\00" @.str3529 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3530 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3531 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3532 = private unnamed_addr constant [7 x i8] c"string\00" @.str3533 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3534 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3535 = private unnamed_addr constant [7 x i8] c"string\00" @.str3536 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3537 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3538 = private unnamed_addr constant [2 x i8] c")\00" @.str3539 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3540 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3541 = private unnamed_addr constant [7 x i8] c"string\00" @.str3542 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3543 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3544 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3545 = private unnamed_addr constant [2 x i8] c")\00" @.str3546 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3547 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3548 = private unnamed_addr constant [2 x i8] c")\00" @.str3549 = private unnamed_addr constant [7 x i8] c"string\00" @.str3550 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3551 = 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" @.str3552 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3553 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3554 = 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" @.str3555 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3556 = 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" @.str3557 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3558 = 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" @.str3559 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3560 = 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" @.str3561 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3562 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3563 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3564 = 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" @.str3565 = 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" @.str3566 = 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" @.str3567 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3568 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3569 = 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" @.str3570 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3571 = 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" @.str3572 = 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" @.str3573 = 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" @.str3574 = 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" @.str3575 = 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" @.str3576 = 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" @.str3577 = 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" @.str3578 = 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" @.str3579 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3580 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3581 = 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" @.str3582 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3583 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3584 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3585 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3586 = 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" @.str3587 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3588 = 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" @.str3589 = 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" @.str3590 = 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" @.str3591 = 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" @.str3592 = 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" @.str3593 = 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" @.str3594 = 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" @.str3595 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3596 = 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" @.str3597 = 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" @.str3598 = 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" @.str3599 = 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" @.str3600 = 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" @.str3601 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3602 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3603 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3604 = 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" @.str3605 = 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" @.str3606 = 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" @.str3607 = 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" @.str3608 = 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" @.str3609 = 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" @.str3610 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3611 = 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" @.str3612 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3613 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str3614 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str3615 = 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" @.str3616 = 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" @.str3617 = 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" @.str3618 = 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" @.str3619 = 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" @.str3620 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str3621 = 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" @.str3622 = 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" @.str3623 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str3624 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3625 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3626 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3627 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3628 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3629 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str3630 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3631 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3632 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str3633 = private unnamed_addr constant [4 x i8] c", 1\00" @.str3634 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3635 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str3636 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3637 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3638 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str3639 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3640 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3641 = private unnamed_addr constant [2 x i8] c")\00" @.str3642 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3643 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3644 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str3645 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3646 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3647 = private unnamed_addr constant [2 x i8] c")\00" @.str3648 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3649 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3650 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str3651 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3652 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3653 = private unnamed_addr constant [2 x i8] c")\00" @.str3654 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3655 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3656 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str3657 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3658 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3659 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3660 = private unnamed_addr constant [2 x i8] c")\00" @.str3661 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3662 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3663 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str3664 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3665 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3666 = private unnamed_addr constant [2 x i8] c")\00" @.str3667 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3668 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str3669 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3670 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3671 = private unnamed_addr constant [2 x i8] c")\00" @.str3672 = private unnamed_addr constant [4 x i8] c"int\00" @.str3673 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str3674 = 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" @.str3675 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str3676 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str3677 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3678 = 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" @.str3679 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str3680 = 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" @.str3681 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str3682 = 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" @.str3683 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str3684 = 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" @.str3685 = 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" @.str3686 = 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" @.str3687 = 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" @.str3688 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str3689 = 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" @.str3690 = 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" @.str3691 = 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" @.str3692 = 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" @.str3693 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3694 = 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" @.str3695 = 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" @.str3696 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3697 = 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" @.str3698 = 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" @.str3699 = 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" @.str3700 = 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" @.str3701 = 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" @.str3702 = 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" @.str3703 = 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" @.str3704 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3705 = 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" @.str3706 = 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" @.str3707 = 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" @.str3708 = 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" @.str3709 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3710 = 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" @.str3711 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str3712 = 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" @.str3713 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3714 = 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" @.str3715 = 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" @.str3716 = 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" @.str3717 = 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" @.str3718 = 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" @.str3719 = 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" @.str3720 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3721 = 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" @.str3722 = 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" @.str3723 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3724 = 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" @.str3725 = 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" @.str3726 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3727 = 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" @.str3728 = 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" @.str3729 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str3730 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str3731 = 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" @.str3732 = 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" @.str3733 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str3734 = 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" @.str3735 = 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" @.str3736 = 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" @.str3737 = 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" @.str3738 = 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" @.str3739 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str3740 = 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" @.str3741 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str3742 = 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" @.str3743 = 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" @.str3744 = 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" @.str3745 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str3746 = 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" @.str3747 = 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" @.str3748 = 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" @.str3749 = 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" @.str3750 = 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" @.str3751 = 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" @.str3752 = 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" @.str3753 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str3754 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str3755 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str3756 = 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" @.str3757 = 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" @.str3758 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str3759 = 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" @.str3760 = 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" @.str3761 = 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" @.str3762 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str3763 = 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" @.str3764 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str3765 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str3766 = 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" @.str3767 = 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" @.str3768 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str3769 = 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" @.str3770 = 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" @.str3771 = 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" @.str3772 = 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" @.str3773 = 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" @.str3774 = 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" @.str3775 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(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 [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" @.str3778 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3779 = 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" @.str3780 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str3781 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3782 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3783 = private unnamed_addr constant [5 x i8] c"info\00" @.str3784 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3785 = private unnamed_addr constant [6 x i8] c"error\00" @.str3786 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3787 = private unnamed_addr constant [6 x i8] c"level\00" @.str3788 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str3789 = private unnamed_addr constant [4 x i8] c"i64\00" @.str3790 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str3791 = private unnamed_addr constant [2 x i8] c")\00" @.str3792 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str3793 = private unnamed_addr constant [2 x i8] c")\00" @.str3794 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3795 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str3796 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str3797 = private unnamed_addr constant [2 x i8] c"0\00" @.str3798 = private unnamed_addr constant [5 x i8] c"void\00" @.str3799 = private unnamed_addr constant [6 x i8] c"level\00" @.str3800 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str3801 = private unnamed_addr constant [4 x i8] c"int\00" @.str3802 = private unnamed_addr constant [2 x i8] c"2\00" @.str3803 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str3804 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3805 = private unnamed_addr constant [2 x i8] c"0\00" @.str3806 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str3807 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3808 = private unnamed_addr constant [2 x i8] c"1\00" @.str3809 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str3810 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3811 = private unnamed_addr constant [2 x i8] c"3\00" @.str3812 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str3813 = private unnamed_addr constant [6 x i8] c"error\00" @.str3814 = private unnamed_addr constant [2 x i8] c"4\00" @.str3815 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str3816 = private unnamed_addr constant [7 x i8] c"string\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 [2 x i8] c" \00" @.str3821 = private unnamed_addr constant [7 x i8] c"string\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 [2 x i8] c"=\00" @.str3826 = private unnamed_addr constant [7 x i8] c"string\00" @.str3827 = private unnamed_addr constant [2 x i8] c"+\00" @.str3828 = private unnamed_addr constant [7 x i8] c"string\00" @.str3829 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str3830 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3831 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3832 = private unnamed_addr constant [2 x i8] c"0\00" @.str3833 = private unnamed_addr constant [5 x i8] c"void\00" @.str3834 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str3835 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str3836 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str3837 = 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" @.str3838 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str3839 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3840 = 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" @.str3841 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str3842 = private unnamed_addr constant [5 x i8] c"args\00" @.str3843 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3844 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3845 = private unnamed_addr constant [4 x i8] c"env\00" @.str3846 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3847 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3848 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3849 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3850 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3851 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3852 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3853 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3854 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3855 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3856 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3857 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3858 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3859 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str3860 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3861 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str3862 = private unnamed_addr constant [4 x i8] c"int\00" @.str3863 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3864 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str3865 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str3866 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3867 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3868 = private unnamed_addr constant [7 x i8] c"string\00" @.str3869 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3870 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str3871 = private unnamed_addr constant [4 x i8] c"int\00" @.str3872 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3873 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str3874 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3875 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str3876 = private unnamed_addr constant [2 x i8] c"0\00" @.str3877 = private unnamed_addr constant [5 x i8] c"void\00" @.str3878 = private unnamed_addr constant [4 x i8] c"env\00" @.str3879 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3880 = private unnamed_addr constant [2 x i8] c")\00" @.str3881 = private unnamed_addr constant [7 x i8] c"string\00" @.str3882 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3883 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3884 = private unnamed_addr constant [2 x i8] c")\00" @.str3885 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str3886 = private unnamed_addr constant [7 x i8] c", null\00" @.str3887 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3888 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3889 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3890 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3891 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3892 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3893 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3894 = private unnamed_addr constant [2 x i8] c")\00" @.str3895 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str3896 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str3897 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3898 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3899 = private unnamed_addr constant [2 x i8] c"0\00" @.str3900 = private unnamed_addr constant [5 x i8] c"void\00" @.str3901 = private unnamed_addr constant [5 x i8] c"args\00" @.str3902 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str3903 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3904 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3905 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str3906 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3907 = private unnamed_addr constant [2 x i8] c")\00" @.str3908 = private unnamed_addr constant [7 x i8] c"string\00" @.str3909 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3910 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str3911 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3912 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3913 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3914 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3915 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3916 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3917 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3918 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3919 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str3920 = private unnamed_addr constant [2 x i8] c")\00" @.str3921 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3922 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3923 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3924 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3925 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3926 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3927 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str3928 = private unnamed_addr constant [7 x i8] c"string\00" @.str3929 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3930 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str3931 = private unnamed_addr constant [7 x i8] c"string\00" @.str3932 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3933 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str3934 = private unnamed_addr constant [2 x i8] c")\00" @.str3935 = private unnamed_addr constant [7 x i8] c"string\00" @.str3936 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3937 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str3938 = private unnamed_addr constant [2 x i8] c")\00" @.str3939 = private unnamed_addr constant [7 x i8] c"string\00" @.str3940 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3941 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str3942 = private unnamed_addr constant [2 x i8] c")\00" @.str3943 = private unnamed_addr constant [7 x i8] c"string\00" @.str3944 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str3945 = private unnamed_addr constant [7 x i8] c"string\00" @.str3946 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str3947 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str3948 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str3949 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str3950 = private unnamed_addr constant [2 x i8] c".\00" @.str3951 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str3952 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str3953 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3954 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3955 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str3956 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str3957 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str3958 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str3959 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str3960 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str3961 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str3962 = private unnamed_addr constant [2 x i8] c"/\00" @.str3963 = private unnamed_addr constant [6 x i8] c"macos\00" @.str3964 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str3965 = private unnamed_addr constant [6 x i8] c"linux\00" @.str3966 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str3967 = 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" @.str3968 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str3969 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str3970 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str3971 = 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" @.str3972 = 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" @.str3973 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str3974 = 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" @.str3975 = 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" @.str3976 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str3977 = 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" @.str3978 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3979 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3980 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3981 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str3982 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str3983 = 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" @.str3984 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str3985 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3986 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3987 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str3988 = 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" @.str3989 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str3990 = 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" @.str3991 = 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" @.str3992 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str3993 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str3994 = 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" @.str3995 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str3996 = 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" @.str3997 = 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" @.str3998 = 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" @.str3999 = 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" @.str4000 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4001 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4002 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4003 = 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" @.str4004 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4005 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4006 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4007 = 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" @.str4008 = private unnamed_addr constant [7 x i8] c", 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 [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4012 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4013 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4014 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4015 = 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" @.str4016 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4017 = 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" @.str4018 = 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" @.str4019 = 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" @.str4020 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4021 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str4022 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4023 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str4024 = 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" @.str4025 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str4026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4027 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str4028 = 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" @.str4029 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str4030 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4031 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str4032 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str4033 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4034 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str4035 = private unnamed_addr constant [4 x i8] c"len\00" @.str4036 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4037 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4038 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4039 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4040 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4041 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4042 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4043 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str4044 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4045 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str4046 = private unnamed_addr constant [2 x i8] c")\00" @.str4047 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str4048 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4049 = private unnamed_addr constant [4 x i8] c"int\00" @.str4050 = private unnamed_addr constant [4 x i8] c"len\00" @.str4051 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str4052 = private unnamed_addr constant [2 x i8] c")\00" @.str4053 = private unnamed_addr constant [4 x i8] c"int\00" @.str4054 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4055 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str4056 = private unnamed_addr constant [2 x i8] c")\00" @.str4057 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4058 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4059 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str4060 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4061 = private unnamed_addr constant [2 x i8] c")\00" @.str4062 = private unnamed_addr constant [4 x i8] c"int\00" @.str4063 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4064 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str4065 = private unnamed_addr constant [2 x i8] c")\00" @.str4066 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4067 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4068 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4069 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str4070 = private unnamed_addr constant [7 x i8] c"string\00" @.str4071 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4072 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4073 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str4074 = private unnamed_addr constant [7 x i8] c"string\00" @.str4075 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4076 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str4077 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4078 = private unnamed_addr constant [2 x i8] c")\00" @.str4079 = private unnamed_addr constant [7 x i8] c"string\00" @.str4080 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str4081 = private unnamed_addr constant [2 x i8] c")\00" @.str4082 = private unnamed_addr constant [4 x i8] c"int\00" @.str4083 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str4084 = 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" @.str4085 = 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" @.str4086 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4087 = 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" @.str4088 = 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" @.str4089 = 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" @.str4090 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4091 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str4092 = 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" @.str4093 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str4094 = 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" @.str4095 = 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" @.str4096 = 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" @.str4097 = 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" @.str4098 = 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" @.str4099 = 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" @.str4100 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str4101 = 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" @.str4102 = 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" @.str4103 = 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" @.str4104 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str4105 = 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" @.str4106 = 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" @.str4107 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str4108 = 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" @.str4109 = 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" @.str4110 = 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" @.str4111 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str4112 = 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" @.str4113 = 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" @.str4114 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str4115 = 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" @.str4116 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str4117 = 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" @.str4118 = 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" @.str4119 = 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" @.str4120 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str4121 = 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" @.str4122 = 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" @.str4123 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str4124 = 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" @.str4125 = 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" @.str4126 = 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" @.str4127 = 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" @.str4128 = 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" @.str4129 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4130 = 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" @.str4131 = 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" @.str4132 = 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" @.str4133 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str4134 = 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" @.str4135 = 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" @.str4136 = 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" @.str4137 = 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" @.str4138 = 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" @.str4139 = 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" @.str4140 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str4141 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str4142 = 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" @.str4143 = 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" @.str4144 = 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" @.str4145 = 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" @.str4146 = 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" @.str4147 = 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" @.str4148 = 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" @.str4149 = 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" @.str4150 = 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" @.str4151 = 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" @.str4152 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str4153 = 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" @.str4154 = 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" @.str4155 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str4156 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str4157 = 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" @.str4158 = 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" @.str4159 = 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" @.str4160 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str4161 = 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" @.str4162 = 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" @.str4163 = 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" @.str4164 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str4165 = 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" @.str4166 = 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" @.str4167 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str4168 = 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" @.str4169 = 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" @.str4170 = 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" @.str4171 = 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" @.str4172 = 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" @.str4173 = 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" @.str4174 = 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" @.str4175 = 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" @.str4176 = 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" @.str4177 = 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" @.str4178 = 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" @.str4179 = 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" @.str4180 = 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" @.str4181 = 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" @.str4182 = 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" @.str4183 = 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" @.str4184 = 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" @.str4185 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str4186 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str4187 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str4188 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str4189 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str4190 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str4191 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str4192 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str4193 = 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" @.str4194 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str4195 = 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" @.str4196 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str4197 = 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" @.str4198 = 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" @.str4199 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str4200 = 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" @.str4201 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str4202 = 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" @.str4203 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str4204 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str4205 = 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" @.str4206 = 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" @.str4207 = 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" @.str4208 = 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" @.str4209 = 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" @.str4210 = 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" @.str4211 = 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" @.str4212 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4213 = 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" @.str4214 = 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" @.str4215 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str4216 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str4217 = 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" @.str4218 = 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" @.str4219 = 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" @.str4220 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4221 = 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" @.str4222 = 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" @.str4223 = 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" @.str4224 = 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" @.str4225 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str4226 = 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" @.str4227 = 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" @.str4228 = 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" @.str4229 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str4230 = 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" @.str4231 = 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" @.str4232 = 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" @.str4233 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str4234 = 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" @.str4235 = 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" @.str4236 = 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" @.str4237 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4238 = 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" @.str4239 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str4240 = 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" @.str4241 = 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" @.str4242 = 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" @.str4243 = 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" @.str4244 = 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" @.str4245 = 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" @.str4246 = 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" @.str4247 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4248 = 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" @.str4249 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4250 = 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" @.str4251 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4252 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4253 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4254 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4255 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4256 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4257 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4258 = private unnamed_addr constant [5 x i8] c"size\00" @.str4259 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4260 = private unnamed_addr constant [5 x i8] c"copy\00" @.str4261 = private unnamed_addr constant [5 x i8] c"list\00" @.str4262 = private unnamed_addr constant [5 x i8] c"join\00" @.str4263 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4264 = private unnamed_addr constant [5 x i8] c"base\00" @.str4265 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4266 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4267 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4268 = private unnamed_addr constant [3 x i8] c"of\00" @.str4269 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4270 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4271 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str4272 = private unnamed_addr constant [2 x i8] c")\00" @.str4273 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4274 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4275 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str4276 = private unnamed_addr constant [2 x i8] c")\00" @.str4277 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4278 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4279 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str4280 = private unnamed_addr constant [2 x i8] c")\00" @.str4281 = private unnamed_addr constant [7 x i8] c"string\00" @.str4282 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4283 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str4284 = private unnamed_addr constant [2 x i8] c")\00" @.str4285 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4286 = private unnamed_addr constant [5 x i8] c"size\00" @.str4287 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str4288 = private unnamed_addr constant [2 x i8] c")\00" @.str4289 = private unnamed_addr constant [4 x i8] c"int\00" @.str4290 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4291 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str4292 = private unnamed_addr constant [2 x i8] c")\00" @.str4293 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4294 = private unnamed_addr constant [5 x i8] c"list\00" @.str4295 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str4296 = private unnamed_addr constant [2 x i8] c")\00" @.str4297 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4298 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4299 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str4300 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4301 = private unnamed_addr constant [2 x i8] c")\00" @.str4302 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4303 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4304 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str4305 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4306 = private unnamed_addr constant [2 x i8] c")\00" @.str4307 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4308 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str4309 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4310 = private unnamed_addr constant [2 x i8] c")\00" @.str4311 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4312 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4313 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str4314 = private unnamed_addr constant [2 x i8] c")\00" @.str4315 = private unnamed_addr constant [7 x i8] c"string\00" @.str4316 = private unnamed_addr constant [5 x i8] c"base\00" @.str4317 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str4318 = private unnamed_addr constant [2 x i8] c")\00" @.str4319 = private unnamed_addr constant [7 x i8] c"string\00" @.str4320 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4321 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str4322 = private unnamed_addr constant [2 x i8] c")\00" @.str4323 = private unnamed_addr constant [7 x i8] c"string\00" @.str4324 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4325 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str4326 = private unnamed_addr constant [2 x i8] c")\00" @.str4327 = private unnamed_addr constant [7 x i8] c"string\00" @.str4328 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4329 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str4330 = private unnamed_addr constant [2 x i8] c")\00" @.str4331 = private unnamed_addr constant [7 x i8] c"string\00" @.str4332 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str4333 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4334 = private unnamed_addr constant [2 x i8] c")\00" @.str4335 = private unnamed_addr constant [7 x i8] c"string\00" @.str4336 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4337 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(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"call ptr @lp_mime_of(ptr \00" @.str4341 = private unnamed_addr constant [2 x i8] c")\00" @.str4342 = private unnamed_addr constant [7 x i8] c"string\00" @.str4343 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str4344 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str4345 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str4346 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str4347 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str4348 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str4349 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str4350 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str4351 = 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" @.str4352 = 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" @.str4353 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str4354 = 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" @.str4355 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str4356 = 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" @.str4357 = 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" @.str4358 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4359 = 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" @.str4360 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str4361 = 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" @.str4362 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str4363 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str4364 = 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" @.str4365 = 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" @.str4366 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str4367 = 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" @.str4368 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str4369 = 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" @.str4370 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str4371 = 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" @.str4372 = 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" @.str4373 = 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" @.str4374 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str4375 = 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" @.str4376 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str4377 = 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" @.str4378 = 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" @.str4379 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str4380 = 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" @.str4381 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str4382 = 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" @.str4383 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str4384 = 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" @.str4385 = 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" @.str4386 = 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" @.str4387 = 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" @.str4388 = 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" @.str4389 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str4390 = 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" @.str4391 = 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" @.str4392 = 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" @.str4393 = 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" @.str4394 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str4395 = 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" @.str4396 = 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" @.str4397 = 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" @.str4398 = 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" @.str4399 = 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" @.str4400 = 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" @.str4401 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str4402 = 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" @.str4403 = 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" @.str4404 = 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" @.str4405 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str4406 = 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" @.str4407 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str4408 = 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" @.str4409 = 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" @.str4410 = 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" @.str4411 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str4412 = 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" @.str4413 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str4414 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str4415 = 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" @.str4416 = 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" @.str4417 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str4418 = 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" @.str4419 = 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" @.str4420 = 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" @.str4421 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str4422 = 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" @.str4423 = 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" @.str4424 = 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" @.str4425 = 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" @.str4426 = 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" @.str4427 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str4428 = 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" @.str4429 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str4430 = 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" @.str4431 = 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" @.str4432 = 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" @.str4433 = 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" @.str4434 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str4435 = 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" @.str4436 = 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" @.str4437 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str4438 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str4439 = 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" @.str4440 = 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" @.str4441 = 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" @.str4442 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str4443 = 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" @.str4444 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str4445 = 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" @.str4446 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str4447 = 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" @.str4448 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str4449 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4450 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str4451 = 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" @.str4452 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str4453 = 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" @.str4454 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str4455 = 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" @.str4456 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str4457 = 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" @.str4458 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str4459 = 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" @.str4460 = 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" @.str4461 = 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" @.str4462 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str4463 = 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" @.str4464 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str4465 = 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" @.str4466 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4467 = 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" @.str4468 = 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" @.str4469 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str4470 = 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" @.str4471 = 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" @.str4472 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str4473 = 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" @.str4474 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4475 = 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" @.str4476 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str4477 = 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" @.str4478 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str4479 = 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" @.str4480 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4481 = 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" @.str4482 = 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" @.str4483 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str4484 = 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" @.str4485 = 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" @.str4486 = 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" @.str4487 = 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" @.str4488 = 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" @.str4489 = 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" @.str4490 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str4491 = 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" @.str4492 = 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" @.str4493 = 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" @.str4494 = 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" @.str4495 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str4496 = 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" @.str4497 = 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" @.str4498 = 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" @.str4499 = 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" @.str4500 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str4501 = 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" @.str4502 = 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" @.str4503 = 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" @.str4504 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str4505 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str4506 = 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" @.str4507 = 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" @.str4508 = 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" @.str4509 = 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" @.str4510 = 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" @.str4511 = 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" @.str4512 = 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" @.str4513 = 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" @.str4514 = private unnamed_addr constant [4 x i8] c"png\00" @.str4515 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str4516 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str4517 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4518 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str4519 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4520 = private unnamed_addr constant [4 x i8] c"gif\00" @.str4521 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str4522 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str4523 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str4524 = private unnamed_addr constant [5 x i8] c"webp\00" @.str4525 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str4526 = private unnamed_addr constant [4 x i8] c"svg\00" @.str4527 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str4528 = private unnamed_addr constant [4 x i8] c"txt\00" @.str4529 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str4530 = private unnamed_addr constant [3 x i8] c"md\00" @.str4531 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str4532 = private unnamed_addr constant [4 x i8] c"csv\00" @.str4533 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str4534 = private unnamed_addr constant [5 x i8] c"html\00" @.str4535 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4536 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4537 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4538 = private unnamed_addr constant [4 x i8] c"css\00" @.str4539 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4540 = private unnamed_addr constant [3 x i8] c"js\00" @.str4541 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4542 = private unnamed_addr constant [5 x i8] c"json\00" @.str4543 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4544 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4545 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4546 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4547 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4548 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4549 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4550 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4551 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4552 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4553 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4554 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4555 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4556 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4557 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4558 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4559 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4560 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str4561 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str4562 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str4563 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str4564 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str4565 = private unnamed_addr constant [3 x i8] c", \00" @.str4566 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str4567 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4568 = private unnamed_addr constant [3 x i8] c" }\00" @.str4569 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4570 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str4571 = 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" @.str4572 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str4573 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str4574 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str4575 = 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" @.str4576 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str4577 = 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" @.str4578 = 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" @.str4579 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str4580 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str4581 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str4582 = 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" @.str4583 = 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" @.str4584 = 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" @.str4585 = 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" @.str4586 = 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" @.str4587 = 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" @.str4588 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str4589 = 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" @.str4590 = 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" @.str4591 = 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" @.str4592 = 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" @.str4593 = 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" @.str4594 = 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" @.str4595 = 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" @.str4596 = 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" @.str4597 = 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" @.str4598 = 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" @.str4599 = 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" @.str4600 = 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" @.str4601 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4602 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str4603 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str4604 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str4605 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str4606 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4607 = 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" @.str4608 = 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" @.str4609 = 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" @.str4610 = 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" @.str4611 = 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" @.str4612 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str4613 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str4614 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str4615 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str4616 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str4617 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str4618 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str4619 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4620 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str4621 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str4622 = 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" @.str4623 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str4624 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str4625 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str4626 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str4627 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str4628 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str4629 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str4630 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str4631 = private unnamed_addr constant [33 x i8] c"declare void @app_window_hide()\0A\00" @.str4632 = private unnamed_addr constant [33 x i8] c"declare void @app_window_show()\0A\00" @.str4633 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str4634 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str4635 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str4636 = 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" @.str4637 = 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" @.str4638 = 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" @.str4639 = 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" @.str4640 = 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" @.str4641 = 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" @.str4642 = 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" @.str4643 = 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" @.str4644 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str4645 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4646 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str4647 = 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" @.str4648 = 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" @.str4649 = 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" @.str4650 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str4651 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str4652 = 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" @.str4653 = 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" @.str4654 = 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" @.str4655 = 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" @.str4656 = 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" @.str4657 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str4658 = 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" @.str4659 = 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" @.str4660 = 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" @.str4661 = 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" @.str4662 = 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" @.str4663 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4664 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str4665 = 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" @.str4666 = 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" @.str4667 = 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" @.str4668 = 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" @.str4669 = 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" @.str4670 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str4671 = 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" @.str4672 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4673 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str4674 = 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" @.str4675 = 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" @.str4676 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str4677 = 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" @.str4678 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str4679 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str4680 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4681 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str4682 = 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" @.str4683 = 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" @.str4684 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str4685 = 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" @.str4686 = 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" @.str4687 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str4688 = 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" @.str4689 = 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" @.str4690 = 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" @.str4691 = 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" @.str4692 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str4693 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str4694 = 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" @.str4695 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str4696 = 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" @.str4697 = 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" @.str4698 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str4699 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str4700 = 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" @.str4701 = 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" @.str4702 = 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" @.str4703 = 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" @.str4704 = 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" @.str4705 = 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" @.str4706 = 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" @.str4707 = 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" @.str4708 = 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" @.str4709 = 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" @.str4710 = 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" @.str4711 = 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" @.str4712 = 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" @.str4713 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str4714 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4715 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str4716 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str4717 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str4718 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str4719 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str4720 = 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" @.str4721 = 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" @.str4722 = 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" @.str4723 = 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" @.str4724 = 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" @.str4725 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4726 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str4727 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str4728 = 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" @.str4729 = 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" @.str4730 = 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" @.str4731 = 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" @.str4732 = 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" @.str4733 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str4734 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str4735 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str4736 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4737 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str4738 = 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" @.str4739 = 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" @.str4740 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str4741 = 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" @.str4742 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str4743 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4744 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str4745 = 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" @.str4746 = 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" @.str4747 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str4748 = 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" @.str4749 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str4750 = 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" @.str4751 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str4752 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4753 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str4754 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str4755 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str4756 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str4757 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str4758 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str4759 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str4760 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str4761 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str4762 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str4763 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str4764 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str4765 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str4766 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str4767 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str4768 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str4769 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str4770 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str4771 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str4772 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str4773 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str4774 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str4775 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str4776 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str4777 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str4778 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str4779 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str4780 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str4781 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str4782 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str4783 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str4784 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str4785 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4786 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str4787 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4788 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str4789 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str4790 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str4791 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str4792 = 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" @.str4793 = 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" @.str4794 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str4795 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str4796 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str4797 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str4798 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str4799 = 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" @.str4800 = 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" @.str4801 = 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" @.str4802 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str4803 = 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" @.str4804 = 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" @.str4805 = 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" @.str4806 = 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" @.str4807 = 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" @.str4808 = 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" @.str4809 = 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" @.str4810 = 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" @.str4811 = 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" @.str4812 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str4813 = 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" @.str4814 = 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" @.str4815 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str4816 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4817 = 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" @.str4818 = 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" @.str4819 = 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" @.str4820 = 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" @.str4821 = 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" @.str4822 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str4823 = 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" @.str4824 = 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" @.str4825 = 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" @.str4826 = 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" @.str4827 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" @.str4828 = 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" @.str4829 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str4830 = 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" @.str4831 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str4832 = 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" @.str4833 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str4834 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str4835 = 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" @.str4836 = 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" @.str4837 = 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" @.str4838 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str4839 = 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" @.str4840 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str4841 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str4842 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str4843 = 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" @.str4844 = 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" @.str4845 = 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" @.str4846 = 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" @.str4847 = 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" @.str4848 = 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" @.str4849 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str4850 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str4851 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str4852 = 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" @.str4853 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str4854 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str4855 = 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" @.str4856 = 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" @.str4857 = 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" @.str4858 = 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" @.str4859 = 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" @.str4860 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str4861 = 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" @.str4862 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str4863 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str4864 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str4865 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str4866 = private unnamed_addr constant [1 x i8] c"\00" @.str4867 = private unnamed_addr constant [8 x i8] c"windows\00" @.str4868 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str4869 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4870 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4871 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4872 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str4873 = 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" @.str4874 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str4875 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str4876 = 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" @.str4877 = 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" @.str4878 = 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" @.str4879 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4880 = 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" @.str4881 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4882 = 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" @.str4883 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4884 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str4885 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4886 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str4887 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str4888 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str4889 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4890 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str4891 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4892 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4893 = 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" @.str4894 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4895 = 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" @.str4896 = 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" @.str4897 = 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" @.str4898 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4899 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4900 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4901 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4902 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4903 = private unnamed_addr constant [4 x i8] c"len\00" @.str4904 = private unnamed_addr constant [5 x i8] c"push\00" @.str4905 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4906 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4907 = private unnamed_addr constant [6 x i8] c"first\00" @.str4908 = private unnamed_addr constant [5 x i8] c"last\00" @.str4909 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4910 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4911 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4912 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4913 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str4914 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4915 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4916 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4917 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4918 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4919 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4920 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4921 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4922 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4923 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4924 = private unnamed_addr constant [3 x i8] c", \00" @.str4925 = private unnamed_addr constant [3 x i8] c"ig\00" @.str4926 = private unnamed_addr constant [4 x i8] c"igd\00" @.str4927 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4928 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4929 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4930 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4931 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4932 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4933 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4934 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4935 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4936 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4937 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str4938 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4939 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4940 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4941 = private unnamed_addr constant [3 x i8] c", \00" @.str4942 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4943 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str4944 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str4945 = private unnamed_addr constant [2 x i8] c")\00" @.str4946 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str4947 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4949 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4950 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4952 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4953 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4954 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4955 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4956 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4957 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4958 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4959 = private unnamed_addr constant [2 x i8] c" \00" @.str4960 = private unnamed_addr constant [3 x i8] c", \00" @.str4961 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str4962 = private unnamed_addr constant [2 x i8] c"(\00" @.str4963 = private unnamed_addr constant [2 x i8] c" \00" @.str4964 = private unnamed_addr constant [3 x i8] c", \00" @.str4965 = private unnamed_addr constant [2 x i8] c" \00" @.str4966 = private unnamed_addr constant [2 x i8] c")\00" @.str4967 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4968 = private unnamed_addr constant [4 x i8] c", 0\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 [6 x i8] c"call \00" @.str4975 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4976 = private unnamed_addr constant [2 x i8] c"(\00" @.str4977 = private unnamed_addr constant [2 x i8] c" \00" @.str4978 = private unnamed_addr constant [2 x i8] c")\00" @.str4979 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4980 = private unnamed_addr constant [2 x i8] c" \00" @.str4981 = private unnamed_addr constant [3 x i8] c", \00" @.str4982 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4983 = private unnamed_addr constant [2 x i8] c" \00" @.str4984 = private unnamed_addr constant [3 x i8] c", \00" @.str4985 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4986 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4987 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4988 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4989 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4990 = private unnamed_addr constant [3 x i8] c", \00" @.str4991 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str4992 = private unnamed_addr constant [2 x i8] c")\00" @.str4993 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4994 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4995 = private unnamed_addr constant [2 x i8] c"1\00" @.str4996 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str4997 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str4998 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str4999 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5001 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5002 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5003 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5004 = private unnamed_addr constant [3 x i8] c", \00" @.str5005 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5006 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5007 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5008 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5009 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5010 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5011 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5012 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5013 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5014 = private unnamed_addr constant [2 x i8] c"0\00" @.str5015 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str5016 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str5017 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str5018 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5019 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5020 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5021 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5022 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5023 = private unnamed_addr constant [3 x i8] c", \00" @.str5024 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5025 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5026 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5027 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5028 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5029 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5030 = private unnamed_addr constant [3 x i8] c", \00" @.str5031 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5032 = private unnamed_addr constant [3 x i8] c", \00" @.str5033 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5034 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5035 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5036 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5037 = private unnamed_addr constant [3 x i8] c", \00" @.str5038 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5039 = private unnamed_addr constant [3 x i8] c", \00" @.str5040 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5041 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5042 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5043 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5044 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5045 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5046 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5047 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5048 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5049 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str5050 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str5051 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str5052 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5053 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5054 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5055 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5056 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5057 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5058 = private unnamed_addr constant [3 x i8] c", \00" @.str5059 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5060 = private unnamed_addr constant [3 x i8] c", \00" @.str5061 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5062 = private unnamed_addr constant [3 x i8] c", \00" @.str5063 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5064 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5065 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5067 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5068 = private unnamed_addr constant [6 x i8] c"load \00" @.str5069 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5070 = private unnamed_addr constant [6 x i8] c"load \00" @.str5071 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5072 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5073 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str5074 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str5075 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str5076 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5077 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5078 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5079 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5080 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5081 = private unnamed_addr constant [9 x i8] c" store \00" @.str5082 = private unnamed_addr constant [2 x i8] c" \00" @.str5083 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5084 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5085 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5086 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5087 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5088 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5089 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5090 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5091 = private unnamed_addr constant [9 x i8] c" store \00" @.str5092 = private unnamed_addr constant [2 x i8] c" \00" @.str5093 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5095 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5096 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5097 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5098 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5099 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5100 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5101 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5102 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5103 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5104 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5105 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5106 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5107 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str5108 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str5109 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str5110 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5112 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5113 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5114 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5115 = private unnamed_addr constant [3 x i8] c", \00" @.str5116 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5117 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5118 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5119 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5120 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5121 = private unnamed_addr constant [6 x i8] c"load \00" @.str5122 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5123 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5124 = private unnamed_addr constant [9 x i8] c" store \00" @.str5125 = private unnamed_addr constant [2 x i8] c" \00" @.str5126 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5128 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5129 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5130 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5131 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5132 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5133 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5134 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5135 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5136 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5137 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str5138 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str5139 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str5140 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5141 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5142 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5143 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5144 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5145 = private unnamed_addr constant [3 x i8] c", \00" @.str5146 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5147 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5148 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5149 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5150 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5151 = private unnamed_addr constant [6 x i8] c"load \00" @.str5152 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5153 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5154 = private unnamed_addr constant [9 x i8] c" store \00" @.str5155 = private unnamed_addr constant [2 x i8] c" \00" @.str5156 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5158 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5159 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5160 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5161 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5162 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5163 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5164 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5165 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5166 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5167 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5168 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5169 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str5170 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str5171 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str5172 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5173 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5174 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5175 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5176 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5177 = private unnamed_addr constant [3 x i8] c", \00" @.str5178 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5179 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5180 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5181 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5182 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5183 = private unnamed_addr constant [6 x i8] c"load \00" @.str5184 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5185 = private unnamed_addr constant [9 x i8] c" store \00" @.str5186 = private unnamed_addr constant [2 x i8] c" \00" @.str5187 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5188 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5189 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5190 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5191 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5192 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5194 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5195 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5196 = private unnamed_addr constant [3 x i8] c", \00" @.str5197 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5198 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5199 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5200 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5201 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5202 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5203 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5204 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5205 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str5206 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5207 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5208 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str5209 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5210 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str5211 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5212 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str5213 = private unnamed_addr constant [2 x i8] c"'\00" @.str5214 = private unnamed_addr constant [4 x i8] c"len\00" @.str5215 = private unnamed_addr constant [5 x i8] c"push\00" @.str5216 = private unnamed_addr constant [7 x i8] c"sample\00" @.str5217 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str5218 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str5219 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str5220 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5221 = private unnamed_addr constant [2 x i8] c")\00" @.str5222 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5223 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5224 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str5225 = private unnamed_addr constant [6 x i8] c"clear\00" @.str5226 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str5227 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5228 = private unnamed_addr constant [2 x i8] c"0\00" @.str5229 = private unnamed_addr constant [5 x i8] c"void\00" @.str5230 = private unnamed_addr constant [6 x i8] c"first\00" @.str5231 = private unnamed_addr constant [2 x i8] c"0\00" @.str5232 = private unnamed_addr constant [6 x i8] c"load \00" @.str5233 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5234 = private unnamed_addr constant [5 x i8] c"last\00" @.str5235 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5236 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5237 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5238 = private unnamed_addr constant [6 x i8] c"load \00" @.str5239 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5240 = private unnamed_addr constant [4 x i8] c"pop\00" @.str5241 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5242 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5243 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5244 = private unnamed_addr constant [6 x i8] c"load \00" @.str5245 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5246 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5247 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5248 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5249 = private unnamed_addr constant [5 x i8] c"swap\00" @.str5250 = private unnamed_addr constant [6 x i8] c"load \00" @.str5251 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5252 = private unnamed_addr constant [6 x i8] c"load \00" @.str5253 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5254 = private unnamed_addr constant [9 x i8] c" store \00" @.str5255 = private unnamed_addr constant [2 x i8] c" \00" @.str5256 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5258 = private unnamed_addr constant [9 x i8] c" store \00" @.str5259 = private unnamed_addr constant [2 x i8] c" \00" @.str5260 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5261 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5262 = private unnamed_addr constant [2 x i8] c"0\00" @.str5263 = private unnamed_addr constant [5 x i8] c"void\00" @.str5264 = private unnamed_addr constant [9 x i8] c"contains\00" @.str5265 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5266 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5267 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5268 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5269 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5270 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5271 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5272 = private unnamed_addr constant [2 x i8] c"0\00" @.str5273 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str5274 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str5275 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str5276 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str5277 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str5278 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5279 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5280 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5281 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5282 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5283 = private unnamed_addr constant [3 x i8] c", \00" @.str5284 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5285 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5286 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5287 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5288 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5289 = private unnamed_addr constant [6 x i8] c"load \00" @.str5290 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5291 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5292 = private unnamed_addr constant [2 x i8] c" \00" @.str5293 = private unnamed_addr constant [3 x i8] c", \00" @.str5294 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5295 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5296 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5297 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5298 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5299 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5300 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5301 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5302 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5303 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5304 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5305 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5306 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5307 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5308 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5309 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5310 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5311 = private unnamed_addr constant [4 x i8] c"int\00" @.str5312 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5313 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5314 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5315 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5316 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5317 = private unnamed_addr constant [7 x i8] c"insert\00" @.str5318 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5319 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5320 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5321 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str5322 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str5323 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str5324 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5325 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5326 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5327 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5328 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5329 = private unnamed_addr constant [3 x i8] c", \00" @.str5330 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5331 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5332 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5333 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5334 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5335 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5336 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5337 = private unnamed_addr constant [6 x i8] c"load \00" @.str5338 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5339 = private unnamed_addr constant [9 x i8] c" store \00" @.str5340 = private unnamed_addr constant [2 x i8] c" \00" @.str5341 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5342 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5343 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5344 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5345 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5346 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5347 = private unnamed_addr constant [9 x i8] c" store \00" @.str5348 = private unnamed_addr constant [2 x i8] c" \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 [9 x i8] c"add i32 \00" @.str5352 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5353 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5354 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5355 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5356 = private unnamed_addr constant [2 x i8] c"0\00" @.str5357 = private unnamed_addr constant [5 x i8] c"void\00" @.str5358 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str5359 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5360 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5361 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5362 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5363 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5364 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str5365 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str5366 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str5367 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5368 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5369 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5370 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5371 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5372 = private unnamed_addr constant [3 x i8] c", \00" @.str5373 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5374 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5375 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5376 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5377 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5378 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5379 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5380 = private unnamed_addr constant [6 x i8] c"load \00" @.str5381 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5382 = private unnamed_addr constant [9 x i8] c" store \00" @.str5383 = private unnamed_addr constant [2 x i8] c" \00" @.str5384 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5385 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5386 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5387 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5388 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5389 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5390 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5391 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5392 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5393 = private unnamed_addr constant [2 x i8] c"0\00" @.str5394 = private unnamed_addr constant [5 x i8] c"void\00" @.str5395 = private unnamed_addr constant [7 x i8] c"remove\00" @.str5396 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5397 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5398 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5399 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5400 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5401 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5402 = private unnamed_addr constant [2 x i8] c"0\00" @.str5403 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str5404 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str5405 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str5406 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str5407 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str5408 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5409 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5410 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5411 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5412 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5413 = private unnamed_addr constant [3 x i8] c", \00" @.str5414 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5415 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5416 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5417 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5418 = private unnamed_addr constant [3 x i8] c", \00" @.str5419 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5420 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5421 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5422 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5423 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5424 = private unnamed_addr constant [6 x i8] c"load \00" @.str5425 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5426 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5427 = private unnamed_addr constant [2 x i8] c" \00" @.str5428 = private unnamed_addr constant [3 x i8] c", \00" @.str5429 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5430 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5431 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5432 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5433 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5434 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5435 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5437 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5438 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5439 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5440 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5441 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5442 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5443 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5444 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5445 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5446 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5447 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str5448 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str5449 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5450 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5451 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5452 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5453 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5454 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5455 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5456 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5457 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5458 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str5459 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str5460 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str5461 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5462 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5463 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5464 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5465 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5466 = private unnamed_addr constant [3 x i8] c", \00" @.str5467 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5468 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5469 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5470 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5471 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5472 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5473 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5474 = private unnamed_addr constant [6 x i8] c"load \00" @.str5475 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5476 = private unnamed_addr constant [9 x i8] c" store \00" @.str5477 = private unnamed_addr constant [2 x i8] c" \00" @.str5478 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5479 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5480 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5481 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5482 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5483 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5484 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5485 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5486 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5487 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5488 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5489 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5490 = private unnamed_addr constant [2 x i8] c"0\00" @.str5491 = private unnamed_addr constant [5 x i8] c"void\00" @.str5492 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5493 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5494 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5495 = private unnamed_addr constant [5 x i8] c", 32\00" @.str5496 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str5497 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str5498 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str5499 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5500 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5501 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5502 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5503 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5504 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5505 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5506 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5507 = private unnamed_addr constant [2 x i8] c"1\00" @.str5508 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str5509 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str5510 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str5511 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5513 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5514 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5515 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5516 = private unnamed_addr constant [3 x i8] c", \00" @.str5517 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5518 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5519 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5520 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5521 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5522 = private unnamed_addr constant [6 x i8] c"load \00" @.str5523 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5524 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5525 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5526 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5527 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5528 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str5529 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str5530 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str5531 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5532 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5533 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5534 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5535 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5536 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5537 = private unnamed_addr constant [6 x i8] c"load \00" @.str5538 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5539 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5540 = private unnamed_addr constant [2 x i8] c" \00" @.str5541 = private unnamed_addr constant [3 x i8] c", \00" @.str5542 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5543 = private unnamed_addr constant [3 x i8] c", \00" @.str5544 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5545 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5546 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5547 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5548 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5549 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5550 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5551 = private unnamed_addr constant [9 x i8] c" store \00" @.str5552 = private unnamed_addr constant [2 x i8] c" \00" @.str5553 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5554 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5555 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5556 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5557 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5558 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5560 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5561 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5562 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5563 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5564 = private unnamed_addr constant [9 x i8] c" store \00" @.str5565 = private unnamed_addr constant [2 x i8] c" \00" @.str5566 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5567 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5568 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5569 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5570 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5571 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5572 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5573 = private unnamed_addr constant [3 x i8] c":\0A\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 [1 x i8] c"\00" @.str5578 = private unnamed_addr constant [1 x i8] c"\00" @.str5579 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5580 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5581 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5582 = private unnamed_addr constant [2 x i8] c"0\00" @.str5583 = private unnamed_addr constant [5 x i8] c"void\00" @.str5584 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str5585 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str5586 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str5587 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5588 = private unnamed_addr constant [2 x i8] c"0\00" @.str5589 = private unnamed_addr constant [5 x i8] c"void\00" @.str5590 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str5591 = private unnamed_addr constant [13 x i8] c"sort_desc_by\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 [25 x i8] c"' must take one argument\00" @.str5595 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str5596 = private unnamed_addr constant [5 x i8] c"void\00" @.str5597 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5598 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5599 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str5600 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5601 = private unnamed_addr constant [2 x i8] c"0\00" @.str5602 = private unnamed_addr constant [5 x i8] c"void\00" @.str5603 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5604 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5605 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5606 = private unnamed_addr constant [2 x i8] c"0\00" @.str5607 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5608 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5609 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5610 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5611 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str5612 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str5613 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str5614 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5615 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5616 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5617 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5618 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5619 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5620 = private unnamed_addr constant [3 x i8] c", \00" @.str5621 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5622 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5623 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5624 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5625 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5626 = private unnamed_addr constant [6 x i8] c"load \00" @.str5627 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5628 = private unnamed_addr constant [6 x i8] c"load \00" @.str5629 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5630 = private unnamed_addr constant [9 x i8] c" store \00" @.str5631 = private unnamed_addr constant [2 x i8] c" \00" @.str5632 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5633 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5634 = private unnamed_addr constant [9 x i8] c" store \00" @.str5635 = private unnamed_addr constant [2 x i8] c" \00" @.str5636 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5638 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5639 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5640 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5641 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5642 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5643 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5644 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5645 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5646 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5647 = private unnamed_addr constant [2 x i8] c"0\00" @.str5648 = private unnamed_addr constant [5 x i8] c"void\00" @.str5649 = private unnamed_addr constant [3 x i8] c"in\00" @.str5650 = private unnamed_addr constant [4 x i8] c"out\00" @.str5651 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5652 = private unnamed_addr constant [5 x i8] c"back\00" @.str5653 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str5654 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5655 = private unnamed_addr constant [7 x i8] c"495616\00" @.str5656 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5657 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str5658 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5659 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5660 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5661 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str5662 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5663 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str5664 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5665 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str5666 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5667 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str5668 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5669 = private unnamed_addr constant [8 x i8] c", 59578\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", 47663\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 [14 x i8] c"icmp slt i32 \00" @.str5679 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str5680 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5681 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5682 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5683 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5684 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5685 = private unnamed_addr constant [4 x i8] c", 3\00" @.str5686 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5687 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5688 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5689 = private unnamed_addr constant [3 x i8] c", \00" @.str5690 = private unnamed_addr constant [7 x i8] c"177051\00" @.str5691 = private unnamed_addr constant [7 x i8] c"111515\00" @.str5692 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5693 = private unnamed_addr constant [3 x i8] c", \00" @.str5694 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5695 = private unnamed_addr constant [5 x i8] c", 10\00" @.str5696 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str5697 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str5698 = private unnamed_addr constant [2 x i8] c")\00" @.str5699 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5700 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5701 = private unnamed_addr constant [7 x i8] c"137258\00" @.str5702 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str5703 = private unnamed_addr constant [2 x i8] c")\00" @.str5704 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5705 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5706 = private unnamed_addr constant [3 x i8] c"in\00" @.str5707 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5708 = private unnamed_addr constant [4 x i8] c"out\00" @.str5709 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5710 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5711 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5712 = private unnamed_addr constant [5 x i8] c"back\00" @.str5713 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5714 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5715 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5716 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5717 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5718 = private unnamed_addr constant [5 x i8] c"once\00" @.str5719 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5720 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5721 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5722 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5723 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str5724 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5725 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5726 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5727 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5728 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5729 = private unnamed_addr constant [3 x i8] c", \00" @.str5730 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5731 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5732 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5733 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5734 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5735 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5736 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5737 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5738 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5739 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5740 = private unnamed_addr constant [3 x i8] c", \00" @.str5741 = private unnamed_addr constant [4 x i8] c"int\00" @.str5742 = private unnamed_addr constant [5 x i8] c"once\00" @.str5743 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5744 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5745 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5746 = private unnamed_addr constant [3 x i8] c", \00" @.str5747 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5748 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5749 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5750 = private unnamed_addr constant [4 x i8] c"int\00" @.str5751 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5752 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5753 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5754 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5755 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5756 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5757 = private unnamed_addr constant [3 x i8] c", \00" @.str5758 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5759 = private unnamed_addr constant [3 x i8] c", \00" @.str5760 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5761 = private unnamed_addr constant [3 x i8] c", \00" @.str5762 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5763 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5764 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5765 = private unnamed_addr constant [4 x i8] c"int\00" @.str5766 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5767 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5768 = private unnamed_addr constant [3 x i8] c", \00" @.str5769 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5770 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5771 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5772 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5773 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5774 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5775 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5776 = private unnamed_addr constant [3 x i8] c", \00" @.str5777 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5778 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5779 = private unnamed_addr constant [10 x i8] c"srem 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 [10 x i8] c"sdiv i32 \00" @.str5785 = private unnamed_addr constant [3 x i8] c", \00" @.str5786 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5787 = private unnamed_addr constant [3 x i8] c", \00" @.str5788 = private unnamed_addr constant [4 x i8] c"int\00" @.str5789 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5790 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5791 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5792 = private unnamed_addr constant [5 x i8] c"done\00" @.str5793 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5794 = private unnamed_addr constant [7 x i8] c"number\00" @.str5795 = private unnamed_addr constant [6 x i8] c"round\00" @.str5796 = private unnamed_addr constant [6 x i8] c"point\00" @.str5797 = private unnamed_addr constant [5 x i8] c"tint\00" @.str5798 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5799 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5800 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5801 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5802 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5803 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5804 = private unnamed_addr constant [14 x i8] c"icmp sgt 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 [7 x i8] c", i32 \00" @.str5808 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5809 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5810 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5811 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5812 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str5813 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5814 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5815 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5816 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str5817 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5818 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5819 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5820 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5821 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5822 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5823 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str5824 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5825 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5826 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5827 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str5828 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5829 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str5830 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5831 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5832 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5833 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5834 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5835 = private unnamed_addr constant [5 x i8] c"done\00" @.str5836 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str5837 = private unnamed_addr constant [2 x i8] c")\00" @.str5838 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5839 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5840 = private unnamed_addr constant [3 x i8] c", \00" @.str5841 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5842 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5843 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5844 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5845 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str5846 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5847 = private unnamed_addr constant [7 x i8] c"number\00" @.str5848 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5849 = private unnamed_addr constant [6 x i8] c"round\00" @.str5850 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5851 = private unnamed_addr constant [3 x i8] c", \00" @.str5852 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5853 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5854 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5855 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5856 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5857 = private unnamed_addr constant [3 x i8] c", \00" @.str5858 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5859 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str5860 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5861 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5862 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5863 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5864 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5865 = private unnamed_addr constant [3 x i8] c", \00" @.str5866 = private unnamed_addr constant [4 x i8] c"int\00" @.str5867 = private unnamed_addr constant [6 x i8] c"point\00" @.str5868 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str5869 = private unnamed_addr constant [3 x i8] c"16\00" @.str5870 = private unnamed_addr constant [3 x i8] c"16\00" @.str5871 = private unnamed_addr constant [2 x i8] c"8\00" @.str5872 = private unnamed_addr constant [2 x i8] c"8\00" @.str5873 = private unnamed_addr constant [2 x i8] c"0\00" @.str5874 = private unnamed_addr constant [2 x i8] c"0\00" @.str5875 = private unnamed_addr constant [4 x i8] c"int\00" @.str5876 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5877 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5878 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5879 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str5880 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5881 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5882 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5883 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5884 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5885 = private unnamed_addr constant [3 x i8] c", \00" @.str5886 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5887 = private unnamed_addr constant [3 x i8] c", \00" @.str5888 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5889 = private unnamed_addr constant [3 x i8] c", \00" @.str5890 = private unnamed_addr constant [14 x i8] c"icmp slt 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 [14 x i8] c"icmp sgt i32 \00" @.str5896 = private unnamed_addr constant [3 x i8] c", \00" @.str5897 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5898 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5899 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5900 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5901 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5902 = private unnamed_addr constant [3 x i8] c", \00" @.str5903 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5904 = private unnamed_addr constant [3 x i8] c", \00" @.str5905 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5906 = private unnamed_addr constant [3 x i8] c", \00" @.str5907 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5908 = private unnamed_addr constant [3 x i8] c", \00" @.str5909 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5910 = private unnamed_addr constant [3 x i8] c", \00" @.str5911 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5912 = private unnamed_addr constant [3 x i8] c", \00" @.str5913 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5914 = private unnamed_addr constant [3 x i8] c", \00" @.str5915 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5916 = private unnamed_addr constant [3 x i8] c", \00" @.str5917 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5918 = private unnamed_addr constant [3 x i8] c", \00" @.str5919 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5920 = private unnamed_addr constant [3 x i8] c", \00" @.str5921 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5922 = private unnamed_addr constant [3 x i8] c", \00" @.str5923 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5924 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5925 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5926 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5927 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5928 = private unnamed_addr constant [3 x i8] c", \00" @.str5929 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5930 = private unnamed_addr constant [3 x i8] c", \00" @.str5931 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5932 = private unnamed_addr constant [3 x i8] c", \00" @.str5933 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5934 = private unnamed_addr constant [3 x i8] c", \00" @.str5935 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5936 = private unnamed_addr constant [3 x i8] c", \00" @.str5937 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5938 = private unnamed_addr constant [3 x i8] c", \00" @.str5939 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5940 = private unnamed_addr constant [3 x i8] c", \00" @.str5941 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5942 = private unnamed_addr constant [3 x i8] c", \00" @.str5943 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5944 = private unnamed_addr constant [3 x i8] c", \00" @.str5945 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5946 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5947 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5948 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5949 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5950 = private unnamed_addr constant [3 x i8] c", \00" @.str5951 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5952 = private unnamed_addr constant [3 x i8] c", \00" @.str5953 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5954 = private unnamed_addr constant [3 x i8] c", \00" @.str5955 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5956 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5957 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5958 = private unnamed_addr constant [3 x i8] c", \00" @.str5959 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5960 = private unnamed_addr constant [3 x i8] c", \00" @.str5961 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5962 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5963 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5964 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5965 = private unnamed_addr constant [3 x i8] c", \00" @.str5966 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5967 = private unnamed_addr constant [3 x i8] c", \00" @.str5968 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5969 = private unnamed_addr constant [3 x i8] c", \00" @.str5970 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5971 = private unnamed_addr constant [3 x i8] c", \00" @.str5972 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5973 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5974 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5975 = private unnamed_addr constant [3 x i8] c", \00" @.str5976 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5977 = private unnamed_addr constant [3 x i8] c", \00" @.str5978 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5979 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5980 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5981 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5982 = private unnamed_addr constant [6 x i8] c"words\00" @.str5983 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5984 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5985 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5986 = private unnamed_addr constant [5 x i8] c"poke\00" @.str5987 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5988 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5989 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5990 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5991 = private unnamed_addr constant [2 x i8] c")\00" @.str5992 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str5993 = private unnamed_addr constant [6 x i8] c"words\00" @.str5994 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5995 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5996 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5997 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5998 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5999 = private unnamed_addr constant [2 x i8] c")\00" @.str6000 = private unnamed_addr constant [6 x i8] c"words\00" @.str6001 = private unnamed_addr constant [5 x i8] c"copy\00" @.str6002 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6003 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6004 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str6005 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6006 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6007 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6008 = private unnamed_addr constant [2 x i8] c"0\00" @.str6009 = private unnamed_addr constant [5 x i8] c"void\00" @.str6010 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6011 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6012 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6013 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str6014 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6015 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6016 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6017 = private unnamed_addr constant [2 x i8] c"0\00" @.str6018 = private unnamed_addr constant [5 x i8] c"void\00" @.str6019 = private unnamed_addr constant [5 x i8] c"peek\00" @.str6020 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6021 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6022 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6023 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6024 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6025 = private unnamed_addr constant [4 x i8] c"int\00" @.str6026 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6027 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6028 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str6029 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str6030 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str6031 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6032 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6033 = private unnamed_addr constant [2 x i8] c"0\00" @.str6034 = private unnamed_addr constant [5 x i8] c"void\00" @.str6035 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6036 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6037 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6038 = private unnamed_addr constant [4 x i8] c"now\00" @.str6039 = private unnamed_addr constant [6 x i8] c"since\00" @.str6040 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6041 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6042 = private unnamed_addr constant [4 x i8] c"int\00" @.str6043 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6044 = private unnamed_addr constant [5 x i8] c"1092\00" @.str6045 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6046 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6047 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6048 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6049 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str6050 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6051 = private unnamed_addr constant [6 x i8] c"since\00" @.str6052 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6053 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6054 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6055 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6056 = private unnamed_addr constant [3 x i8] c", \00" @.str6057 = private unnamed_addr constant [4 x i8] c"int\00" @.str6058 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6059 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6060 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6061 = private unnamed_addr constant [4 x i8] c"int\00" @.str6062 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6063 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6064 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6065 = private unnamed_addr constant [5 x i8] c"days\00" @.str6066 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6067 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6068 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6069 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str6070 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6071 = private unnamed_addr constant [4 x i8] c"int\00" @.str6072 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6073 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6074 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6075 = private unnamed_addr constant [4 x i8] c"int\00" @.str6076 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6077 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6078 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6079 = private unnamed_addr constant [4 x i8] c"int\00" @.str6080 = private unnamed_addr constant [5 x i8] c"days\00" @.str6081 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6082 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6083 = private unnamed_addr constant [4 x i8] c"int\00" @.str6084 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6085 = private unnamed_addr constant [4 x i8] c"int\00" @.str6086 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6087 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6088 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6089 = private unnamed_addr constant [4 x i8] c"int\00" @.str6090 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6091 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6092 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6093 = private unnamed_addr constant [4 x i8] c"int\00" @.str6094 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6095 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6096 = private unnamed_addr constant [4 x i8] c"int\00" @.str6097 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6098 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6099 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6100 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6101 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6102 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6103 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6104 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6105 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6106 = private unnamed_addr constant [4 x i8] c"new\00" @.str6107 = private unnamed_addr constant [5 x i8] c"year\00" @.str6108 = private unnamed_addr constant [6 x i8] c"month\00" @.str6109 = private unnamed_addr constant [4 x i8] c"day\00" @.str6110 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6111 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6112 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6113 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6114 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6115 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str6116 = private unnamed_addr constant [4 x i8] c"new\00" @.str6117 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6118 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6119 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6120 = private unnamed_addr constant [2 x i8] c")\00" @.str6121 = private unnamed_addr constant [4 x i8] c"int\00" @.str6122 = private unnamed_addr constant [5 x i8] c"year\00" @.str6123 = private unnamed_addr constant [4 x i8] c"int\00" @.str6124 = private unnamed_addr constant [6 x i8] c"month\00" @.str6125 = private unnamed_addr constant [4 x i8] c"int\00" @.str6126 = private unnamed_addr constant [4 x i8] c"day\00" @.str6127 = private unnamed_addr constant [4 x i8] c"int\00" @.str6128 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6129 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6130 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6131 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6132 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6133 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6134 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6135 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6136 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6137 = private unnamed_addr constant [4 x i8] c"int\00" @.str6138 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6139 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6140 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6141 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6142 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6143 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6144 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6145 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6146 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6147 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6148 = private unnamed_addr constant [6 x i8] c", 400\00" @.str6149 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6150 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6151 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6152 = private unnamed_addr constant [3 x i8] c", \00" @.str6153 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str6154 = private unnamed_addr constant [3 x i8] c", \00" @.str6155 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6156 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6157 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6158 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6159 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6160 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6161 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6162 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6163 = private unnamed_addr constant [5 x i8] c", 12\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 [7 x i8] c", i32 \00" @.str6168 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6169 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6170 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6171 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6172 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str6173 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6174 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6175 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6176 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6177 = private unnamed_addr constant [3 x i8] c", \00" @.str6178 = private unnamed_addr constant [4 x i8] c"int\00" @.str6179 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6180 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6181 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6182 = private unnamed_addr constant [4 x i8] c"int\00" @.str6183 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6184 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6185 = private unnamed_addr constant [3 x i8] c", \00" @.str6186 = private unnamed_addr constant [4 x i8] c"int\00" @.str6187 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6188 = private unnamed_addr constant [3 x i8] c", \00" @.str6189 = private unnamed_addr constant [4 x i8] c"int\00" @.str6190 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6191 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6192 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6193 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6194 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6195 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6196 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6197 = private unnamed_addr constant [3 x i8] c", \00" @.str6198 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6199 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6200 = private unnamed_addr constant [5 x i8] c"from\00" @.str6201 = private unnamed_addr constant [5 x i8] c"date\00" @.str6202 = private unnamed_addr constant [4 x i8] c"add\00" @.str6203 = private unnamed_addr constant [5 x i8] c"year\00" @.str6204 = private unnamed_addr constant [6 x i8] c"month\00" @.str6205 = private unnamed_addr constant [4 x i8] c"day\00" @.str6206 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6207 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6208 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6209 = private unnamed_addr constant [7 x i8] c"second\00" @.str6210 = private unnamed_addr constant [7 x i8] c"format\00" @.str6211 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6212 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6213 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6214 = private unnamed_addr constant [2 x i8] c")\00" @.str6215 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str6216 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6217 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6218 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6219 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6220 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6221 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6222 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6223 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6224 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6225 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6226 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6227 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6228 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6229 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6230 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6231 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6232 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6233 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6234 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6235 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6236 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6237 = private unnamed_addr constant [1 x i8] c"\00" @.str6238 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6239 = private unnamed_addr constant [3 x i8] c"YY\00" @.str6240 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6241 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6242 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6243 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6244 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6245 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str6246 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6247 = private unnamed_addr constant [2 x i8] c")\00" @.str6248 = private unnamed_addr constant [7 x i8] c"string\00" @.str6249 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str6250 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6251 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6252 = private unnamed_addr constant [2 x i8] c"0\00" @.str6253 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6254 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6255 = private unnamed_addr constant [5 x i8] c"1970\00" @.str6256 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6257 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6258 = private unnamed_addr constant [2 x i8] c"1\00" @.str6259 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6260 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6261 = private unnamed_addr constant [2 x i8] c"1\00" @.str6262 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6264 = private unnamed_addr constant [2 x i8] c"0\00" @.str6265 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6266 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6267 = private unnamed_addr constant [2 x i8] c"0\00" @.str6268 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6269 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6270 = private unnamed_addr constant [2 x i8] c"0\00" @.str6271 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6272 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6273 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6274 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6275 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6276 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6277 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str6278 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6279 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6280 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6281 = private unnamed_addr constant [2 x i8] c")\00" @.str6282 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6283 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6284 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6285 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6286 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6287 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6288 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6289 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6290 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6291 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6292 = private unnamed_addr constant [2 x i8] c")\00" @.str6293 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6294 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6295 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6296 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6297 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6298 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6299 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6300 = private unnamed_addr constant [3 x i8] c", \00" @.str6301 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6302 = private unnamed_addr constant [3 x i8] c", \00" @.str6303 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6304 = private unnamed_addr constant [3 x i8] c", \00" @.str6305 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6306 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6307 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6308 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6309 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str6310 = private unnamed_addr constant [4 x i8] c"int\00" @.str6311 = private unnamed_addr constant [7 x i8] c"format\00" @.str6312 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6313 = private unnamed_addr constant [5 x i8] c"from\00" @.str6314 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6315 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6316 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6317 = private unnamed_addr constant [2 x i8] c")\00" @.str6318 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6319 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6320 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6321 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6322 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6323 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6324 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6325 = private unnamed_addr constant [3 x i8] c", \00" @.str6326 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6327 = private unnamed_addr constant [3 x i8] c", \00" @.str6328 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6329 = private unnamed_addr constant [3 x i8] c", \00" @.str6330 = private unnamed_addr constant [4 x i8] c"int\00" @.str6331 = private unnamed_addr constant [5 x i8] c"date\00" @.str6332 = private unnamed_addr constant [4 x i8] c"int\00" @.str6333 = private unnamed_addr constant [4 x i8] c"add\00" @.str6334 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6335 = private unnamed_addr constant [3 x i8] c", \00" @.str6336 = private unnamed_addr constant [4 x i8] c"int\00" @.str6337 = private unnamed_addr constant [5 x i8] c"year\00" @.str6338 = private unnamed_addr constant [4 x i8] c"int\00" @.str6339 = private unnamed_addr constant [6 x i8] c"month\00" @.str6340 = private unnamed_addr constant [4 x i8] c"int\00" @.str6341 = private unnamed_addr constant [4 x i8] c"day\00" @.str6342 = private unnamed_addr constant [4 x i8] c"int\00" @.str6343 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6344 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6345 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6346 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6347 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6348 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6349 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6350 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6351 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6352 = private unnamed_addr constant [4 x i8] c"int\00" @.str6353 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6354 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6355 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6356 = private unnamed_addr constant [4 x i8] c"int\00" @.str6357 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6358 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6359 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6360 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6361 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6362 = private unnamed_addr constant [4 x i8] c"int\00" @.str6363 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6364 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6365 = private unnamed_addr constant [4 x i8] c"int\00" @.str6366 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str6367 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str6368 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str6369 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str6370 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str6371 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str6372 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str6373 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str6374 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6375 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str6376 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str6377 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str6378 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str6379 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str6380 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str6381 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str6382 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str6383 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str6384 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6385 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6386 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6387 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str6388 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str6389 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str6390 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str6391 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str6392 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str6393 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str6394 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6395 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str6396 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str6397 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str6398 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str6399 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str6400 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str6401 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str6402 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str6403 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str6404 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str6405 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str6406 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str6407 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str6408 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str6409 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str6410 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6411 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str6412 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6413 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6414 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6415 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str6416 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str6417 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str6418 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str6419 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str6420 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str6421 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str6422 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str6423 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str6424 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str6425 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str6426 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str6427 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str6428 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str6429 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str6430 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str6431 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str6432 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str6433 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str6434 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str6435 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str6436 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6437 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6438 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str6439 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str6440 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str6441 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str6442 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str6443 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str6444 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str6445 = 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" @.str6446 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6447 = 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" @.str6448 = 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" @.str6449 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str6450 = 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" @.str6451 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str6452 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str6453 = 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" @.str6454 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6455 = 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" @.str6456 = 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" @.str6457 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str6458 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str6459 = 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" @.str6460 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str6461 = 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" @.str6462 = 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" @.str6463 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str6464 = private unnamed_addr constant [4 x i8] c"now\00" @.str6465 = private unnamed_addr constant [4 x i8] c"set\00" @.str6466 = private unnamed_addr constant [8 x i8] c"advance\00" @.str6467 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6468 = private unnamed_addr constant [4 x i8] c"now\00" @.str6469 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6470 = private unnamed_addr constant [4 x i8] c"int\00" @.str6471 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6472 = private unnamed_addr constant [29 x i8] c" store i32 0, 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 [4 x i8] c"set\00" @.str6476 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6477 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6478 = private unnamed_addr constant [2 x i8] c"0\00" @.str6479 = private unnamed_addr constant [5 x i8] c"void\00" @.str6480 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6481 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6482 = private unnamed_addr constant [3 x i8] c", \00" @.str6483 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6484 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6485 = private unnamed_addr constant [2 x i8] c"0\00" @.str6486 = private unnamed_addr constant [5 x i8] c"void\00" @.str6487 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6488 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6489 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6490 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6491 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str6492 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6493 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str6494 = private unnamed_addr constant [3 x i8] c", \00" @.str6495 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6496 = private unnamed_addr constant [6 x i8] c", 255\00" @.str6497 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6498 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6499 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6500 = private unnamed_addr constant [4 x i8] c", 8\00" @.str6501 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6502 = private unnamed_addr constant [3 x i8] c", \00" @.str6503 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6504 = private unnamed_addr constant [3 x i8] c", \00" @.str6505 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6506 = private unnamed_addr constant [3 x i8] c", \00" @.str6507 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6508 = private unnamed_addr constant [3 x i8] c", \00" @.str6509 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6510 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6511 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6512 = private unnamed_addr constant [3 x i8] c", \00" @.str6513 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6514 = private unnamed_addr constant [4 x i8] c"int\00" @.str6515 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6516 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6517 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6518 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6519 = private unnamed_addr constant [3 x i8] c", \00" @.str6520 = private unnamed_addr constant [4 x i8] c"int\00" @.str6521 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6522 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6523 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str6524 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6525 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6526 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6527 = private unnamed_addr constant [3 x i8] c", \00" @.str6528 = private unnamed_addr constant [4 x i8] c"int\00" @.str6529 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6530 = private unnamed_addr constant [3 x i8] c"16\00" @.str6531 = private unnamed_addr constant [3 x i8] c"16\00" @.str6532 = private unnamed_addr constant [2 x i8] c"8\00" @.str6533 = private unnamed_addr constant [2 x i8] c"8\00" @.str6534 = private unnamed_addr constant [2 x i8] c"0\00" @.str6535 = private unnamed_addr constant [2 x i8] c"0\00" @.str6536 = private unnamed_addr constant [4 x i8] c"int\00" @.str6537 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6538 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str6539 = private unnamed_addr constant [3 x i8] c"16\00" @.str6540 = private unnamed_addr constant [2 x i8] c"8\00" @.str6541 = private unnamed_addr constant [2 x i8] c"0\00" @.str6542 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6543 = private unnamed_addr constant [3 x i8] c", \00" @.str6544 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6545 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6546 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6547 = private unnamed_addr constant [3 x i8] c", \00" @.str6548 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6549 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6550 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6551 = private unnamed_addr constant [3 x i8] c", \00" @.str6552 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6553 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6554 = private unnamed_addr constant [4 x i8] c"int\00" @.str6555 = private unnamed_addr constant [3 x i8] c"16\00" @.str6556 = private unnamed_addr constant [2 x i8] c"8\00" @.str6557 = private unnamed_addr constant [2 x i8] c"0\00" @.str6558 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6559 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6560 = private unnamed_addr constant [3 x i8] c", \00" @.str6561 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6562 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6563 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6564 = private unnamed_addr constant [3 x i8] c", \00" @.str6565 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6566 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6567 = private unnamed_addr constant [3 x i8] c", \00" @.str6568 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6569 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6570 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6571 = private unnamed_addr constant [3 x i8] c", \00" @.str6572 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6573 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6574 = private unnamed_addr constant [3 x i8] c", \00" @.str6575 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6576 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6577 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6578 = private unnamed_addr constant [3 x i8] c", \00" @.str6579 = private unnamed_addr constant [4 x i8] c"int\00" @.str6580 = private unnamed_addr constant [6 x i8] c"White\00" @.str6581 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str6582 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str6583 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str6584 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str6585 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str6586 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str6587 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str6588 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str6589 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str6590 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str6591 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str6592 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str6593 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str6594 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str6595 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str6596 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str6597 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str6598 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str6599 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str6600 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str6601 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str6602 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str6603 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str6604 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str6605 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str6606 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str6607 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str6608 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str6609 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str6610 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str6611 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str6612 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str6613 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str6614 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str6615 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str6616 = private unnamed_addr constant [6 x i8] c"Black\00" @.str6617 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str6618 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str6619 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str6620 = private unnamed_addr constant [4 x i8] c"Red\00" @.str6621 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str6622 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str6623 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str6624 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str6625 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str6626 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str6627 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str6628 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str6629 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str6630 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str6631 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str6632 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str6633 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str6634 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str6635 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str6636 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str6637 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str6638 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str6639 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str6640 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str6641 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str6642 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str6643 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str6644 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str6645 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str6646 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str6647 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str6648 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str6649 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str6650 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str6651 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str6652 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str6653 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str6654 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str6655 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str6656 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str6657 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str6658 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str6659 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str6660 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str6661 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str6662 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str6663 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str6664 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str6665 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str6666 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str6667 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str6668 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str6669 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str6670 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str6671 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str6672 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str6673 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str6674 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str6675 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str6676 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str6677 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str6678 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str6679 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str6680 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str6681 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str6682 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str6683 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str6684 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str6685 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str6686 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str6687 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str6688 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str6689 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str6690 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str6691 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str6692 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str6693 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str6694 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str6695 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str6696 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str6697 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str6698 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str6699 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str6700 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str6701 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str6702 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str6703 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str6704 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str6705 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str6706 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str6707 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str6708 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str6709 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str6710 = private unnamed_addr constant [6 x i8] c"Green\00" @.str6711 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str6712 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str6713 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str6714 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str6715 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str6716 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str6717 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str6718 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str6719 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str6720 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str6721 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str6722 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str6723 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str6724 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str6725 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str6726 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str6727 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str6728 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str6729 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str6730 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str6731 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str6732 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str6733 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str6734 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str6735 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str6736 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str6737 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str6738 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str6739 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str6740 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str6741 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str6742 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str6743 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str6744 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str6745 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str6746 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str6747 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str6748 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str6749 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str6750 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str6751 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str6752 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str6753 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str6754 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str6755 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str6756 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str6757 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str6758 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str6759 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str6760 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str6761 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str6762 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str6763 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str6764 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str6765 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str6766 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str6767 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str6768 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str6769 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str6770 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str6771 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str6772 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str6773 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str6774 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str6775 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str6776 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str6777 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str6778 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str6779 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str6780 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str6781 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str6782 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str6783 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str6784 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str6785 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str6786 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str6787 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str6788 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str6789 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str6790 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str6791 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str6792 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str6793 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str6794 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str6795 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str6796 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str6797 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str6798 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str6799 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str6800 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str6801 = private unnamed_addr constant [6 x i8] c"Space\00" @.str6802 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str6803 = private unnamed_addr constant [7 x i8] c"Return\00" @.str6804 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str6805 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str6806 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str6807 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str6808 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str6809 = private unnamed_addr constant [3 x i8] c"Up\00" @.str6810 = private unnamed_addr constant [5 x i8] c"Down\00" @.str6811 = private unnamed_addr constant [5 x i8] c"Left\00" @.str6812 = private unnamed_addr constant [6 x i8] c"Right\00" @.str6813 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str6814 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str6815 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str6816 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str6817 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str6818 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str6819 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str6820 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str6821 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str6822 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str6823 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str6824 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str6825 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str6826 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6827 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str6828 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6829 = private unnamed_addr constant [2 x i8] c")\00" @.str6830 = private unnamed_addr constant [3 x i8] c" \00" @.str6831 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6832 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6833 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6834 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6835 = private unnamed_addr constant [9 x i8] c" store \00" @.str6836 = private unnamed_addr constant [2 x i8] c" \00" @.str6837 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6839 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str6840 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6841 = private unnamed_addr constant [2 x i8] c")\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 0\0A\00" @.str6845 = private unnamed_addr constant [23 x i8] c" store ptr null, 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 1\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 [16 x i8] c", i32 0, i32 2\0A\00" @.str6855 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6856 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6857 = private unnamed_addr constant [3 x i8] c" \00" @.str6858 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6859 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6860 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6861 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6862 = private unnamed_addr constant [4 x i8] c"int\00" @.str6863 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str6864 = private unnamed_addr constant [2 x i8] c")\00" @.str6865 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6866 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6867 = private unnamed_addr constant [4 x i8] c"int\00" @.str6868 = private unnamed_addr constant [2 x i8] c"0\00" @.str6869 = private unnamed_addr constant [5 x i8] c"void\00" @.str6870 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str6871 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6872 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str6873 = private unnamed_addr constant [6 x i8] c" and \00" @.str6874 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6875 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6876 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6877 = private unnamed_addr constant [3 x i8] c", \00" @.str6878 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6879 = private unnamed_addr constant [4 x i8] c"put\00" @.str6880 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6881 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6882 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6883 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6884 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6885 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6886 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6887 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6888 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6889 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6890 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str6891 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6892 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6893 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6894 = private unnamed_addr constant [3 x i8] c", \00" @.str6895 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6896 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str6897 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6898 = private unnamed_addr constant [2 x i8] c")\00" @.str6899 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6900 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6901 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6902 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6903 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6905 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6906 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6907 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6908 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6909 = private unnamed_addr constant [3 x i8] c" \00" @.str6910 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6911 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6912 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6913 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6914 = private unnamed_addr constant [9 x i8] c" store \00" @.str6915 = private unnamed_addr constant [2 x i8] c" \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 [9 x i8] c"add i32 \00" @.str6919 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6920 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6921 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6922 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6923 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6924 = private unnamed_addr constant [4 x i8] c"int\00" @.str6925 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6926 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6927 = private unnamed_addr constant [7 x i8] c"result\00" @.str6928 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str6929 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str6930 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6931 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6932 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6933 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6934 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str6935 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6936 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6937 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6938 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str6939 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str6940 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str6941 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6942 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6943 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6945 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6946 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6947 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str6948 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6949 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6950 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6952 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6953 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6954 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6955 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6956 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str6957 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6958 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6959 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6960 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6961 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6962 = private unnamed_addr constant [6 x i8] c"error\00" @.str6963 = private unnamed_addr constant [7 x i8] c"string\00" @.str6964 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6965 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6966 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6967 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6968 = private unnamed_addr constant [4 x i8] c"int\00" @.str6969 = private unnamed_addr constant [6 x i8] c"load \00" @.str6970 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6971 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6972 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6973 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6974 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6975 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6976 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6977 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6978 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6979 = private unnamed_addr constant [3 x i8] c"sc\00" @.str6980 = private unnamed_addr constant [6 x i8] c"scend\00" @.str6981 = private unnamed_addr constant [4 x i8] c"and\00" @.str6982 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6983 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6984 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6985 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6986 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6987 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6988 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6989 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6990 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6991 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6992 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6993 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6994 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6995 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6996 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6997 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6998 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6999 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7000 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7001 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7002 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7003 = private unnamed_addr constant [2 x i8] c"<\00" @.str7004 = private unnamed_addr constant [4 x i8] c"slt\00" @.str7005 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7006 = private unnamed_addr constant [4 x i8] c"sle\00" @.str7007 = private unnamed_addr constant [2 x i8] c">\00" @.str7008 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str7009 = private unnamed_addr constant [3 x i8] c">=\00" @.str7010 = private unnamed_addr constant [4 x i8] c"sge\00" @.str7011 = private unnamed_addr constant [3 x i8] c"==\00" @.str7012 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7013 = private unnamed_addr constant [3 x i8] c"ne\00" @.str7014 = private unnamed_addr constant [2 x i8] c"<\00" @.str7015 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7016 = private unnamed_addr constant [2 x i8] c">\00" @.str7017 = private unnamed_addr constant [3 x i8] c">=\00" @.str7018 = private unnamed_addr constant [3 x i8] c"==\00" @.str7019 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7020 = private unnamed_addr constant [2 x i8] c"+\00" @.str7021 = private unnamed_addr constant [4 x i8] c"add\00" @.str7022 = private unnamed_addr constant [2 x i8] c"-\00" @.str7023 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7024 = private unnamed_addr constant [2 x i8] c"*\00" @.str7025 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7026 = private unnamed_addr constant [2 x i8] c"/\00" @.str7027 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str7028 = private unnamed_addr constant [2 x i8] c"&\00" @.str7029 = private unnamed_addr constant [4 x i8] c"and\00" @.str7030 = private unnamed_addr constant [2 x i8] c"|\00" @.str7031 = private unnamed_addr constant [3 x i8] c"or\00" @.str7032 = private unnamed_addr constant [2 x i8] c"^\00" @.str7033 = private unnamed_addr constant [4 x i8] c"xor\00" @.str7034 = private unnamed_addr constant [3 x i8] c"<<\00" @.str7035 = private unnamed_addr constant [4 x i8] c"shl\00" @.str7036 = private unnamed_addr constant [3 x i8] c">>\00" @.str7037 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str7038 = private unnamed_addr constant [5 x i8] c"srem\00" @.str7039 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7040 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7041 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7042 = private unnamed_addr constant [3 x i8] c"a \00" @.str7043 = private unnamed_addr constant [6 x i8] c" slot\00" @.str7044 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7045 = private unnamed_addr constant [3 x i8] c"a \00" @.str7046 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str7047 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str7048 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7049 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7050 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7051 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7052 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7053 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7054 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7055 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7056 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7057 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7058 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7059 = private unnamed_addr constant [2 x i8] c"+\00" @.str7060 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str7061 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7062 = private unnamed_addr constant [2 x i8] c")\00" @.str7063 = private unnamed_addr constant [7 x i8] c"string\00" @.str7064 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str7065 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7066 = private unnamed_addr constant [2 x i8] c")\00" @.str7067 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7068 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str7069 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7070 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7071 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7072 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7073 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7074 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7075 = private unnamed_addr constant [5 x i8] c"long\00" @.str7076 = private unnamed_addr constant [4 x i8] c"int\00" @.str7077 = private unnamed_addr constant [4 x i8] c"and\00" @.str7078 = private unnamed_addr constant [3 x i8] c"or\00" @.str7079 = private unnamed_addr constant [7 x i8] c"string\00" @.str7080 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7081 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7082 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7083 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7084 = private unnamed_addr constant [2 x i8] c"+\00" @.str7085 = private unnamed_addr constant [2 x i8] c"+\00" @.str7086 = private unnamed_addr constant [3 x i8] c"==\00" @.str7087 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7088 = private unnamed_addr constant [7 x i8] c"string\00" @.str7089 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7090 = private unnamed_addr constant [7 x i8] c"string\00" @.str7091 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7092 = private unnamed_addr constant [16 x i8] c"cannot compare \00" @.str7093 = private unnamed_addr constant [7 x i8] c" with \00" @.str7094 = private unnamed_addr constant [8 x i8] c" using \00" @.str7095 = private unnamed_addr constant [59 x i8] c": strings compare by content, other references by identity\00" @.str7096 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7097 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7098 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7099 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7100 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7101 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7102 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7103 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7104 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7105 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str7106 = private unnamed_addr constant [2 x i8] c" \00" @.str7107 = private unnamed_addr constant [2 x i8] c" \00" @.str7108 = private unnamed_addr constant [3 x i8] c", \00" @.str7109 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7110 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7111 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7112 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str7113 = private unnamed_addr constant [3 x i8] c", \00" @.str7114 = private unnamed_addr constant [5 x i8] c"long\00" @.str7115 = private unnamed_addr constant [2 x i8] c"*\00" @.str7116 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7117 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7118 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7119 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7120 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7121 = private unnamed_addr constant [3 x i8] c", \00" @.str7122 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str7123 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7124 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7125 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7126 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7127 = private unnamed_addr constant [2 x i8] c"/\00" @.str7128 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7129 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7130 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str7131 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7132 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7133 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7134 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str7135 = private unnamed_addr constant [3 x i8] c", \00" @.str7136 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7137 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7138 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7139 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7140 = private unnamed_addr constant [3 x i8] c", \00" @.str7141 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7142 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7143 = private unnamed_addr constant [3 x i8] c", \00" @.str7144 = private unnamed_addr constant [4 x i8] c"int\00" @.str7145 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str7146 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str7147 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str7148 = private unnamed_addr constant [5 x i8] c"exok\00" @.str7149 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str7150 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7151 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7152 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7153 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7154 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7155 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str7156 = private unnamed_addr constant [1 x i8] c"\00" @.str7157 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str7158 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7159 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str7160 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7162 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7163 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7164 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7165 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7166 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7167 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str7168 = private unnamed_addr constant [7 x i8] c"__each\00" @.str7169 = private unnamed_addr constant [5 x i8] c"self\00" @.str7170 = private unnamed_addr constant [2 x i8] c"0\00" @.str7171 = private unnamed_addr constant [5 x i8] c"void\00" @.str7172 = private unnamed_addr constant [6 x i8] c"count\00" @.str7173 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str7174 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7175 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7176 = private unnamed_addr constant [2 x i8] c"0\00" @.str7177 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7178 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7179 = private unnamed_addr constant [2 x i8] c"0\00" @.str7180 = private unnamed_addr constant [3 x i8] c"cc\00" @.str7181 = private unnamed_addr constant [3 x i8] c"cb\00" @.str7182 = private unnamed_addr constant [3 x i8] c"cn\00" @.str7183 = private unnamed_addr constant [3 x i8] c"ce\00" @.str7184 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7185 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7186 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7187 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7188 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7189 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str7190 = private unnamed_addr constant [3 x i8] c", \00" @.str7191 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7192 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7193 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7194 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7195 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7196 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7197 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7198 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7199 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7200 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7201 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7202 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7203 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str7204 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7205 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7206 = private unnamed_addr constant [3 x i8] c", \00" @.str7207 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7208 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7209 = private unnamed_addr constant [3 x i8] c", \00" @.str7210 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7211 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7212 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7213 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7214 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7215 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7216 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7217 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7218 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7219 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7220 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7221 = private unnamed_addr constant [4 x i8] c"int\00" @.str7222 = private unnamed_addr constant [2 x i8] c".\00" @.str7223 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str7224 = private unnamed_addr constant [3 x i8] c"of\00" @.str7225 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7226 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str7227 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str7228 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7229 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str7230 = private unnamed_addr constant [3 x i8] c", \00" @.str7231 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str7232 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7233 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str7234 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7235 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7236 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7237 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7238 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7239 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7240 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7241 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7242 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7243 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str7244 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7245 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7246 = private unnamed_addr constant [3 x i8] c", \00" @.str7247 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7248 = private unnamed_addr constant [3 x i8] c", \00" @.str7249 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7250 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7251 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7252 = private unnamed_addr constant [5 x i8] c"name\00" @.str7253 = private unnamed_addr constant [7 x i8] c"string\00" @.str7254 = private unnamed_addr constant [3 x i8] c"of\00" @.str7255 = private unnamed_addr constant [4 x i8] c"has\00" @.str7256 = private unnamed_addr constant [6 x i8] c"count\00" @.str7257 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7258 = private unnamed_addr constant [2 x i8] c"_\00" @.str7259 = private unnamed_addr constant [5 x i8] c"Math\00" @.str7260 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str7261 = private unnamed_addr constant [5 x i8] c"Text\00" @.str7262 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str7263 = private unnamed_addr constant [5 x i8] c"List\00" @.str7264 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str7265 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str7266 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str7267 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str7268 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str7269 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str7270 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str7271 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str7272 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str7273 = private unnamed_addr constant [6 x i8] c"Color\00" @.str7274 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str7275 = private unnamed_addr constant [5 x i8] c"Time\00" @.str7276 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str7277 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str7278 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str7279 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str7280 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str7281 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str7282 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str7283 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str7284 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str7285 = private unnamed_addr constant [4 x i8] c"Log\00" @.str7286 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str7287 = private unnamed_addr constant [3 x i8] c"Os\00" @.str7288 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str7289 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str7290 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str7291 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str7292 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str7293 = private unnamed_addr constant [5 x i8] c"Path\00" @.str7294 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str7295 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str7296 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str7297 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str7298 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str7299 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str7300 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str7301 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str7302 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str7303 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str7304 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str7305 = private unnamed_addr constant [5 x i8] c"Date\00" @.str7306 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str7307 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str7308 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str7309 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str7310 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str7311 = private unnamed_addr constant [4 x i8] c"App\00" @.str7312 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str7313 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\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 [9 x i8] c"set_icon\00" @.str7317 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str7318 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7319 = private unnamed_addr constant [2 x i8] c"0\00" @.str7320 = private unnamed_addr constant [5 x i8] c"void\00" @.str7321 = private unnamed_addr constant [12 x i8] c"window_hide\00" @.str7322 = private unnamed_addr constant [12 x i8] c"window_show\00" @.str7323 = private unnamed_addr constant [18 x i8] c" call void @app_\00" @.str7324 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str7325 = private unnamed_addr constant [2 x i8] c"0\00" @.str7326 = private unnamed_addr constant [5 x i8] c"void\00" @.str7327 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" @.str7328 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str7329 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str7330 = private unnamed_addr constant [4 x i8] c"int\00" @.str7331 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str7332 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7333 = private unnamed_addr constant [4 x i8] c"int\00" @.str7334 = private unnamed_addr constant [5 x i8] c"free\00" @.str7335 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7336 = private unnamed_addr constant [4 x i8] c"int\00" @.str7337 = private unnamed_addr constant [5 x i8] c"live\00" @.str7338 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7339 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7340 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str7341 = private unnamed_addr constant [3 x i8] c", \00" @.str7342 = private unnamed_addr constant [4 x i8] c"int\00" @.str7343 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str7344 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str7345 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7346 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7347 = private unnamed_addr constant [6 x i8] c"color\00" @.str7348 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str7349 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str7350 = private unnamed_addr constant [2 x i8] c"x\00" @.str7351 = private unnamed_addr constant [2 x i8] c"y\00" @.str7352 = private unnamed_addr constant [6 x i8] c"width\00" @.str7353 = private unnamed_addr constant [7 x i8] c"height\00" @.str7354 = private unnamed_addr constant [6 x i8] c"color\00" @.str7355 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7356 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7357 = private unnamed_addr constant [2 x i8] c"x\00" @.str7358 = private unnamed_addr constant [2 x i8] c"y\00" @.str7359 = private unnamed_addr constant [6 x i8] c"width\00" @.str7360 = private unnamed_addr constant [7 x i8] c"height\00" @.str7361 = private unnamed_addr constant [6 x i8] c"value\00" @.str7362 = private unnamed_addr constant [4 x i8] c"max\00" @.str7363 = private unnamed_addr constant [6 x i8] c"color\00" @.str7364 = private unnamed_addr constant [5 x i8] c"back\00" @.str7365 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str7366 = private unnamed_addr constant [11 x i8] c"frame_rect\00" @.str7367 = private unnamed_addr constant [2 x i8] c"x\00" @.str7368 = private unnamed_addr constant [2 x i8] c"y\00" @.str7369 = private unnamed_addr constant [6 x i8] c"width\00" @.str7370 = private unnamed_addr constant [7 x i8] c"height\00" @.str7371 = private unnamed_addr constant [6 x i8] c"color\00" @.str7372 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str7373 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str7374 = private unnamed_addr constant [2 x i8] c"x\00" @.str7375 = private unnamed_addr constant [2 x i8] c"y\00" @.str7376 = private unnamed_addr constant [6 x i8] c"color\00" @.str7377 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str7378 = private unnamed_addr constant [5 x i8] c"text\00" @.str7379 = private unnamed_addr constant [2 x i8] c"x\00" @.str7380 = private unnamed_addr constant [2 x i8] c"y\00" @.str7381 = private unnamed_addr constant [5 x i8] c"text\00" @.str7382 = private unnamed_addr constant [6 x i8] c"color\00" @.str7383 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7384 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str7385 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str7386 = private unnamed_addr constant [2 x i8] c"x\00" @.str7387 = private unnamed_addr constant [2 x i8] c"y\00" @.str7388 = private unnamed_addr constant [6 x i8] c"value\00" @.str7389 = private unnamed_addr constant [6 x i8] c"color\00" @.str7390 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7391 = private unnamed_addr constant [5 x i8] c"show\00" @.str7392 = private unnamed_addr constant [8 x i8] c"present\00" @.str7393 = private unnamed_addr constant [6 x i8] c"width\00" @.str7394 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str7395 = private unnamed_addr constant [7 x i8] c"height\00" @.str7396 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str7397 = private unnamed_addr constant [7 x i8] c"status\00" @.str7398 = private unnamed_addr constant [7 x i8] c"status\00" @.str7399 = private unnamed_addr constant [5 x i8] c"text\00" @.str7400 = private unnamed_addr constant [5 x i8] c"line\00" @.str7401 = private unnamed_addr constant [5 x i8] c"line\00" @.str7402 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7403 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7404 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7405 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7406 = private unnamed_addr constant [6 x i8] c"color\00" @.str7407 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7408 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7409 = private unnamed_addr constant [2 x i8] c"x\00" @.str7410 = private unnamed_addr constant [2 x i8] c"y\00" @.str7411 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7412 = private unnamed_addr constant [6 x i8] c"color\00" @.str7413 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7414 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7415 = private unnamed_addr constant [2 x i8] c"x\00" @.str7416 = private unnamed_addr constant [2 x i8] c"y\00" @.str7417 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7418 = private unnamed_addr constant [6 x i8] c"color\00" @.str7419 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7420 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7421 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7422 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7423 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7424 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7425 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7426 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7427 = private unnamed_addr constant [6 x i8] c"color\00" @.str7428 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7429 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7430 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7431 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7432 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7433 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7434 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7435 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7436 = private unnamed_addr constant [6 x i8] c"color\00" @.str7437 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str7438 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str7439 = private unnamed_addr constant [3 x i8] c"id\00" @.str7440 = private unnamed_addr constant [2 x i8] c"x\00" @.str7441 = private unnamed_addr constant [2 x i8] c"y\00" @.str7442 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" @.str7443 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str7444 = private unnamed_addr constant [3 x i8] c"id\00" @.str7445 = private unnamed_addr constant [2 x i8] c"x\00" @.str7446 = private unnamed_addr constant [2 x i8] c"y\00" @.str7447 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7448 = private unnamed_addr constant [5 x i8] c"oval\00" @.str7449 = private unnamed_addr constant [5 x i8] c"oval\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 [3 x i8] c"rx\00" @.str7453 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7454 = private unnamed_addr constant [6 x i8] c"color\00" @.str7455 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7456 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7457 = private unnamed_addr constant [2 x i8] c"x\00" @.str7458 = private unnamed_addr constant [2 x i8] c"y\00" @.str7459 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7460 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7461 = private unnamed_addr constant [2 x i8] c"x\00" @.str7462 = private unnamed_addr constant [2 x i8] c"y\00" @.str7463 = private unnamed_addr constant [6 x i8] c"width\00" @.str7464 = private unnamed_addr constant [7 x i8] c"height\00" @.str7465 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7466 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7467 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7468 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7469 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7470 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7471 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7472 = private unnamed_addr constant [5 x i8] c"text\00" @.str7473 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7474 = private unnamed_addr constant [7 x i8] c"get_px\00" @.str7475 = private unnamed_addr constant [2 x i8] c"x\00" @.str7476 = private unnamed_addr constant [2 x i8] c"y\00" @.str7477 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str7478 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7479 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str7480 = private unnamed_addr constant [5 x i8] c"path\00" @.str7481 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str7482 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str7483 = private unnamed_addr constant [5 x i8] c"cell\00" @.str7484 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str7485 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7486 = private unnamed_addr constant [4 x i8] c"col\00" @.str7487 = private unnamed_addr constant [4 x i8] c"row\00" @.str7488 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str7489 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str7490 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7491 = private unnamed_addr constant [4 x i8] c"col\00" @.str7492 = private unnamed_addr constant [4 x i8] c"row\00" @.str7493 = private unnamed_addr constant [5 x i8] c"cols\00" @.str7494 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7495 = private unnamed_addr constant [6 x i8] c"strip\00" @.str7496 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str7497 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7498 = private unnamed_addr constant [4 x i8] c"col\00" @.str7499 = private unnamed_addr constant [4 x i8] c"row\00" @.str7500 = private unnamed_addr constant [6 x i8] c"count\00" @.str7501 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7502 = private unnamed_addr constant [7 x i8] c"define\00" @.str7503 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str7504 = private unnamed_addr constant [5 x i8] c"name\00" @.str7505 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7506 = private unnamed_addr constant [4 x i8] c"col\00" @.str7507 = private unnamed_addr constant [4 x i8] c"row\00" @.str7508 = private unnamed_addr constant [6 x i8] c"named\00" @.str7509 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7510 = private unnamed_addr constant [5 x i8] c"name\00" @.str7511 = private unnamed_addr constant [5 x i8] c"draw\00" @.str7512 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str7513 = private unnamed_addr constant [3 x i8] c"id\00" @.str7514 = private unnamed_addr constant [2 x i8] c"x\00" @.str7515 = private unnamed_addr constant [2 x i8] c"y\00" @.str7516 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str7517 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str7518 = private unnamed_addr constant [3 x i8] c"id\00" @.str7519 = private unnamed_addr constant [2 x i8] c"x\00" @.str7520 = private unnamed_addr constant [2 x i8] c"y\00" @.str7521 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7522 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str7523 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str7524 = private unnamed_addr constant [2 x i8] c"x\00" @.str7525 = private unnamed_addr constant [2 x i8] c"y\00" @.str7526 = private unnamed_addr constant [6 x i8] c"value\00" @.str7527 = private unnamed_addr constant [4 x i8] c"max\00" @.str7528 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str7529 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str7530 = private unnamed_addr constant [5 x i8] c"full\00" @.str7531 = private unnamed_addr constant [5 x i8] c"half\00" @.str7532 = private unnamed_addr constant [6 x i8] c"empty\00" @.str7533 = private unnamed_addr constant [6 x i8] c"width\00" @.str7534 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str7535 = private unnamed_addr constant [3 x i8] c"id\00" @.str7536 = private unnamed_addr constant [7 x i8] c"height\00" @.str7537 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str7538 = private unnamed_addr constant [3 x i8] c"id\00" @.str7539 = private unnamed_addr constant [5 x i8] c"Font\00" @.str7540 = private unnamed_addr constant [5 x i8] c"load\00" @.str7541 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str7542 = private unnamed_addr constant [5 x i8] c"path\00" @.str7543 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str7544 = private unnamed_addr constant [6 x i8] c"build\00" @.str7545 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str7546 = private unnamed_addr constant [5 x i8] c"open\00" @.str7547 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str7548 = private unnamed_addr constant [3 x i8] c"id\00" @.str7549 = private unnamed_addr constant [6 x i8] c"close\00" @.str7550 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str7551 = private unnamed_addr constant [5 x i8] c"tick\00" @.str7552 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str7553 = private unnamed_addr constant [4 x i8] c"key\00" @.str7554 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str7555 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str7556 = private unnamed_addr constant [3 x i8] c"id\00" @.str7557 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str7558 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str7559 = private unnamed_addr constant [3 x i8] c"id\00" @.str7560 = private unnamed_addr constant [5 x i8] c"text\00" @.str7561 = private unnamed_addr constant [7 x i8] c"render\00" @.str7562 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str7563 = private unnamed_addr constant [5 x i8] c"File\00" @.str7564 = private unnamed_addr constant [5 x i8] c"open\00" @.str7565 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7566 = private unnamed_addr constant [5 x i8] c"path\00" @.str7567 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7568 = private unnamed_addr constant [5 x i8] c"read\00" @.str7569 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7570 = private unnamed_addr constant [5 x i8] c"file\00" @.str7571 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7572 = private unnamed_addr constant [6 x i8] c"count\00" @.str7573 = private unnamed_addr constant [6 x i8] c"write\00" @.str7574 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7575 = private unnamed_addr constant [5 x i8] c"file\00" @.str7576 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7577 = private unnamed_addr constant [6 x i8] c"count\00" @.str7578 = private unnamed_addr constant [5 x i8] c"seek\00" @.str7579 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7580 = private unnamed_addr constant [5 x i8] c"file\00" @.str7581 = private unnamed_addr constant [7 x i8] c"offset\00" @.str7582 = private unnamed_addr constant [7 x i8] c"whence\00" @.str7583 = private unnamed_addr constant [5 x i8] c"tell\00" @.str7584 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7585 = private unnamed_addr constant [5 x i8] c"file\00" @.str7586 = private unnamed_addr constant [6 x i8] c"close\00" @.str7587 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7588 = private unnamed_addr constant [5 x i8] c"file\00" @.str7589 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str7590 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str7591 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str7592 = private unnamed_addr constant [2 x i8] c"x\00" @.str7593 = private unnamed_addr constant [2 x i8] c"y\00" @.str7594 = private unnamed_addr constant [6 x i8] c"color\00" @.str7595 = private unnamed_addr constant [6 x i8] c"count\00" @.str7596 = private unnamed_addr constant [7 x i8] c"number\00" @.str7597 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str7598 = private unnamed_addr constant [2 x i8] c"x\00" @.str7599 = private unnamed_addr constant [2 x i8] c"y\00" @.str7600 = private unnamed_addr constant [6 x i8] c"value\00" @.str7601 = private unnamed_addr constant [6 x i8] c"color\00" @.str7602 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7603 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str7604 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str7605 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str7606 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str7607 = private unnamed_addr constant [9 x i8] c"Position\00" @.str7608 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str7609 = private unnamed_addr constant [5 x i8] c"name\00" @.str7610 = private unnamed_addr constant [3 x i8] c"at\00" @.str7611 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7612 = private unnamed_addr constant [2 x i8] c")\00" @.str7613 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7614 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str7615 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7616 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7617 = private unnamed_addr constant [2 x i8] c"x\00" @.str7618 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7619 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7620 = private unnamed_addr constant [2 x i8] c"y\00" @.str7621 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7622 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7623 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7624 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7625 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7627 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7628 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7629 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str7630 = private unnamed_addr constant [5 x i8] c"name\00" @.str7631 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str7632 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7633 = private unnamed_addr constant [2 x i8] c")\00" @.str7634 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7635 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str7636 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str7637 = private unnamed_addr constant [5 x i8] c"font\00" @.str7638 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str7639 = private unnamed_addr constant [5 x i8] c"name\00" @.str7640 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str7641 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str7642 = private unnamed_addr constant [5 x i8] c"path\00" @.str7643 = private unnamed_addr constant [6 x i8] c"image\00" @.str7644 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7645 = private unnamed_addr constant [5 x i8] c"path\00" @.str7646 = private unnamed_addr constant [5 x i8] c"load\00" @.str7647 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7648 = private unnamed_addr constant [5 x i8] c"path\00" @.str7649 = private unnamed_addr constant [4 x i8] c"get\00" @.str7650 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7651 = private unnamed_addr constant [5 x i8] c"name\00" @.str7652 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str7653 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str7654 = private unnamed_addr constant [5 x i8] c"name\00" @.str7655 = private unnamed_addr constant [5 x i8] c"path\00" @.str7656 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7657 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str7658 = private unnamed_addr constant [4 x i8] c"max\00" @.str7659 = private unnamed_addr constant [6 x i8] c"total\00" @.str7660 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str7661 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str7662 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str7663 = private unnamed_addr constant [6 x i8] c"ready\00" @.str7664 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str7665 = private unnamed_addr constant [9 x i8] c"progress\00" @.str7666 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str7667 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str7668 = private unnamed_addr constant [4 x i8] c"set\00" @.str7669 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7670 = private unnamed_addr constant [2 x i8] c"x\00" @.str7671 = private unnamed_addr constant [2 x i8] c"y\00" @.str7672 = private unnamed_addr constant [7 x i8] c"follow\00" @.str7673 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str7674 = private unnamed_addr constant [2 x i8] c"x\00" @.str7675 = private unnamed_addr constant [2 x i8] c"y\00" @.str7676 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7677 = private unnamed_addr constant [6 x i8] c"shake\00" @.str7678 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str7679 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7680 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str7681 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str7682 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7683 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7684 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str7685 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str7686 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7687 = private unnamed_addr constant [4 x i8] c"Map\00" @.str7688 = private unnamed_addr constant [5 x i8] c"size\00" @.str7689 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str7690 = private unnamed_addr constant [6 x i8] c"width\00" @.str7691 = private unnamed_addr constant [7 x i8] c"height\00" @.str7692 = private unnamed_addr constant [4 x i8] c"row\00" @.str7693 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str7694 = private unnamed_addr constant [2 x i8] c"y\00" @.str7695 = private unnamed_addr constant [6 x i8] c"cells\00" @.str7696 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7697 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7698 = private unnamed_addr constant [2 x i8] c"x\00" @.str7699 = private unnamed_addr constant [2 x i8] c"y\00" @.str7700 = private unnamed_addr constant [4 x i8] c"get\00" @.str7701 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7702 = private unnamed_addr constant [2 x i8] c"x\00" @.str7703 = private unnamed_addr constant [2 x i8] c"y\00" @.str7704 = private unnamed_addr constant [4 x i8] c"set\00" @.str7705 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str7706 = private unnamed_addr constant [2 x i8] c"x\00" @.str7707 = private unnamed_addr constant [2 x i8] c"y\00" @.str7708 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7709 = private unnamed_addr constant [5 x i8] c"fill\00" @.str7710 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str7711 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7712 = private unnamed_addr constant [5 x i8] c"rect\00" @.str7713 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str7714 = private unnamed_addr constant [2 x i8] c"x\00" @.str7715 = private unnamed_addr constant [2 x i8] c"y\00" @.str7716 = private unnamed_addr constant [6 x i8] c"width\00" @.str7717 = private unnamed_addr constant [7 x i8] c"height\00" @.str7718 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7719 = private unnamed_addr constant [7 x i8] c"border\00" @.str7720 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str7721 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7722 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str7723 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str7724 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7725 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str7726 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str7727 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7728 = private unnamed_addr constant [5 x i8] c"from\00" @.str7729 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str7730 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str7731 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str7732 = private unnamed_addr constant [2 x i8] c"x\00" @.str7733 = private unnamed_addr constant [2 x i8] c"y\00" @.str7734 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str7735 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str7736 = private unnamed_addr constant [2 x i8] c"x\00" @.str7737 = private unnamed_addr constant [2 x i8] c"y\00" @.str7738 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str7739 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str7740 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7741 = private unnamed_addr constant [6 x i8] c"width\00" @.str7742 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str7743 = private unnamed_addr constant [7 x i8] c"height\00" @.str7744 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str7745 = private unnamed_addr constant [7 x i8] c"Random\00" @.str7746 = private unnamed_addr constant [6 x i8] c"range\00" @.str7747 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str7748 = private unnamed_addr constant [4 x i8] c"low\00" @.str7749 = private unnamed_addr constant [5 x i8] c"high\00" @.str7750 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str7751 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str7752 = private unnamed_addr constant [8 x i8] c"weights\00" @.str7753 = private unnamed_addr constant [7 x i8] c"chance\00" @.str7754 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str7755 = private unnamed_addr constant [8 x i8] c"percent\00" @.str7756 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7757 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7758 = private unnamed_addr constant [6 x i8] c"value\00" @.str7759 = private unnamed_addr constant [6 x i8] c"value\00" @.str7760 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str7761 = private unnamed_addr constant [4 x i8] c"int\00" @.str7762 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str7763 = private unnamed_addr constant [4 x i8] c"max\00" @.str7764 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7765 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str7766 = private unnamed_addr constant [6 x i8] c"Input\00" @.str7767 = private unnamed_addr constant [4 x i8] c"key\00" @.str7768 = private unnamed_addr constant [4 x i8] c"key\00" @.str7769 = private unnamed_addr constant [5 x i8] c"bind\00" @.str7770 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str7771 = private unnamed_addr constant [7 x i8] c"action\00" @.str7772 = private unnamed_addr constant [4 x i8] c"key\00" @.str7773 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str7774 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str7775 = private unnamed_addr constant [7 x i8] c"action\00" @.str7776 = private unnamed_addr constant [4 x i8] c"old\00" @.str7777 = private unnamed_addr constant [4 x i8] c"new\00" @.str7778 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7779 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str7780 = private unnamed_addr constant [5 x i8] c"down\00" @.str7781 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str7782 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str7783 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str7784 = private unnamed_addr constant [7 x i8] c"record\00" @.str7785 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str7786 = private unnamed_addr constant [7 x i8] c"replay\00" @.str7787 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str7788 = private unnamed_addr constant [7 x i8] c"action\00" @.str7789 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str7790 = private unnamed_addr constant [7 x i8] c"action\00" @.str7791 = private unnamed_addr constant [4 x i8] c"key\00" @.str7792 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str7793 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str7794 = private unnamed_addr constant [7 x i8] c"action\00" @.str7795 = private unnamed_addr constant [7 x i8] c"button\00" @.str7796 = private unnamed_addr constant [7 x i8] c"active\00" @.str7797 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str7798 = private unnamed_addr constant [7 x i8] c"action\00" @.str7799 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str7800 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str7801 = private unnamed_addr constant [7 x i8] c"action\00" @.str7802 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str7803 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str7804 = private unnamed_addr constant [7 x i8] c"action\00" @.str7805 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str7806 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str7807 = private unnamed_addr constant [4 x i8] c"key\00" @.str7808 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str7809 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str7810 = private unnamed_addr constant [4 x i8] c"key\00" @.str7811 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str7812 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str7813 = private unnamed_addr constant [4 x i8] c"key\00" @.str7814 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str7815 = private unnamed_addr constant [16 x i8] c"input_key_label\00" @.str7816 = private unnamed_addr constant [4 x i8] c"key\00" @.str7817 = private unnamed_addr constant [6 x i8] c"press\00" @.str7818 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str7819 = private unnamed_addr constant [4 x i8] c"key\00" @.str7820 = private unnamed_addr constant [8 x i8] c"release\00" @.str7821 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str7822 = private unnamed_addr constant [4 x i8] c"key\00" @.str7823 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7824 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str7825 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7826 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7827 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str7828 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str7829 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7830 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7831 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str7832 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str7833 = private unnamed_addr constant [7 x i8] c"vector\00" @.str7834 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str7835 = private unnamed_addr constant [5 x i8] c"left\00" @.str7836 = private unnamed_addr constant [6 x i8] c"right\00" @.str7837 = private unnamed_addr constant [3 x i8] c"up\00" @.str7838 = private unnamed_addr constant [5 x i8] c"down\00" @.str7839 = private unnamed_addr constant [9 x i8] c"strength\00" @.str7840 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str7841 = private unnamed_addr constant [7 x i8] c"action\00" @.str7842 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str7843 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str7844 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str7845 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str7846 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str7847 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str7848 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str7849 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str7850 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str7851 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str7852 = private unnamed_addr constant [7 x i8] c"button\00" @.str7853 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7854 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str7855 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str7856 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str7857 = private unnamed_addr constant [2 x i8] c"x\00" @.str7858 = private unnamed_addr constant [2 x i8] c"y\00" @.str7859 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7860 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7861 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str7862 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str7863 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7864 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str7865 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str7866 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7867 = private unnamed_addr constant [7 x i8] c"button\00" @.str7868 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str7869 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str7870 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7871 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7872 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str7873 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str7874 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7875 = private unnamed_addr constant [10 x i8] c"connected\00" @.str7876 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7877 = private unnamed_addr constant [3 x i8] c"lx\00" @.str7878 = private unnamed_addr constant [3 x i8] c"ly\00" @.str7879 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7880 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7881 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str7882 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str7883 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str7884 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str7885 = private unnamed_addr constant [6 x i8] c"index\00" @.str7886 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str7887 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str7888 = private unnamed_addr constant [6 x i8] c"index\00" @.str7889 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str7890 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str7891 = private unnamed_addr constant [6 x i8] c"index\00" @.str7892 = private unnamed_addr constant [2 x i8] c"x\00" @.str7893 = private unnamed_addr constant [2 x i8] c"y\00" @.str7894 = private unnamed_addr constant [7 x i8] c"active\00" @.str7895 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str7896 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str7897 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7898 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str7899 = private unnamed_addr constant [5 x i8] c"load\00" @.str7900 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str7901 = private unnamed_addr constant [5 x i8] c"path\00" @.str7902 = private unnamed_addr constant [7 x i8] c"define\00" @.str7903 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str7904 = private unnamed_addr constant [5 x i8] c"name\00" @.str7905 = private unnamed_addr constant [5 x i8] c"path\00" @.str7906 = private unnamed_addr constant [6 x i8] c"named\00" @.str7907 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str7908 = private unnamed_addr constant [5 x i8] c"name\00" @.str7909 = private unnamed_addr constant [5 x i8] c"play\00" @.str7910 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str7911 = private unnamed_addr constant [5 x i8] c"name\00" @.str7912 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7913 = private unnamed_addr constant [3 x i8] c"id\00" @.str7914 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str7915 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7916 = private unnamed_addr constant [3 x i8] c"id\00" @.str7917 = private unnamed_addr constant [8 x i8] c"play_at\00" @.str7918 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" @.str7919 = private unnamed_addr constant [3 x i8] c"id\00" @.str7920 = private unnamed_addr constant [5 x i8] c"gain\00" @.str7921 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7922 = private unnamed_addr constant [4 x i8] c"pan\00" @.str7923 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str7924 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str7925 = private unnamed_addr constant [5 x i8] c"name\00" @.str7926 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str7927 = private unnamed_addr constant [3 x i8] c"id\00" @.str7928 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7929 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str7930 = private unnamed_addr constant [3 x i8] c"id\00" @.str7931 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str7932 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str7933 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str7934 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str7935 = private unnamed_addr constant [7 x i8] c"volume\00" @.str7936 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7937 = private unnamed_addr constant [2 x i8] c"v\00" @.str7938 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7939 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str7940 = private unnamed_addr constant [2 x i8] c"v\00" @.str7941 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str7942 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str7943 = private unnamed_addr constant [3 x i8] c"id\00" @.str7944 = private unnamed_addr constant [5 x i8] c"Http\00" @.str7945 = private unnamed_addr constant [4 x i8] c"get\00" @.str7946 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str7947 = private unnamed_addr constant [4 x i8] c"url\00" @.str7948 = private unnamed_addr constant [5 x i8] c"post\00" @.str7949 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str7950 = private unnamed_addr constant [4 x i8] c"url\00" @.str7951 = private unnamed_addr constant [5 x i8] c"body\00" @.str7952 = private unnamed_addr constant [8 x i8] c"request\00" @.str7953 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str7954 = private unnamed_addr constant [7 x i8] c"method\00" @.str7955 = private unnamed_addr constant [4 x i8] c"url\00" @.str7956 = private unnamed_addr constant [5 x i8] c"body\00" @.str7957 = private unnamed_addr constant [5 x i8] c"open\00" @.str7958 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str7959 = private unnamed_addr constant [7 x i8] c"method\00" @.str7960 = private unnamed_addr constant [4 x i8] c"url\00" @.str7961 = private unnamed_addr constant [4 x i8] c"set\00" @.str7962 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str7963 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7964 = private unnamed_addr constant [5 x i8] c"name\00" @.str7965 = private unnamed_addr constant [6 x i8] c"value\00" @.str7966 = private unnamed_addr constant [5 x i8] c"body\00" @.str7967 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str7968 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7969 = private unnamed_addr constant [5 x i8] c"body\00" @.str7970 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str7971 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str7972 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7973 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7974 = private unnamed_addr constant [4 x i8] c"len\00" @.str7975 = private unnamed_addr constant [5 x i8] c"send\00" @.str7976 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str7977 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7978 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7979 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str7980 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7981 = private unnamed_addr constant [7 x i8] c"status\00" @.str7982 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str7983 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7984 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7985 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str7986 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7987 = private unnamed_addr constant [5 x i8] c"text\00" @.str7988 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str7989 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7990 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str7991 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str7992 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7993 = private unnamed_addr constant [7 x i8] c"header\00" @.str7994 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str7995 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7996 = private unnamed_addr constant [5 x i8] c"name\00" @.str7997 = private unnamed_addr constant [5 x i8] c"free\00" @.str7998 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str7999 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8000 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8001 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str8002 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8003 = private unnamed_addr constant [4 x i8] c"len\00" @.str8004 = private unnamed_addr constant [8 x i8] c"save_to\00" @.str8005 = private unnamed_addr constant [13 x i8] c"http_save_to\00" @.str8006 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8007 = private unnamed_addr constant [5 x i8] c"path\00" @.str8008 = private unnamed_addr constant [9 x i8] c"received\00" @.str8009 = private unnamed_addr constant [14 x i8] c"http_received\00" @.str8010 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8011 = private unnamed_addr constant [9 x i8] c"expected\00" @.str8012 = private unnamed_addr constant [14 x i8] c"http_expected\00" @.str8013 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8014 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str8015 = private unnamed_addr constant [5 x i8] c"open\00" @.str8016 = private unnamed_addr constant [9 x i8] c"udp_open\00" @.str8017 = private unnamed_addr constant [5 x i8] c"port\00" @.str8018 = private unnamed_addr constant [5 x i8] c"port\00" @.str8019 = private unnamed_addr constant [9 x i8] c"udp_port\00" @.str8020 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8021 = private unnamed_addr constant [5 x i8] c"send\00" @.str8022 = private unnamed_addr constant [9 x i8] c"udp_send\00" @.str8023 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8024 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8025 = private unnamed_addr constant [5 x i8] c"port\00" @.str8026 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8027 = private unnamed_addr constant [4 x i8] c"len\00" @.str8028 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8029 = private unnamed_addr constant [9 x i8] c"udp_recv\00" @.str8030 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8031 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8032 = private unnamed_addr constant [4 x i8] c"cap\00" @.str8033 = private unnamed_addr constant [8 x i8] c"from_ip\00" @.str8034 = private unnamed_addr constant [12 x i8] c"udp_from_ip\00" @.str8035 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8036 = private unnamed_addr constant [10 x i8] c"from_port\00" @.str8037 = private unnamed_addr constant [14 x i8] c"udp_from_port\00" @.str8038 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8039 = private unnamed_addr constant [6 x i8] c"close\00" @.str8040 = private unnamed_addr constant [10 x i8] c"udp_close\00" @.str8041 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8042 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8043 = private unnamed_addr constant [12 x i8] c"udp_resolve\00" @.str8044 = private unnamed_addr constant [5 x i8] c"name\00" @.str8045 = private unnamed_addr constant [9 x i8] c"local_ip\00" @.str8046 = private unnamed_addr constant [13 x i8] c"udp_local_ip\00" @.str8047 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8048 = private unnamed_addr constant [7 x i8] c"udp_ip\00" @.str8049 = private unnamed_addr constant [5 x i8] c"text\00" @.str8050 = private unnamed_addr constant [8 x i8] c"ip_text\00" @.str8051 = private unnamed_addr constant [12 x i8] c"udp_ip_text\00" @.str8052 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8053 = private unnamed_addr constant [8 x i8] c"Process\00" @.str8054 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8055 = private unnamed_addr constant [14 x i8] c"process_spawn\00" @.str8056 = private unnamed_addr constant [5 x i8] c"path\00" @.str8057 = private unnamed_addr constant [5 x i8] c"args\00" @.str8058 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8059 = private unnamed_addr constant [13 x i8] c"process_poll\00" @.str8060 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8061 = private unnamed_addr constant [5 x i8] c"kill\00" @.str8062 = private unnamed_addr constant [13 x i8] c"process_kill\00" @.str8063 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8064 = private unnamed_addr constant [5 x i8] c"free\00" @.str8065 = private unnamed_addr constant [13 x i8] c"process_free\00" @.str8066 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8067 = private unnamed_addr constant [6 x i8] c"World\00" @.str8068 = private unnamed_addr constant [4 x i8] c"get\00" @.str8069 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8070 = private unnamed_addr constant [4 x i8] c"set\00" @.str8071 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8072 = private unnamed_addr constant [4 x i8] c"has\00" @.str8073 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8074 = private unnamed_addr constant [6 x i8] c"count\00" @.str8075 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8076 = private unnamed_addr constant [5 x i8] c"size\00" @.str8077 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8078 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8079 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str8080 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str8081 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str8082 = private unnamed_addr constant [5 x i8] c"save\00" @.str8083 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8084 = private unnamed_addr constant [5 x i8] c"load\00" @.str8085 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str8086 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str8087 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8088 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str8089 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8090 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str8091 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8092 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8093 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8094 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str8095 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8096 = private unnamed_addr constant [7 x i8] c"attach\00" @.str8097 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8098 = private unnamed_addr constant [7 x i8] c"detach\00" @.str8099 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8100 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str8101 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8102 = private unnamed_addr constant [8 x i8] c"Network\00" @.str8103 = private unnamed_addr constant [5 x i8] c"send\00" @.str8104 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8105 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8106 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8107 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8108 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8109 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8110 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8111 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8112 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8113 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8114 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8115 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8116 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8117 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8118 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8119 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8120 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8121 = private unnamed_addr constant [7 x i8] c"System\00" @.str8122 = private unnamed_addr constant [4 x i8] c"run\00" @.str8123 = private unnamed_addr constant [4 x i8] c"run\00" @.str8124 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8125 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8126 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8127 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8128 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8129 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8130 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8131 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8132 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8133 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8134 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8135 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8136 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8137 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8138 = private unnamed_addr constant [5 x i8] c"Save\00" @.str8139 = private unnamed_addr constant [6 x i8] c"write\00" @.str8140 = private unnamed_addr constant [5 x i8] c"save\00" @.str8141 = private unnamed_addr constant [5 x i8] c"read\00" @.str8142 = private unnamed_addr constant [5 x i8] c"load\00" @.str8143 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str8144 = private unnamed_addr constant [8 x i8] c"compile\00" @.str8145 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str8146 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8147 = private unnamed_addr constant [6 x i8] c"valid\00" @.str8148 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str8149 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8150 = private unnamed_addr constant [8 x i8] c"matches\00" @.str8151 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str8152 = private unnamed_addr constant [5 x i8] c"text\00" @.str8153 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8154 = private unnamed_addr constant [5 x i8] c"test\00" @.str8155 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str8156 = private unnamed_addr constant [5 x i8] c"text\00" @.str8157 = private unnamed_addr constant [3 x i8] c"re\00" @.str8158 = private unnamed_addr constant [5 x i8] c"find\00" @.str8159 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str8160 = private unnamed_addr constant [5 x i8] c"text\00" @.str8161 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8162 = private unnamed_addr constant [5 x i8] c"exec\00" @.str8163 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str8164 = private unnamed_addr constant [5 x i8] c"text\00" @.str8165 = private unnamed_addr constant [3 x i8] c"re\00" @.str8166 = private unnamed_addr constant [5 x i8] c"next\00" @.str8167 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str8168 = private unnamed_addr constant [5 x i8] c"text\00" @.str8169 = private unnamed_addr constant [3 x i8] c"re\00" @.str8170 = private unnamed_addr constant [5 x i8] c"from\00" @.str8171 = private unnamed_addr constant [8 x i8] c"replace\00" @.str8172 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str8173 = private unnamed_addr constant [5 x i8] c"text\00" @.str8174 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8175 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str8176 = private unnamed_addr constant [6 x i8] c"group\00" @.str8177 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str8178 = private unnamed_addr constant [6 x i8] c"match\00" @.str8179 = private unnamed_addr constant [2 x i8] c"n\00" @.str8180 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str8181 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str8182 = private unnamed_addr constant [6 x i8] c"match\00" @.str8183 = private unnamed_addr constant [6 x i8] c"start\00" @.str8184 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str8185 = private unnamed_addr constant [6 x i8] c"match\00" @.str8186 = private unnamed_addr constant [2 x i8] c"n\00" @.str8187 = private unnamed_addr constant [4 x i8] c"end\00" @.str8188 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str8189 = private unnamed_addr constant [6 x i8] c"match\00" @.str8190 = private unnamed_addr constant [2 x i8] c"n\00" @.str8191 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8192 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str8193 = private unnamed_addr constant [6 x i8] c"match\00" @.str8194 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str8195 = private unnamed_addr constant [5 x i8] c"from\00" @.str8196 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str8197 = private unnamed_addr constant [6 x i8] c"value\00" @.str8198 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8199 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str8200 = private unnamed_addr constant [5 x i8] c"text\00" @.str8201 = private unnamed_addr constant [4 x i8] c"add\00" @.str8202 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str8203 = private unnamed_addr constant [2 x i8] c"a\00" @.str8204 = private unnamed_addr constant [2 x i8] c"b\00" @.str8205 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8206 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str8207 = private unnamed_addr constant [2 x i8] c"a\00" @.str8208 = private unnamed_addr constant [2 x i8] c"b\00" @.str8209 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8210 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str8211 = private unnamed_addr constant [2 x i8] c"a\00" @.str8212 = private unnamed_addr constant [2 x i8] c"b\00" @.str8213 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8214 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str8215 = private unnamed_addr constant [2 x i8] c"a\00" @.str8216 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8217 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str8218 = private unnamed_addr constant [2 x i8] c"a\00" @.str8219 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8220 = private unnamed_addr constant [4 x i8] c"div\00" @.str8221 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str8222 = private unnamed_addr constant [2 x i8] c"a\00" @.str8223 = private unnamed_addr constant [2 x i8] c"d\00" @.str8224 = private unnamed_addr constant [4 x i8] c"mod\00" @.str8225 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str8226 = private unnamed_addr constant [2 x i8] c"a\00" @.str8227 = private unnamed_addr constant [2 x i8] c"d\00" @.str8228 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8229 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str8230 = private unnamed_addr constant [2 x i8] c"a\00" @.str8231 = private unnamed_addr constant [2 x i8] c"b\00" @.str8232 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8233 = private unnamed_addr constant [10 x i8] c"bigint_eq\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 [8 x i8] c"is_zero\00" @.str8237 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str8238 = private unnamed_addr constant [2 x i8] c"a\00" @.str8239 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str8240 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str8241 = private unnamed_addr constant [2 x i8] c"a\00" @.str8242 = private unnamed_addr constant [4 x i8] c"str\00" @.str8243 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str8244 = private unnamed_addr constant [2 x i8] c"a\00" @.str8245 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str8246 = private unnamed_addr constant [5 x i8] c"from\00" @.str8247 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str8248 = private unnamed_addr constant [6 x i8] c"value\00" @.str8249 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8250 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str8251 = private unnamed_addr constant [5 x i8] c"text\00" @.str8252 = private unnamed_addr constant [4 x i8] c"add\00" @.str8253 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str8254 = private unnamed_addr constant [2 x i8] c"a\00" @.str8255 = private unnamed_addr constant [2 x i8] c"b\00" @.str8256 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8257 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str8258 = private unnamed_addr constant [2 x i8] c"a\00" @.str8259 = private unnamed_addr constant [2 x i8] c"b\00" @.str8260 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8261 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str8262 = private unnamed_addr constant [2 x i8] c"a\00" @.str8263 = private unnamed_addr constant [2 x i8] c"b\00" @.str8264 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8265 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str8266 = private unnamed_addr constant [2 x i8] c"a\00" @.str8267 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8268 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str8269 = private unnamed_addr constant [2 x i8] c"a\00" @.str8270 = private unnamed_addr constant [2 x i8] c"b\00" @.str8271 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8272 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str8273 = private unnamed_addr constant [2 x i8] c"a\00" @.str8274 = private unnamed_addr constant [2 x i8] c"b\00" @.str8275 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8276 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str8277 = private unnamed_addr constant [2 x i8] c"d\00" @.str8278 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str8279 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str8280 = private unnamed_addr constant [2 x i8] c"d\00" @.str8281 = private unnamed_addr constant [7 x i8] c"places\00" @.str8282 = private unnamed_addr constant [4 x i8] c"str\00" @.str8283 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str8284 = private unnamed_addr constant [2 x i8] c"d\00" @.str8285 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str8286 = private unnamed_addr constant [4 x i8] c"new\00" @.str8287 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str8288 = private unnamed_addr constant [4 x i8] c"set\00" @.str8289 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str8290 = private unnamed_addr constant [2 x i8] c"d\00" @.str8291 = private unnamed_addr constant [4 x i8] c"key\00" @.str8292 = private unnamed_addr constant [6 x i8] c"value\00" @.str8293 = private unnamed_addr constant [4 x i8] c"get\00" @.str8294 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str8295 = private unnamed_addr constant [2 x i8] c"d\00" @.str8296 = private unnamed_addr constant [4 x i8] c"key\00" @.str8297 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str8298 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str8299 = private unnamed_addr constant [2 x i8] c"d\00" @.str8300 = private unnamed_addr constant [4 x i8] c"key\00" @.str8301 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str8302 = private unnamed_addr constant [4 x i8] c"has\00" @.str8303 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str8304 = private unnamed_addr constant [2 x i8] c"d\00" @.str8305 = private unnamed_addr constant [4 x i8] c"key\00" @.str8306 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8307 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str8308 = private unnamed_addr constant [2 x i8] c"d\00" @.str8309 = private unnamed_addr constant [4 x i8] c"key\00" @.str8310 = private unnamed_addr constant [5 x i8] c"size\00" @.str8311 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str8312 = private unnamed_addr constant [2 x i8] c"d\00" @.str8313 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8314 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str8315 = private unnamed_addr constant [2 x i8] c"d\00" @.str8316 = private unnamed_addr constant [5 x i8] c"keys\00" @.str8317 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str8318 = private unnamed_addr constant [2 x i8] c"d\00" @.str8319 = private unnamed_addr constant [4 x i8] c"Set\00" @.str8320 = private unnamed_addr constant [4 x i8] c"new\00" @.str8321 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str8322 = private unnamed_addr constant [4 x i8] c"add\00" @.str8323 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str8324 = private unnamed_addr constant [2 x i8] c"s\00" @.str8325 = private unnamed_addr constant [4 x i8] c"key\00" @.str8326 = private unnamed_addr constant [4 x i8] c"has\00" @.str8327 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str8328 = private unnamed_addr constant [2 x i8] c"s\00" @.str8329 = private unnamed_addr constant [4 x i8] c"key\00" @.str8330 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8331 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str8332 = private unnamed_addr constant [2 x i8] c"s\00" @.str8333 = private unnamed_addr constant [4 x i8] c"key\00" @.str8334 = private unnamed_addr constant [5 x i8] c"size\00" @.str8335 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str8336 = private unnamed_addr constant [2 x i8] c"s\00" @.str8337 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8338 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str8339 = private unnamed_addr constant [2 x i8] c"s\00" @.str8340 = private unnamed_addr constant [8 x i8] c"members\00" @.str8341 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str8342 = private unnamed_addr constant [2 x i8] c"s\00" @.str8343 = private unnamed_addr constant [4 x i8] c"Job\00" @.str8344 = private unnamed_addr constant [6 x i8] c"defer\00" @.str8345 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str8346 = private unnamed_addr constant [4 x i8] c"run\00" @.str8347 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str8348 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8349 = private unnamed_addr constant [4 x i8] c"arg\00" @.str8350 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str8351 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str8352 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8353 = private unnamed_addr constant [6 x i8] c"value\00" @.str8354 = private unnamed_addr constant [5 x i8] c"fail\00" @.str8355 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str8356 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8357 = private unnamed_addr constant [6 x i8] c"error\00" @.str8358 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str8359 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str8360 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8361 = private unnamed_addr constant [5 x i8] c"pump\00" @.str8362 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str8363 = private unnamed_addr constant [7 x i8] c"budget\00" @.str8364 = private unnamed_addr constant [5 x i8] c"done\00" @.str8365 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str8366 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8367 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8368 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str8369 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8370 = private unnamed_addr constant [7 x i8] c"failed\00" @.str8371 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str8372 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8373 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str8374 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str8375 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8376 = private unnamed_addr constant [7 x i8] c"result\00" @.str8377 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str8378 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8379 = private unnamed_addr constant [6 x i8] c"error\00" @.str8380 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str8381 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8382 = private unnamed_addr constant [8 x i8] c"pending\00" @.str8383 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str8384 = private unnamed_addr constant [5 x i8] c"free\00" @.str8385 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str8386 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8387 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str8388 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str8389 = private unnamed_addr constant [6 x i8] c"count\00" @.str8390 = private unnamed_addr constant [5 x i8] c"work\00" @.str8391 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str8392 = private unnamed_addr constant [10 x i8] c"is_worker\00" @.str8393 = private unnamed_addr constant [14 x i8] c"job_is_worker\00" @.str8394 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str8395 = private unnamed_addr constant [4 x i8] c"all\00" @.str8396 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str8397 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8398 = private unnamed_addr constant [5 x i8] c"race\00" @.str8399 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str8400 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8401 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str8402 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str8403 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8404 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str8405 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str8406 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8407 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str8408 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8409 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str8410 = private unnamed_addr constant [5 x i8] c"lock\00" @.str8411 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str8412 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8413 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str8414 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str8415 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8416 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str8417 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str8418 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8419 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8420 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str8421 = private unnamed_addr constant [4 x i8] c"get\00" @.str8422 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str8423 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8424 = private unnamed_addr constant [4 x i8] c"set\00" @.str8425 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str8426 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8427 = private unnamed_addr constant [6 x i8] c"value\00" @.str8428 = private unnamed_addr constant [4 x i8] c"add\00" @.str8429 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str8430 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8431 = private unnamed_addr constant [6 x i8] c"delta\00" @.str8432 = private unnamed_addr constant [4 x i8] c"cas\00" @.str8433 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str8434 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8435 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8436 = private unnamed_addr constant [5 x i8] c"next\00" @.str8437 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8438 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str8439 = private unnamed_addr constant [5 x i8] c"send\00" @.str8440 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str8441 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8442 = private unnamed_addr constant [6 x i8] c"value\00" @.str8443 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8444 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str8445 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8446 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str8447 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str8448 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8449 = private unnamed_addr constant [4 x i8] c"len\00" @.str8450 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str8451 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8452 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str8453 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str8454 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str8455 = private unnamed_addr constant [5 x i8] c"from\00" @.str8456 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str8457 = private unnamed_addr constant [6 x i8] c"value\00" @.str8458 = private unnamed_addr constant [4 x i8] c"add\00" @.str8459 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str8460 = private unnamed_addr constant [2 x i8] c"a\00" @.str8461 = private unnamed_addr constant [2 x i8] c"b\00" @.str8462 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8463 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str8464 = private unnamed_addr constant [2 x i8] c"a\00" @.str8465 = private unnamed_addr constant [2 x i8] c"b\00" @.str8466 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8467 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str8468 = private unnamed_addr constant [2 x i8] c"a\00" @.str8469 = private unnamed_addr constant [2 x i8] c"b\00" @.str8470 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8471 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str8472 = private unnamed_addr constant [2 x i8] c"a\00" @.str8473 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8474 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str8475 = private unnamed_addr constant [2 x i8] c"a\00" @.str8476 = private unnamed_addr constant [2 x i8] c"b\00" @.str8477 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8478 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str8479 = private unnamed_addr constant [2 x i8] c"a\00" @.str8480 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str8481 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str8482 = private unnamed_addr constant [2 x i8] c"a\00" @.str8483 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8484 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str8485 = private unnamed_addr constant [2 x i8] c"a\00" @.str8486 = private unnamed_addr constant [4 x i8] c"str\00" @.str8487 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str8488 = private unnamed_addr constant [2 x i8] c"a\00" @.str8489 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str8490 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str8491 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str8492 = private unnamed_addr constant [2 x i8] c"d\00" @.str8493 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str8494 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str8495 = private unnamed_addr constant [2 x i8] c"a\00" @.str8496 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str8497 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str8498 = private unnamed_addr constant [2 x i8] c"a\00" @.str8499 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8500 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str8501 = private unnamed_addr constant [2 x i8] c"a\00" @.str8502 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8503 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str8504 = private unnamed_addr constant [2 x i8] c"a\00" @.str8505 = private unnamed_addr constant [4 x i8] c"add\00" @.str8506 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str8507 = private unnamed_addr constant [2 x i8] c"a\00" @.str8508 = private unnamed_addr constant [2 x i8] c"b\00" @.str8509 = private unnamed_addr constant [5 x i8] c"diff\00" @.str8510 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str8511 = private unnamed_addr constant [2 x i8] c"a\00" @.str8512 = private unnamed_addr constant [2 x i8] c"b\00" @.str8513 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str8514 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str8515 = private unnamed_addr constant [2 x i8] c"a\00" @.str8516 = private unnamed_addr constant [2 x i8] c"b\00" @.str8517 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8518 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str8519 = private unnamed_addr constant [2 x i8] c"a\00" @.str8520 = private unnamed_addr constant [2 x i8] c"b\00" @.str8521 = private unnamed_addr constant [2 x i8] c"t\00" @.str8522 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str8523 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8524 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str8525 = private unnamed_addr constant [2 x i8] c"v\00" @.str8526 = private unnamed_addr constant [3 x i8] c"of\00" @.str8527 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str8528 = private unnamed_addr constant [4 x i8] c"num\00" @.str8529 = private unnamed_addr constant [4 x i8] c"den\00" @.str8530 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8531 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str8532 = private unnamed_addr constant [2 x i8] c"a\00" @.str8533 = private unnamed_addr constant [2 x i8] c"b\00" @.str8534 = private unnamed_addr constant [2 x i8] c"t\00" @.str8535 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8536 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str8537 = private unnamed_addr constant [6 x i8] c"value\00" @.str8538 = private unnamed_addr constant [2 x i8] c"p\00" @.str8539 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str8540 = private unnamed_addr constant [5 x i8] c"line\00" @.str8541 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str8542 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8543 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8544 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8545 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8546 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str8547 = private unnamed_addr constant [13 x i8] c"grid_blocked\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 [5 x i8] c"wall\00" @.str8551 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str8552 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str8553 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8554 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8555 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8556 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8557 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8558 = private unnamed_addr constant [6 x i8] c"flood\00" @.str8559 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str8560 = private unnamed_addr constant [2 x i8] c"x\00" @.str8561 = private unnamed_addr constant [2 x i8] c"y\00" @.str8562 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8563 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str8564 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str8565 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8566 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8567 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8568 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8569 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8570 = private unnamed_addr constant [6 x i8] c"Light\00" @.str8571 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str8572 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str8573 = private unnamed_addr constant [6 x i8] c"color\00" @.str8574 = private unnamed_addr constant [6 x i8] c"point\00" @.str8575 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str8576 = private unnamed_addr constant [2 x i8] c"x\00" @.str8577 = private unnamed_addr constant [2 x i8] c"y\00" @.str8578 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8579 = private unnamed_addr constant [6 x i8] c"color\00" @.str8580 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8581 = private unnamed_addr constant [5 x i8] c"spot\00" @.str8582 = private unnamed_addr constant [11 x i8] c"light_spot\00" @.str8583 = private unnamed_addr constant [2 x i8] c"x\00" @.str8584 = private unnamed_addr constant [2 x i8] c"y\00" @.str8585 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8586 = private unnamed_addr constant [6 x i8] c"color\00" @.str8587 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8588 = private unnamed_addr constant [10 x i8] c"direction\00" @.str8589 = private unnamed_addr constant [7 x i8] c"spread\00" @.str8590 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str8591 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str8592 = private unnamed_addr constant [2 x i8] c"x\00" @.str8593 = private unnamed_addr constant [2 x i8] c"y\00" @.str8594 = private unnamed_addr constant [6 x i8] c"width\00" @.str8595 = private unnamed_addr constant [7 x i8] c"height\00" @.str8596 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str8597 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str8598 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str8599 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str8600 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str8601 = private unnamed_addr constant [5 x i8] c"soft\00" @.str8602 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str8603 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8604 = private unnamed_addr constant [4 x i8] c"gel\00" @.str8605 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str8606 = private unnamed_addr constant [6 x i8] c"color\00" @.str8607 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str8608 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str8609 = private unnamed_addr constant [7 x i8] c"height\00" @.str8610 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str8611 = private unnamed_addr constant [7 x i8] c"height\00" @.str8612 = private unnamed_addr constant [7 x i8] c"normal\00" @.str8613 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str8614 = private unnamed_addr constant [2 x i8] c"x\00" @.str8615 = private unnamed_addr constant [2 x i8] c"y\00" @.str8616 = private unnamed_addr constant [6 x i8] c"width\00" @.str8617 = private unnamed_addr constant [7 x i8] c"height\00" @.str8618 = private unnamed_addr constant [3 x i8] c"nx\00" @.str8619 = private unnamed_addr constant [3 x i8] c"ny\00" @.str8620 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str8621 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str8622 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str8623 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str8624 = private unnamed_addr constant [2 x i8] c"t\00" @.str8625 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str8626 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8627 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str8628 = private unnamed_addr constant [5 x i8] c"name\00" @.str8629 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8630 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8631 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8632 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str8633 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str8634 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8635 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8636 = private unnamed_addr constant [6 x i8] c"fired\00" @.str8637 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str8638 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8639 = private unnamed_addr constant [5 x i8] c"play\00" @.str8640 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str8641 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8642 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8643 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str8644 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8645 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8646 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8647 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8648 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str8649 = private unnamed_addr constant [3 x i8] c"to\00" @.str8650 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str8651 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8652 = private unnamed_addr constant [5 x i8] c"from\00" @.str8653 = private unnamed_addr constant [3 x i8] c"to\00" @.str8654 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8655 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8656 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str8657 = private unnamed_addr constant [3 x i8] c"to\00" @.str8658 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str8659 = private unnamed_addr constant [5 x i8] c"from\00" @.str8660 = private unnamed_addr constant [3 x i8] c"to\00" @.str8661 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8662 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8663 = private unnamed_addr constant [6 x i8] c"chain\00" @.str8664 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str8665 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8666 = private unnamed_addr constant [3 x i8] c"to\00" @.str8667 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8668 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8669 = private unnamed_addr constant [6 x i8] c"delay\00" @.str8670 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str8671 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8672 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str8673 = private unnamed_addr constant [6 x i8] c"value\00" @.str8674 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str8675 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8676 = private unnamed_addr constant [5 x i8] c"stop\00" @.str8677 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str8678 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8679 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str8680 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str8681 = private unnamed_addr constant [2 x i8] c"a\00" @.str8682 = private unnamed_addr constant [2 x i8] c"b\00" @.str8683 = private unnamed_addr constant [6 x i8] c"Query\00" @.str8684 = private unnamed_addr constant [6 x i8] c"count\00" @.str8685 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str8686 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8687 = private unnamed_addr constant [6 x i8] c"first\00" @.str8688 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str8689 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8690 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str8691 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str8692 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8693 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8694 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8695 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8696 = private unnamed_addr constant [2 x i8] c"x\00" @.str8697 = private unnamed_addr constant [2 x i8] c"y\00" @.str8698 = private unnamed_addr constant [7 x i8] c"within\00" @.str8699 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str8700 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8701 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8702 = private unnamed_addr constant [2 x i8] c"x\00" @.str8703 = private unnamed_addr constant [2 x i8] c"y\00" @.str8704 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8705 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8706 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8707 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str8708 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8709 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8710 = private unnamed_addr constant [5 x i8] c"name\00" @.str8711 = private unnamed_addr constant [6 x i8] c"field\00" @.str8712 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8713 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8714 = private unnamed_addr constant [5 x i8] c"name\00" @.str8715 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str8716 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8717 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str8718 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8719 = private unnamed_addr constant [6 x i8] c"index\00" @.str8720 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str8721 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8722 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8723 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str8724 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8725 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8726 = private unnamed_addr constant [6 x i8] c"index\00" @.str8727 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str8728 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8729 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8730 = private unnamed_addr constant [6 x i8] c"index\00" @.str8731 = private unnamed_addr constant [4 x i8] c"get\00" @.str8732 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8733 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8734 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8735 = private unnamed_addr constant [6 x i8] c"field\00" @.str8736 = private unnamed_addr constant [4 x i8] c"set\00" @.str8737 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8738 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8739 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8740 = private unnamed_addr constant [6 x i8] c"field\00" @.str8741 = private unnamed_addr constant [6 x i8] c"value\00" @.str8742 = private unnamed_addr constant [4 x i8] c"has\00" @.str8743 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8744 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8745 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8746 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8747 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8748 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8749 = private unnamed_addr constant [6 x i8] c"model\00" @.str8750 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8751 = private unnamed_addr constant [5 x i8] c"name\00" @.str8752 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8753 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str8754 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8755 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8756 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str8757 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8758 = private unnamed_addr constant [6 x i8] c"value\00" @.str8759 = private unnamed_addr constant [6 x i8] c"Value\00" @.str8760 = private unnamed_addr constant [5 x i8] c"null\00" @.str8761 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str8762 = private unnamed_addr constant [4 x i8] c"int\00" @.str8763 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str8764 = private unnamed_addr constant [2 x i8] c"n\00" @.str8765 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8766 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str8767 = private unnamed_addr constant [2 x i8] c"f\00" @.str8768 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8769 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str8770 = private unnamed_addr constant [2 x i8] c"b\00" @.str8771 = private unnamed_addr constant [4 x i8] c"str\00" @.str8772 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str8773 = private unnamed_addr constant [2 x i8] c"s\00" @.str8774 = private unnamed_addr constant [5 x i8] c"list\00" @.str8775 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str8776 = private unnamed_addr constant [7 x i8] c"object\00" @.str8777 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str8778 = private unnamed_addr constant [4 x i8] c"add\00" @.str8779 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str8780 = private unnamed_addr constant [5 x i8] c"list\00" @.str8781 = private unnamed_addr constant [5 x i8] c"item\00" @.str8782 = private unnamed_addr constant [4 x i8] c"put\00" @.str8783 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str8784 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8785 = private unnamed_addr constant [4 x i8] c"key\00" @.str8786 = private unnamed_addr constant [5 x i8] c"item\00" @.str8787 = private unnamed_addr constant [4 x i8] c"get\00" @.str8788 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str8789 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8790 = private unnamed_addr constant [4 x i8] c"key\00" @.str8791 = private unnamed_addr constant [4 x i8] c"has\00" @.str8792 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str8793 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8794 = private unnamed_addr constant [4 x i8] c"key\00" @.str8795 = private unnamed_addr constant [3 x i8] c"at\00" @.str8796 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str8797 = private unnamed_addr constant [5 x i8] c"list\00" @.str8798 = private unnamed_addr constant [6 x i8] c"index\00" @.str8799 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str8800 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str8801 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8802 = private unnamed_addr constant [6 x i8] c"index\00" @.str8803 = private unnamed_addr constant [6 x i8] c"count\00" @.str8804 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str8805 = private unnamed_addr constant [6 x i8] c"value\00" @.str8806 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8807 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str8808 = private unnamed_addr constant [6 x i8] c"value\00" @.str8809 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8810 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str8811 = private unnamed_addr constant [6 x i8] c"value\00" @.str8812 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str8813 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str8814 = private unnamed_addr constant [6 x i8] c"value\00" @.str8815 = private unnamed_addr constant [5 x i8] c"Json\00" @.str8816 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8817 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str8818 = private unnamed_addr constant [6 x i8] c"value\00" @.str8819 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8820 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str8821 = private unnamed_addr constant [5 x i8] c"text\00" @.str8822 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str8823 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8824 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str8825 = private unnamed_addr constant [5 x i8] c"text\00" @.str8826 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8827 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str8828 = private unnamed_addr constant [5 x i8] c"node\00" @.str8829 = private unnamed_addr constant [5 x i8] c"text\00" @.str8830 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str8831 = private unnamed_addr constant [5 x i8] c"node\00" @.str8832 = private unnamed_addr constant [5 x i8] c"attr\00" @.str8833 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str8834 = private unnamed_addr constant [5 x i8] c"node\00" @.str8835 = private unnamed_addr constant [4 x i8] c"key\00" @.str8836 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str8837 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str8838 = private unnamed_addr constant [5 x i8] c"node\00" @.str8839 = private unnamed_addr constant [4 x i8] c"key\00" @.str8840 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str8841 = private unnamed_addr constant [4 x i8] c"has\00" @.str8842 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str8843 = private unnamed_addr constant [5 x i8] c"node\00" @.str8844 = private unnamed_addr constant [4 x i8] c"key\00" @.str8845 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str8846 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str8847 = private unnamed_addr constant [5 x i8] c"node\00" @.str8848 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str8849 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str8850 = private unnamed_addr constant [5 x i8] c"node\00" @.str8851 = private unnamed_addr constant [6 x i8] c"child\00" @.str8852 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str8853 = private unnamed_addr constant [5 x i8] c"node\00" @.str8854 = private unnamed_addr constant [6 x i8] c"index\00" @.str8855 = private unnamed_addr constant [5 x i8] c"find\00" @.str8856 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str8857 = private unnamed_addr constant [5 x i8] c"node\00" @.str8858 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8859 = private unnamed_addr constant [6 x i8] c"count\00" @.str8860 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str8861 = private unnamed_addr constant [5 x i8] c"node\00" @.str8862 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8863 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str8864 = private unnamed_addr constant [7 x i8] c"decode\00" @.str8865 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str8866 = private unnamed_addr constant [4 x i8] c"src\00" @.str8867 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8868 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str8869 = private unnamed_addr constant [4 x i8] c"src\00" @.str8870 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str8871 = private unnamed_addr constant [5 x i8] c"read\00" @.str8872 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str8873 = private unnamed_addr constant [5 x i8] c"path\00" @.str8874 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str8875 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str8876 = private unnamed_addr constant [5 x i8] c"path\00" @.str8877 = private unnamed_addr constant [5 x i8] c"load\00" @.str8878 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str8879 = private unnamed_addr constant [5 x i8] c"path\00" @.str8880 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8881 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str8882 = private unnamed_addr constant [4 x i8] c"map\00" @.str8883 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8884 = private unnamed_addr constant [2 x i8] c"x\00" @.str8885 = private unnamed_addr constant [2 x i8] c"y\00" @.str8886 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8887 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str8888 = private unnamed_addr constant [4 x i8] c"map\00" @.str8889 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8890 = private unnamed_addr constant [6 x i8] c"width\00" @.str8891 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str8892 = private unnamed_addr constant [4 x i8] c"map\00" @.str8893 = private unnamed_addr constant [7 x i8] c"height\00" @.str8894 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str8895 = private unnamed_addr constant [4 x i8] c"map\00" @.str8896 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str8897 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str8898 = private unnamed_addr constant [4 x i8] c"map\00" @.str8899 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str8900 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str8901 = private unnamed_addr constant [4 x i8] c"map\00" @.str8902 = private unnamed_addr constant [6 x i8] c"index\00" @.str8903 = private unnamed_addr constant [5 x i8] c"draw\00" @.str8904 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str8905 = private unnamed_addr constant [4 x i8] c"map\00" @.str8906 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8907 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8908 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str8909 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str8910 = private unnamed_addr constant [4 x i8] c"map\00" @.str8911 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8912 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8913 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8914 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str8915 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str8916 = private unnamed_addr constant [4 x i8] c"map\00" @.str8917 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8918 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8919 = private unnamed_addr constant [9 x i8] c"animated\00" @.str8920 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str8921 = private unnamed_addr constant [4 x i8] c"map\00" @.str8922 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8923 = private unnamed_addr constant [8 x i8] c"project\00" @.str8924 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str8925 = private unnamed_addr constant [4 x i8] c"map\00" @.str8926 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8927 = private unnamed_addr constant [8 x i8] c"collide\00" @.str8928 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str8929 = private unnamed_addr constant [4 x i8] c"map\00" @.str8930 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8931 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str8932 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str8933 = private unnamed_addr constant [4 x i8] c"map\00" @.str8934 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8935 = private unnamed_addr constant [5 x i8] c"tree\00" @.str8936 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str8937 = private unnamed_addr constant [4 x i8] c"map\00" @.str8938 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str8939 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str8940 = private unnamed_addr constant [4 x i8] c"map\00" @.str8941 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8942 = private unnamed_addr constant [5 x i8] c"name\00" @.str8943 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str8944 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str8945 = private unnamed_addr constant [4 x i8] c"map\00" @.str8946 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8947 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str8948 = private unnamed_addr constant [18 x i8] c"tmap_object_count\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 [7 x i8] c"object\00" @.str8952 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str8953 = private unnamed_addr constant [4 x i8] c"map\00" @.str8954 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8955 = private unnamed_addr constant [6 x i8] c"index\00" @.str8956 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str8957 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str8958 = private unnamed_addr constant [7 x i8] c"object\00" @.str8959 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8960 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str8961 = private unnamed_addr constant [10 x i8] c"container\00" @.str8962 = private unnamed_addr constant [5 x i8] c"name\00" @.str8963 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str8964 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str8965 = private unnamed_addr constant [10 x i8] c"container\00" @.str8966 = private unnamed_addr constant [5 x i8] c"name\00" @.str8967 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str8968 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str8969 = private unnamed_addr constant [10 x i8] c"container\00" @.str8970 = private unnamed_addr constant [5 x i8] c"name\00" @.str8971 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str8972 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str8973 = private unnamed_addr constant [5 x i8] c"path\00" @.str8974 = private unnamed_addr constant [9 x i8] c"template\00" @.str8975 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str8976 = private unnamed_addr constant [5 x i8] c"path\00" @.str8977 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8978 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str8979 = private unnamed_addr constant [4 x i8] c"map\00" @.str8980 = private unnamed_addr constant [7 x i8] c"object\00" @.str8981 = private unnamed_addr constant [6 x i8] c"model\00" @.str8982 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str8983 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str8984 = private unnamed_addr constant [4 x i8] c"map\00" @.str8985 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8986 = private unnamed_addr constant [6 x i8] c"model\00" @.str8987 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str8988 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str8989 = private unnamed_addr constant [4 x i8] c"map\00" @.str8990 = private unnamed_addr constant [2 x i8] c"x\00" @.str8991 = private unnamed_addr constant [2 x i8] c"y\00" @.str8992 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str8993 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str8994 = private unnamed_addr constant [4 x i8] c"map\00" @.str8995 = private unnamed_addr constant [2 x i8] c"x\00" @.str8996 = private unnamed_addr constant [2 x i8] c"y\00" @.str8997 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str8998 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str8999 = private unnamed_addr constant [4 x i8] c"map\00" @.str9000 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9001 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str9002 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str9003 = private unnamed_addr constant [4 x i8] c"map\00" @.str9004 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9005 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str9006 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str9007 = private unnamed_addr constant [4 x i8] c"map\00" @.str9008 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9009 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str9010 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str9011 = private unnamed_addr constant [4 x i8] c"map\00" @.str9012 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9013 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str9014 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str9015 = private unnamed_addr constant [4 x i8] c"map\00" @.str9016 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9017 = private unnamed_addr constant [6 x i8] c"world\00" @.str9018 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str9019 = private unnamed_addr constant [5 x i8] c"path\00" @.str9020 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str9021 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str9022 = private unnamed_addr constant [6 x i8] c"world\00" @.str9023 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str9024 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str9025 = private unnamed_addr constant [6 x i8] c"world\00" @.str9026 = private unnamed_addr constant [6 x i8] c"index\00" @.str9027 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str9028 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str9029 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str9030 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str9031 = private unnamed_addr constant [2 x i8] c"_\00" @.str9032 = private unnamed_addr constant [2 x i8] c".\00" @.str9033 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str9034 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str9035 = private unnamed_addr constant [2 x i8] c".\00" @.str9036 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str9037 = private unnamed_addr constant [8 x i8] c" takes \00" @.str9038 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str9039 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9040 = private unnamed_addr constant [2 x i8] c")\00" @.str9041 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9042 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9043 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9044 = private unnamed_addr constant [3 x i8] c" \00" @.str9045 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9046 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9047 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9048 = private unnamed_addr constant [9 x i8] c" store \00" @.str9049 = private unnamed_addr constant [2 x i8] c" \00" @.str9050 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9051 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9052 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str9053 = private unnamed_addr constant [5 x i8] c"self\00" @.str9054 = private unnamed_addr constant [2 x i8] c"0\00" @.str9055 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9056 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9057 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9058 = private unnamed_addr constant [4 x i8] c"key\00" @.str9059 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str9060 = private unnamed_addr constant [4 x i8] c"int\00" @.str9061 = private unnamed_addr constant [5 x i8] c"save\00" @.str9062 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str9063 = private unnamed_addr constant [2 x i8] c"0\00" @.str9064 = private unnamed_addr constant [5 x i8] c"void\00" @.str9065 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str9066 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str9067 = private unnamed_addr constant [2 x i8] c"0\00" @.str9068 = private unnamed_addr constant [5 x i8] c"void\00" @.str9069 = private unnamed_addr constant [5 x i8] c"load\00" @.str9070 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str9071 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9072 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str9073 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str9074 = private unnamed_addr constant [4 x i8] c"int\00" @.str9075 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str9076 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str9077 = private unnamed_addr constant [2 x i8] c")\00" @.str9078 = private unnamed_addr constant [4 x i8] c"int\00" @.str9079 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str9080 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str9081 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9082 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9083 = private unnamed_addr constant [2 x i8] c"0\00" @.str9084 = private unnamed_addr constant [5 x i8] c"void\00" @.str9085 = private unnamed_addr constant [5 x i8] c"quit\00" @.str9086 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str9087 = private unnamed_addr constant [2 x i8] c"0\00" @.str9088 = private unnamed_addr constant [5 x i8] c"void\00" @.str9089 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str9090 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str9091 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9092 = private unnamed_addr constant [2 x i8] c")\00" @.str9093 = private unnamed_addr constant [4 x i8] c"int\00" @.str9094 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9095 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str9096 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9097 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9098 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9099 = private unnamed_addr constant [2 x i8] c"0\00" @.str9100 = private unnamed_addr constant [5 x i8] c"void\00" @.str9101 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str9102 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str9103 = private unnamed_addr constant [2 x i8] c")\00" @.str9104 = private unnamed_addr constant [4 x i8] c"int\00" @.str9105 = private unnamed_addr constant [6 x i8] c"owner\00" @.str9106 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str9107 = private unnamed_addr constant [2 x i8] c")\00" @.str9108 = private unnamed_addr constant [4 x i8] c"int\00" @.str9109 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str9110 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str9111 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9112 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9113 = private unnamed_addr constant [2 x i8] c"0\00" @.str9114 = private unnamed_addr constant [5 x i8] c"void\00" @.str9115 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str9116 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str9117 = private unnamed_addr constant [2 x i8] c")\00" @.str9118 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9119 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str9120 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9121 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9122 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9123 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9124 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9125 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9126 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str9127 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str9128 = private unnamed_addr constant [4 x i8] c"int\00" @.str9129 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str9130 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str9131 = private unnamed_addr constant [2 x i8] c"0\00" @.str9132 = private unnamed_addr constant [5 x i8] c"void\00" @.str9133 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str9134 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str9135 = private unnamed_addr constant [2 x i8] c"0\00" @.str9136 = private unnamed_addr constant [5 x i8] c"void\00" @.str9137 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str9138 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str9139 = private unnamed_addr constant [2 x i8] c"0\00" @.str9140 = private unnamed_addr constant [5 x i8] c"void\00" @.str9141 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str9142 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9143 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str9144 = private unnamed_addr constant [2 x i8] c"0\00" @.str9145 = private unnamed_addr constant [5 x i8] c"void\00" @.str9146 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str9147 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9148 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str9149 = private unnamed_addr constant [2 x i8] c"0\00" @.str9150 = private unnamed_addr constant [5 x i8] c"void\00" @.str9151 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9152 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9153 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str9154 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9155 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9156 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9157 = private unnamed_addr constant [2 x i8] c"0\00" @.str9158 = private unnamed_addr constant [5 x i8] c"void\00" @.str9159 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9160 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9161 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str9162 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9163 = private unnamed_addr constant [2 x i8] c")\00" @.str9164 = private unnamed_addr constant [4 x i8] c"int\00" @.str9165 = private unnamed_addr constant [4 x i8] c"len\00" @.str9166 = private unnamed_addr constant [5 x i8] c"push\00" @.str9167 = private unnamed_addr constant [7 x i8] c"string\00" @.str9168 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9169 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9170 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str9171 = private unnamed_addr constant [2 x i8] c")\00" @.str9172 = private unnamed_addr constant [7 x i8] c"string\00" @.str9173 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str9174 = private unnamed_addr constant [2 x i8] c")\00" @.str9175 = private unnamed_addr constant [7 x i8] c"string\00" @.str9176 = private unnamed_addr constant [6 x i8] c"print\00" @.str9177 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9178 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str9179 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9180 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9181 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str9182 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9183 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str9184 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9185 = private unnamed_addr constant [2 x i8] c"0\00" @.str9186 = private unnamed_addr constant [5 x i8] c"void\00" @.str9187 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str9188 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9189 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9190 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9191 = private unnamed_addr constant [2 x i8] c")\00" @.str9192 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9193 = private unnamed_addr constant [6 x i8] c"words\00" @.str9194 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9195 = private unnamed_addr constant [4 x i8] c", 4\00" @.str9196 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9197 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9198 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9199 = private unnamed_addr constant [2 x i8] c")\00" @.str9200 = private unnamed_addr constant [6 x i8] c"words\00" @.str9201 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9202 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9203 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9204 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9205 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9206 = private unnamed_addr constant [6 x i8] c"float\00" @.str9207 = private unnamed_addr constant [7 x i8] c"double\00" @.str9208 = private unnamed_addr constant [4 x i8] c"int\00" @.str9209 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9210 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9211 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9212 = private unnamed_addr constant [4 x i8] c"int\00" @.str9213 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9214 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9215 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9216 = private unnamed_addr constant [4 x i8] c"int\00" @.str9217 = private unnamed_addr constant [4 x i8] c"int\00" @.str9218 = private unnamed_addr constant [5 x i8] c"long\00" @.str9219 = private unnamed_addr constant [5 x i8] c"long\00" @.str9220 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str9221 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str9222 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str9223 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str9224 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9225 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9226 = private unnamed_addr constant [6 x i8] c"float\00" @.str9227 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9228 = private unnamed_addr constant [7 x i8] c"double\00" @.str9229 = private unnamed_addr constant [6 x i8] c"floor\00" @.str9230 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9231 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9232 = private unnamed_addr constant [4 x i8] c"int\00" @.str9233 = private unnamed_addr constant [7 x i8] c"expect\00" @.str9234 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9235 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9236 = private unnamed_addr constant [2 x i8] c":\00" @.str9237 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str9238 = private unnamed_addr constant [1 x i8] c"\00" @.str9239 = private unnamed_addr constant [1 x i8] c"\00" @.str9240 = private unnamed_addr constant [2 x i8] c"0\00" @.str9241 = private unnamed_addr constant [5 x i8] c"void\00" @.str9242 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str9243 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9244 = private unnamed_addr constant [3 x i8] c", \00" @.str9245 = private unnamed_addr constant [2 x i8] c":\00" @.str9246 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str9247 = private unnamed_addr constant [2 x i8] c"0\00" @.str9248 = private unnamed_addr constant [5 x i8] c"void\00" @.str9249 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str9250 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9251 = private unnamed_addr constant [3 x i8] c", \00" @.str9252 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9253 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9254 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9255 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9256 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9257 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9258 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9259 = private unnamed_addr constant [3 x i8] c", \00" @.str9260 = private unnamed_addr constant [2 x i8] c":\00" @.str9261 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str9262 = private unnamed_addr constant [2 x i8] c"0\00" @.str9263 = private unnamed_addr constant [5 x i8] c"void\00" @.str9264 = private unnamed_addr constant [6 x i8] c"panic\00" @.str9265 = private unnamed_addr constant [2 x i8] c":\00" @.str9266 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9267 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9268 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9269 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9270 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9271 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9272 = private unnamed_addr constant [2 x i8] c"0\00" @.str9273 = private unnamed_addr constant [5 x i8] c"void\00" @.str9274 = private unnamed_addr constant [7 x i8] c"assert\00" @.str9275 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9276 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9277 = private unnamed_addr constant [5 x i8] c"asok\00" @.str9278 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str9279 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9280 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9281 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9282 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9283 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9284 = private unnamed_addr constant [2 x i8] c":\00" @.str9285 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str9286 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9287 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9288 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9289 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9290 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9291 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9292 = private unnamed_addr constant [2 x i8] c"0\00" @.str9293 = private unnamed_addr constant [5 x i8] c"void\00" @.str9294 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9295 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9296 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9297 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9298 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9299 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9300 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9301 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9302 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9303 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9304 = private unnamed_addr constant [4 x i8] c"int\00" @.str9305 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9306 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9307 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9308 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9309 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str9310 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9311 = private unnamed_addr constant [7 x i8] c"result\00" @.str9312 = private unnamed_addr constant [4 x i8] c"err\00" @.str9313 = private unnamed_addr constant [4 x i8] c"err\00" @.str9314 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9315 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9316 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9317 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9318 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9319 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9320 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9321 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9322 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9323 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9324 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9325 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9326 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9327 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9328 = private unnamed_addr constant [7 x i8] c"result\00" @.str9329 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9330 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9331 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9332 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9333 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9334 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9335 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9336 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9337 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9338 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9339 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9340 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9341 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9342 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9343 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9344 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9345 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9346 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9347 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9348 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9349 = private unnamed_addr constant [5 x i8] c"some\00" @.str9350 = private unnamed_addr constant [5 x i8] c"some\00" @.str9351 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\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 [20 x i8] c" store i32 1, ptr \00" @.str9355 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9356 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9357 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9358 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9359 = private unnamed_addr constant [4 x i8] c"int\00" @.str9360 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9361 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9362 = private unnamed_addr constant [7 x i8] c"option\00" @.str9363 = private unnamed_addr constant [5 x i8] c"none\00" @.str9364 = private unnamed_addr constant [5 x i8] c"none\00" @.str9365 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str9366 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9367 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9368 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9370 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9371 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9372 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9373 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9374 = private unnamed_addr constant [7 x i8] c"option\00" @.str9375 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9376 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9377 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9378 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9379 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9380 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9381 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9382 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9383 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9384 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9385 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9386 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9387 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9388 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9389 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9390 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9391 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9392 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9393 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9394 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9395 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9396 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9397 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9398 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9399 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9400 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9401 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9402 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9403 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9404 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9405 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9406 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9407 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9408 = private unnamed_addr constant [4 x i8] c"int\00" @.str9409 = private unnamed_addr constant [4 x i8] c"int\00" @.str9410 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str9411 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \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_field_id\00" @.str9415 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str9416 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9417 = private unnamed_addr constant [2 x i8] c")\00" @.str9418 = private unnamed_addr constant [4 x i8] c"int\00" @.str9419 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str9420 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str9421 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9422 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9423 = private unnamed_addr constant [2 x i8] c")\00" @.str9424 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9425 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9426 = private unnamed_addr constant [4 x i8] c"int\00" @.str9427 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str9428 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str9429 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9430 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str9431 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9432 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9433 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9434 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9435 = private unnamed_addr constant [2 x i8] c"0\00" @.str9436 = private unnamed_addr constant [5 x i8] c"void\00" @.str9437 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str9438 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str9439 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9440 = private unnamed_addr constant [2 x i8] c")\00" @.str9441 = private unnamed_addr constant [4 x i8] c"int\00" @.str9442 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str9443 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str9444 = private unnamed_addr constant [4 x i8] c"int\00" @.str9445 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str9446 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str9447 = private unnamed_addr constant [2 x i8] c")\00" @.str9448 = private unnamed_addr constant [4 x i8] c"int\00" @.str9449 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str9450 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str9451 = private unnamed_addr constant [2 x i8] c")\00" @.str9452 = private unnamed_addr constant [4 x i8] c"int\00" @.str9453 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str9454 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str9455 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9456 = private unnamed_addr constant [2 x i8] c")\00" @.str9457 = private unnamed_addr constant [4 x i8] c"int\00" @.str9458 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str9459 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str9460 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9461 = private unnamed_addr constant [2 x i8] c")\00" @.str9462 = private unnamed_addr constant [4 x i8] c"int\00" @.str9463 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str9464 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str9465 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9466 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9467 = private unnamed_addr constant [2 x i8] c"0\00" @.str9468 = private unnamed_addr constant [5 x i8] c"void\00" @.str9469 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str9470 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str9471 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9472 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9473 = private unnamed_addr constant [2 x i8] c"0\00" @.str9474 = private unnamed_addr constant [5 x i8] c"void\00" @.str9475 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str9476 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str9477 = private unnamed_addr constant [2 x i8] c")\00" @.str9478 = private unnamed_addr constant [4 x i8] c"int\00" @.str9479 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str9480 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str9481 = private unnamed_addr constant [4 x i8] c"int\00" @.str9482 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str9483 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str9484 = private unnamed_addr constant [2 x i8] c")\00" @.str9485 = private unnamed_addr constant [7 x i8] c"string\00" @.str9486 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str9487 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str9488 = private unnamed_addr constant [2 x i8] c")\00" @.str9489 = private unnamed_addr constant [4 x i8] c"int\00" @.str9490 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str9491 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str9492 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9493 = private unnamed_addr constant [2 x i8] c")\00" @.str9494 = private unnamed_addr constant [7 x i8] c"string\00" @.str9495 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str9496 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(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 [3 x i8] c" \00" @.str9501 = private unnamed_addr constant [2 x i8] c"0\00" @.str9502 = private unnamed_addr constant [5 x i8] c"void\00" @.str9503 = private unnamed_addr constant [4 x i8] c" = \00" @.str9504 = private unnamed_addr constant [6 x i8] c"call \00" @.str9505 = private unnamed_addr constant [3 x i8] c" @\00" @.str9506 = private unnamed_addr constant [2 x i8] c"(\00" @.str9507 = private unnamed_addr constant [3 x i8] c", \00" @.str9508 = private unnamed_addr constant [2 x i8] c" \00" @.str9509 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9510 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str9511 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str9512 = private unnamed_addr constant [3 x i8] c" \00" @.str9513 = private unnamed_addr constant [2 x i8] c"0\00" @.str9514 = private unnamed_addr constant [5 x i8] c"void\00" @.str9515 = private unnamed_addr constant [4 x i8] c" = \00" @.str9516 = private unnamed_addr constant [6 x i8] c"call \00" @.str9517 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str9518 = private unnamed_addr constant [2 x i8] c"(\00" @.str9519 = private unnamed_addr constant [3 x i8] c", \00" @.str9520 = private unnamed_addr constant [2 x i8] c" \00" @.str9521 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9522 = private unnamed_addr constant [2 x i8] c"0\00" @.str9523 = private unnamed_addr constant [4 x i8] c"int\00" @.str9524 = private unnamed_addr constant [4 x i8] c"int\00" @.str9525 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9526 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9527 = private unnamed_addr constant [5 x i8] c"null\00" @.str9528 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9529 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9530 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str9531 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9532 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9533 = private unnamed_addr constant [2 x i8] c")\00" @.str9534 = private unnamed_addr constant [7 x i8] c"string\00" @.str9535 = private unnamed_addr constant [7 x i8] c"string\00" @.str9536 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9537 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str9538 = private unnamed_addr constant [5 x i8] c"void\00" @.str9539 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9540 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9541 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9542 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str9543 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str9544 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9545 = private unnamed_addr constant [7 x i8] c"const \00" @.str9546 = private unnamed_addr constant [6 x i8] c"load \00" @.str9547 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str9548 = private unnamed_addr constant [4 x i8] c"int\00" @.str9549 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str9550 = private unnamed_addr constant [6 x i8] c"Color\00" @.str9551 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str9552 = private unnamed_addr constant [4 x i8] c"int\00" @.str9553 = private unnamed_addr constant [4 x i8] c"Key\00" @.str9554 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str9555 = private unnamed_addr constant [4 x i8] c"int\00" @.str9556 = private unnamed_addr constant [4 x i8] c"int\00" @.str9557 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9558 = private unnamed_addr constant [2 x i8] c"x\00" @.str9559 = private unnamed_addr constant [2 x i8] c"y\00" @.str9560 = private unnamed_addr constant [2 x i8] c"x\00" @.str9561 = private unnamed_addr constant [4 x i8] c"int\00" @.str9562 = private unnamed_addr constant [4 x i8] c"int\00" @.str9563 = private unnamed_addr constant [5 x i8] c"byte\00" @.str9564 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9565 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str9566 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9567 = private unnamed_addr constant [4 x i8] c"int\00" @.str9568 = private unnamed_addr constant [2 x i8] c"-\00" @.str9569 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str9570 = private unnamed_addr constant [2 x i8] c" \00" @.str9571 = private unnamed_addr constant [10 x i8] c"operator \00" @.str9572 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str9573 = private unnamed_addr constant [2 x i8] c"-\00" @.str9574 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9575 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9576 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9577 = private unnamed_addr constant [2 x i8] c"-\00" @.str9578 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str9579 = private unnamed_addr constant [5 x i8] c"long\00" @.str9580 = private unnamed_addr constant [2 x i8] c"~\00" @.str9581 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str9582 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9583 = private unnamed_addr constant [5 x i8] c"long\00" @.str9584 = private unnamed_addr constant [2 x i8] c"-\00" @.str9585 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9586 = private unnamed_addr constant [2 x i8] c"~\00" @.str9587 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str9588 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9589 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9590 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9591 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9592 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9593 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9594 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str9595 = private unnamed_addr constant [2 x i8] c"0\00" @.str9596 = private unnamed_addr constant [4 x i8] c"int\00" @.str9597 = private unnamed_addr constant [9 x i8] c" store \00" @.str9598 = private unnamed_addr constant [2 x i8] c" \00" @.str9599 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9600 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9601 = private unnamed_addr constant [2 x i8] c"0\00" @.str9602 = private unnamed_addr constant [4 x i8] c"int\00" @.str9603 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str9604 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str9605 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str9606 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str9607 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str9608 = private unnamed_addr constant [2 x i8] c"=\00" @.str9609 = private unnamed_addr constant [6 x i8] c"load \00" @.str9610 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9611 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9612 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str9613 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str9614 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9615 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9616 = private unnamed_addr constant [5 x i8] c"then\00" @.str9617 = private unnamed_addr constant [5 x i8] c"else\00" @.str9618 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str9619 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9620 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9621 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9622 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9623 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9624 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9625 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9627 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9628 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9629 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9630 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9631 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9632 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9633 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9634 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str9635 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str9636 = private unnamed_addr constant [5 x i8] c"wend\00" @.str9637 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9638 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9639 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9640 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9641 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9642 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9643 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9644 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9645 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9646 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9647 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9648 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9649 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9650 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9651 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9652 = private unnamed_addr constant [4 x i8] c"int\00" @.str9653 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str9654 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str9655 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str9656 = private unnamed_addr constant [5 x i8] c"fend\00" @.str9657 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9659 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9660 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9661 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9662 = private unnamed_addr constant [3 x i8] c", \00" @.str9663 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9664 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9665 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9666 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9667 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9668 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9669 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9670 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9671 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9672 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9673 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9674 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9675 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9676 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9677 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9678 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str9679 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9680 = private unnamed_addr constant [2 x i8] c"_\00" @.str9681 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9682 = private unnamed_addr constant [8 x i8] c" binds \00" @.str9683 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str9684 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9685 = private unnamed_addr constant [10 x i8] c" payload \00" @.str9686 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str9687 = private unnamed_addr constant [3 x i8] c" \00" @.str9688 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9689 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9691 = private unnamed_addr constant [6 x i8] c"load \00" @.str9692 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9693 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9694 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9695 = private unnamed_addr constant [2 x i8] c"0\00" @.str9696 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9697 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str9698 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9699 = private unnamed_addr constant [3 x i8] c", \00" @.str9700 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9701 = private unnamed_addr constant [3 x i8] c", \00" @.str9702 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9703 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9704 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9705 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9706 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9707 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9708 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9709 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9710 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9711 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9712 = private unnamed_addr constant [10 x i8] c"match on \00" @.str9713 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str9714 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str9715 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9716 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9717 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9718 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9719 = private unnamed_addr constant [2 x i8] c"0\00" @.str9720 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9721 = private unnamed_addr constant [3 x i8] c", \00" @.str9722 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9723 = private unnamed_addr constant [3 x i8] c", \00" @.str9724 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9725 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9726 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9727 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9728 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9729 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9730 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9731 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9732 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9733 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9734 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9735 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9736 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9737 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str9738 = private unnamed_addr constant [2 x i8] c"0\00" @.str9739 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9740 = private unnamed_addr constant [5 x i8] c"null\00" @.str9741 = private unnamed_addr constant [3 x i8] c" \00" @.str9742 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str9743 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9744 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9745 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9746 = private unnamed_addr constant [3 x i8] c" \00" @.str9747 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str9748 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9749 = private unnamed_addr constant [9 x i8] c" store \00" @.str9750 = private unnamed_addr constant [2 x i8] c" \00" @.str9751 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9752 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9753 = private unnamed_addr constant [2 x i8] c"0\00" @.str9754 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str9755 = private unnamed_addr constant [3 x i8] c"-1\00" @.str9756 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9757 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str9758 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9759 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str9760 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9761 = private unnamed_addr constant [2 x i8] c"0\00" @.str9762 = private unnamed_addr constant [4 x i8] c"int\00" @.str9763 = private unnamed_addr constant [3 x i8] c", \00" @.str9764 = private unnamed_addr constant [2 x i8] c" \00" @.str9765 = private unnamed_addr constant [3 x i8] c" \00" @.str9766 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str9767 = private unnamed_addr constant [2 x i8] c"(\00" @.str9768 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9769 = private unnamed_addr constant [4 x i8] c"int\00" @.str9770 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9771 = private unnamed_addr constant [2 x i8] c"(\00" @.str9772 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9773 = private unnamed_addr constant [2 x i8] c"0\00" @.str9774 = private unnamed_addr constant [4 x i8] c"int\00" @.str9775 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9776 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9777 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9778 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9779 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str9780 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9781 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9782 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str9783 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str9784 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str9785 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str9786 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str9787 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str9788 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str9789 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str9790 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9791 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str9792 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9793 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str9794 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9795 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str9796 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str9797 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str9798 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str9799 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9800 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str9801 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9802 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9803 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str9804 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str9805 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9806 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str9807 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9808 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9809 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9810 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9811 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str9812 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9813 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str9814 = private unnamed_addr constant [3 x i8] c"%h\00" @.str9815 = private unnamed_addr constant [3 x i8] c" \00" @.str9816 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9817 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9818 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9819 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9820 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9821 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str9822 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9823 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str9824 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str9825 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str9826 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str9827 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9828 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str9829 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9830 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str9831 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str9832 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str9833 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str9834 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9835 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9836 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str9837 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str9838 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9839 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str9840 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str9841 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str9842 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str9843 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9844 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str9845 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str9846 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9847 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9848 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9849 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str9850 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str9851 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str9852 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9853 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9854 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str9855 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9856 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9857 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9858 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str9859 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str9860 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str9861 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9862 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9863 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9864 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9865 = private unnamed_addr constant [2 x i8] c"0\00" @.str9866 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str9867 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str9868 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str9869 = private unnamed_addr constant [5 x i8] c"qend\00" @.str9870 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9871 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9872 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9873 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9874 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str9875 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9876 = private unnamed_addr constant [3 x i8] c", \00" @.str9877 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9878 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9879 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9880 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9881 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9882 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9883 = private unnamed_addr constant [3 x i8] c" \00" @.str9884 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9885 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str9886 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9887 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9888 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9889 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9890 = private unnamed_addr constant [3 x i8] c"qa\00" @.str9891 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9892 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9893 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9895 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9896 = private unnamed_addr constant [2 x i8] c"0\00" @.str9897 = private unnamed_addr constant [3 x i8] c" \00" @.str9898 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9899 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9901 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9902 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9903 = private unnamed_addr constant [3 x i8] c", \00" @.str9904 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str9905 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9906 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9907 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9908 = private unnamed_addr constant [3 x i8] c", \00" @.str9909 = private unnamed_addr constant [3 x i8] c" \00" @.str9910 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9911 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9912 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9913 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9914 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9915 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9916 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9917 = private unnamed_addr constant [3 x i8] c"qt\00" @.str9918 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9919 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9920 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9921 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9923 = private unnamed_addr constant [3 x i8] c" \00" @.str9924 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9925 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9926 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9927 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9928 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9929 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9930 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9931 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9932 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9933 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9934 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9935 = private unnamed_addr constant [3 x i8] c"qw\00" @.str9936 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9937 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9938 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9939 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9940 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9941 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9942 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9943 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9944 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9945 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9946 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9947 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9948 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9949 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9950 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9951 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9952 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9953 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9954 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9955 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str9956 = private unnamed_addr constant [3 x i8] c" \00" @.str9957 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9958 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9959 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9960 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9961 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str9962 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9963 = private unnamed_addr constant [3 x i8] c" \00" @.str9964 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9965 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9966 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9967 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9968 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9969 = private unnamed_addr constant [3 x i8] c" \00" @.str9970 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9971 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9972 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9973 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9974 = private unnamed_addr constant [9 x i8] c" store \00" @.str9975 = private unnamed_addr constant [2 x i8] c" \00" @.str9976 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9977 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9978 = private unnamed_addr constant [3 x i8] c" \00" @.str9979 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9980 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9981 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9982 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9983 = private unnamed_addr constant [9 x i8] c" store \00" @.str9984 = private unnamed_addr constant [2 x i8] c" \00" @.str9985 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9986 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9987 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9988 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9989 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9990 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9991 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9992 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str9993 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9994 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9995 = private unnamed_addr constant [3 x i8] c")\0A\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 [9 x i8] c" x %Cmp_\00" @.str9999 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10000 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10001 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10002 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10003 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10004 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10006 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str10007 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str10008 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str10009 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10010 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10011 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str10012 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str10013 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10014 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10015 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10017 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10018 = private unnamed_addr constant [2 x i8] c":\00" @.str10019 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str10020 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str10021 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str10022 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str10023 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10024 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10025 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str10026 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10027 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str10028 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str10029 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str10030 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str10031 = private unnamed_addr constant [3 x i8] c" \00" @.str10032 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10033 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10034 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10035 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10036 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10037 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10038 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10039 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str10040 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10041 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10042 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10043 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str10044 = private unnamed_addr constant [3 x i8] c" \00" @.str10045 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10046 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10047 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10048 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10049 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10050 = private unnamed_addr constant [3 x i8] c", \00" @.str10051 = private unnamed_addr constant [3 x i8] c"dh\00" @.str10052 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str10053 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10054 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10055 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10056 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10057 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10058 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10059 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10060 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10061 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10062 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10063 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10064 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10065 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10067 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10068 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str10069 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10070 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str10071 = private unnamed_addr constant [3 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 [16 x i8] c" x i8], ptr @H_\00" @.str10075 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10076 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10077 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10078 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str10079 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10080 = private unnamed_addr constant [7 x i8] c"attach\00" @.str10081 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str10082 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10083 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10084 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10085 = private unnamed_addr constant [2 x i8] c"\0A\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 [3 x i8] c" \00" @.str10091 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10092 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10093 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10095 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10096 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str10097 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10098 = private unnamed_addr constant [7 x i8] c"detach\00" @.str10099 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str10100 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10101 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10102 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10104 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10105 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str10106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10107 = private unnamed_addr constant [3 x i8] c" \00" @.str10108 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10109 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10110 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10111 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10112 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10113 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10114 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10115 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10116 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10117 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10118 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str10119 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10120 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10121 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10122 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10123 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10124 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10125 = private unnamed_addr constant [2 x i8] c"0\00" @.str10126 = private unnamed_addr constant [2 x i8] c"1\00" @.str10127 = private unnamed_addr constant [7 x i8] c"system\00" @.str10128 = private unnamed_addr constant [6 x i8] c"layer\00" @.str10129 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10130 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str10131 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10132 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10133 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str10134 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10135 = private unnamed_addr constant [6 x i8] c"_show\00" @.str10136 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10137 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10138 = private unnamed_addr constant [3 x i8] c" \00" @.str10139 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10140 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10141 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10142 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10143 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str10144 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10146 = private unnamed_addr constant [3 x i8] c" \00" @.str10147 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10148 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10149 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10150 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10151 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10152 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10153 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10154 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10155 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10156 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10157 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str10158 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10159 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str10160 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10161 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10162 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10163 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10164 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str10165 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10166 = private unnamed_addr constant [2 x i8] c"_\00" @.str10167 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10168 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10169 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10170 = private unnamed_addr constant [5 x i8] c"void\00" @.str10171 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10172 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10173 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str10174 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10175 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10176 = private unnamed_addr constant [1 x i8] c"\00" @.str10177 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str10178 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10179 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10180 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str10181 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10182 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10183 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10184 = private unnamed_addr constant [3 x i8] c", \00" @.str10185 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str10186 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10187 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10188 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10189 = private unnamed_addr constant [3 x i8] c", \00" @.str10190 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str10191 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str10192 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10193 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10194 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10195 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10196 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str10197 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10198 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10199 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10200 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10201 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str10202 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10203 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10204 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str10205 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str10206 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str10207 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str10208 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str10209 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10210 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str10211 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str10212 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str10213 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str10214 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str10215 = 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" @.str10216 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str10217 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10218 = 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" @.str10219 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10220 = private unnamed_addr constant [2 x i8] c"c\00" @.str10221 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10222 = private unnamed_addr constant [5 x i8] c" %h\00" @.str10223 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10224 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10225 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10226 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10227 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str10228 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10229 = private unnamed_addr constant [7 x i8] c" %has\00" @.str10230 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str10231 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10232 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str10233 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str10234 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str10235 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10236 = private unnamed_addr constant [2 x i8] c"t\00" @.str10237 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10238 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10239 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10240 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10241 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10242 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10243 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10244 = private unnamed_addr constant [2 x i8] c"_\00" @.str10245 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str10246 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10247 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10248 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10249 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10250 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str10251 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str10252 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10253 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str10254 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str10255 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10256 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str10257 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str10258 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str10259 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str10260 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str10261 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str10262 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str10263 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10264 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str10265 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str10266 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10267 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str10268 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10269 = private unnamed_addr constant [2 x i8] c"c\00" @.str10270 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str10271 = 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" @.str10272 = private unnamed_addr constant [4 x i8] c"int\00" @.str10273 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10274 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10275 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str10276 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10277 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10278 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str10279 = private unnamed_addr constant [2 x i8] c")\00" @.str10280 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10281 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10282 = private unnamed_addr constant [3 x i8] c"pf\00" @.str10283 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str10284 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10285 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10286 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10287 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10288 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10289 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str10290 = private unnamed_addr constant [3 x i8] c"()\00" @.str10291 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10292 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10293 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10294 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10295 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str10296 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10297 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10298 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10299 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10300 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10301 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10302 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10303 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str10304 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10305 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str10306 = private unnamed_addr constant [2 x i8] c"'\00" @.str10307 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10308 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10309 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10310 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10311 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10312 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10313 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10314 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str10315 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str10316 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str10317 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str10318 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str10319 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str10320 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str10321 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str10322 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str10323 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str10324 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str10325 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str10326 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str10327 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str10328 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str10329 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str10330 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str10331 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str10332 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str10333 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str10334 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str10335 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str10336 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str10337 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10338 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10339 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10340 = 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" @.str10341 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str10342 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10343 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str10344 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10345 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str10346 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str10347 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str10348 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str10349 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10350 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str10351 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str10352 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str10353 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str10354 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str10355 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str10356 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str10357 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str10358 = 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" @.str10359 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10360 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str10361 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str10362 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str10363 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str10364 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str10365 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str10366 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10367 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10368 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str10369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10370 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10371 = private unnamed_addr constant [3 x i8] c" \00" @.str10372 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str10373 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str10374 = private unnamed_addr constant [4 x i8] c", %\00" @.str10375 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str10376 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str10377 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10378 = private unnamed_addr constant [3 x i8] c", \00" @.str10379 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10380 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10381 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10382 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10383 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10384 = private unnamed_addr constant [3 x i8] c" \00" @.str10385 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10386 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str10387 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10389 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10390 = private unnamed_addr constant [3 x i8] c", \00" @.str10391 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10392 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10393 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10394 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10395 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10396 = private unnamed_addr constant [3 x i8] c" \00" @.str10397 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10398 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str10399 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10400 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10401 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10402 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10403 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10404 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10405 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str10406 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str10407 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str10408 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10409 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10410 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10411 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10412 = private unnamed_addr constant [3 x i8] c", \00" @.str10413 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str10414 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str10415 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10416 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10417 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10418 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10419 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10420 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10421 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10422 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10423 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10424 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10425 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10426 = private unnamed_addr constant [3 x i8] c", \00" @.str10427 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str10428 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str10429 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10430 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10431 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10432 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10433 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str10434 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10435 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10436 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10437 = private unnamed_addr constant [5 x i8] c"void\00" @.str10438 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10439 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str10440 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str10441 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str10442 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str10443 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10444 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10445 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str10446 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str10447 = private unnamed_addr constant [2 x i8] c"_\00" @.str10448 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10449 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10450 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10451 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10452 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str10453 = private unnamed_addr constant [2 x i8] c"_\00" @.str10454 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10455 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10456 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10457 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10458 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str10459 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str10460 = private unnamed_addr constant [6 x i8] c" %is\00" @.str10461 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str10462 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10463 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str10464 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str10465 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10466 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10467 = private unnamed_addr constant [6 x i8] c"leave\00" @.str10468 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str10469 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str10470 = private unnamed_addr constant [5 x i8] c"next\00" @.str10471 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10472 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10473 = private unnamed_addr constant [5 x i8] c"void\00" @.str10474 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10475 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str10476 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10477 = private unnamed_addr constant [4 x i8] c"int\00" @.str10478 = private unnamed_addr constant [3 x i8] c"%e\00" @.str10479 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10480 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10481 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str10482 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str10483 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10484 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str10485 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10486 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10487 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10488 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10489 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10490 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10491 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10492 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10493 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10494 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10495 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10496 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10497 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10498 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10499 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10500 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10501 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10502 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10503 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10504 = private unnamed_addr constant [5 x i8] c"next\00" @.str10505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10506 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str10507 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str10508 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10509 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str10510 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str10511 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str10512 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str10513 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10514 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10515 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str10516 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str10517 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str10518 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str10519 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10520 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10521 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10522 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10523 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10524 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10525 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10527 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10528 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10529 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10530 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10531 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10532 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10533 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10534 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10535 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10536 = private unnamed_addr constant [5 x i8] c"next\00" @.str10537 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10538 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str10539 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str10540 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str10541 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str10542 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10543 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str10544 = private unnamed_addr constant [3 x i8] c", \00" @.str10545 = private unnamed_addr constant [3 x i8] c", \00" @.str10546 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10547 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str10548 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str10549 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10550 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10551 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str10552 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str10553 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str10554 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10555 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10556 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str10557 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str10558 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10560 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10561 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10562 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10563 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10564 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10565 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10566 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10567 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10568 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10569 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10570 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str10571 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10572 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10573 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10574 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str10575 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str10576 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10577 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10578 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10579 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10580 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10581 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10582 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10583 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10584 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10585 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10586 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10587 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10588 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str10589 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10590 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10591 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10592 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str10593 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str10594 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10595 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10596 = 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" @.str10597 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str10598 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str10599 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10600 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str10601 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str10602 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str10603 = private unnamed_addr constant [5 x i8] c"void\00" @.str10604 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str10605 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str10606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10607 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str10608 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str10609 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str10610 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10611 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str10612 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str10613 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10614 = private unnamed_addr constant [3 x i8] c" \00" @.str10615 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10616 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10617 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10618 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10619 = private unnamed_addr constant [9 x i8] c" store \00" @.str10620 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10621 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10622 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10623 = private unnamed_addr constant [9 x i8] c" store \00" @.str10624 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10625 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10627 = private unnamed_addr constant [3 x i8] c" \00" @.str10628 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10629 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10630 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10631 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10632 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10633 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10634 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10635 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10636 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10637 = private unnamed_addr constant [4 x i8] c"evl\00" @.str10638 = private unnamed_addr constant [4 x i8] c"evb\00" @.str10639 = private unnamed_addr constant [4 x i8] c"evd\00" @.str10640 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10642 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10643 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10644 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str10645 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10646 = private unnamed_addr constant [3 x i8] c", \00" @.str10647 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10648 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10649 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10650 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10651 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10652 = private unnamed_addr constant [3 x i8] c" \00" @.str10653 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10654 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10655 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10656 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10657 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10658 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str10659 = private unnamed_addr constant [7 x i8] c", null\00" @.str10660 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str10661 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str10662 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10663 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10664 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10665 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10666 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10667 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10668 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10669 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10670 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10671 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10672 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10673 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10674 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10675 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10676 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10677 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10678 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10679 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10680 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10681 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10682 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10683 = 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" @.str10684 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10685 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10686 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10687 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10688 = private unnamed_addr constant [5 x i8] c"void\00" @.str10689 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10690 = private unnamed_addr constant [8 x i8] c"define \00" @.str10691 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str10692 = private unnamed_addr constant [2 x i8] c"(\00" @.str10693 = private unnamed_addr constant [3 x i8] c", \00" @.str10694 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10695 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str10696 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10697 = 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" @.str10698 = private unnamed_addr constant [3 x i8] c"sw\00" @.str10699 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10700 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str10701 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str10702 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str10703 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str10704 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10705 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str10706 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str10707 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str10708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10709 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str10710 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str10711 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str10712 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10713 = private unnamed_addr constant [4 x i8] c"swb\00" @.str10714 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10715 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str10716 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10717 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10718 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10719 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10720 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str10721 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str10722 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10723 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str10724 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str10725 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str10726 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str10727 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str10728 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str10729 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10730 = private unnamed_addr constant [4 x i8] c"swh\00" @.str10731 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10732 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str10733 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10734 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10735 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10736 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10737 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str10738 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str10739 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10740 = private unnamed_addr constant [4 x i8] c"swx\00" @.str10741 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10742 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str10743 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str10744 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str10745 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str10746 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10747 = private unnamed_addr constant [4 x i8] c"swd\00" @.str10748 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str10749 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str10750 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10751 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10752 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10753 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str10754 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str10755 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str10756 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str10757 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str10758 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str10759 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10760 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10761 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10762 = private unnamed_addr constant [5 x i8] c" %e\00" @.str10763 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str10764 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10765 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str10766 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10767 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10768 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10769 = private unnamed_addr constant [2 x i8] c"h\00" @.str10770 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10771 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10772 = private unnamed_addr constant [2 x i8] c"n\00" @.str10773 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10774 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str10775 = 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" @.str10776 = 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" @.str10777 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str10778 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str10779 = 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" @.str10780 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str10781 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str10782 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str10783 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10784 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10785 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str10786 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str10787 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10788 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10789 = private unnamed_addr constant [3 x i8] c"pk\00" @.str10790 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10791 = private unnamed_addr constant [2 x i8] c"_\00" @.str10792 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str10793 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10794 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10795 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str10796 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str10797 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10798 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str10799 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str10800 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str10801 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10802 = private unnamed_addr constant [3 x i8] c"fh\00" @.str10803 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10804 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10805 = private unnamed_addr constant [3 x i8] c"fn\00" @.str10806 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10807 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10808 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10809 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10810 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10811 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10812 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10813 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10814 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10815 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10816 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10817 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10818 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10819 = private unnamed_addr constant [2 x i8] c"g\00" @.str10820 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10821 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10822 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10823 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10824 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10825 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10826 = private unnamed_addr constant [2 x i8] c"_\00" @.str10827 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str10828 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10829 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10830 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str10831 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str10832 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str10833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10834 = private unnamed_addr constant [3 x i8] c"gf\00" @.str10835 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10836 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str10837 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10838 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10839 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10840 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10841 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10842 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10843 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str10844 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10845 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10846 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str10847 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10849 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10850 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10851 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str10852 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10853 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10854 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str10855 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10856 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10857 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10858 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str10859 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10860 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10861 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str10862 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10863 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10864 = private unnamed_addr constant [3 x i8] c"gk\00" @.str10865 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10866 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str10867 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10868 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10869 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str10870 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10871 = 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" @.str10872 = 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" @.str10873 = 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" @.str10874 = 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" @.str10875 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str10876 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str10877 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10878 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10879 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10880 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10881 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10882 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10883 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10884 = private unnamed_addr constant [2 x i8] c"g\00" @.str10885 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10886 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10887 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10888 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10889 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10890 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10891 = private unnamed_addr constant [2 x i8] c"_\00" @.str10892 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10893 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10895 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10896 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str10897 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str10898 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10899 = private unnamed_addr constant [3 x i8] c"sf\00" @.str10900 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10901 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str10902 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10903 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10904 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10905 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10906 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10907 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str10908 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str10909 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str10910 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10911 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10912 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10913 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str10914 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str10915 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str10916 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10917 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10918 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str10919 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str10920 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str10921 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10922 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10923 = private unnamed_addr constant [3 x i8] c"sk\00" @.str10924 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10925 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10926 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10927 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10928 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str10929 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10930 = 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" @.str10931 = 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" @.str10932 = 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" @.str10933 = 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" @.str10934 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str10935 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10936 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10937 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10938 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10939 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10940 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10941 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10942 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10943 = private unnamed_addr constant [2 x i8] c"g\00" @.str10944 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10945 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str10946 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10947 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10948 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10949 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10950 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str10951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10952 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str10953 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str10954 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str10955 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10956 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10957 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10958 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str10959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10960 = 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" @.str10961 = 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" @.str10962 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str10963 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str10964 = 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" @.str10965 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str10966 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str10967 = 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" @.str10968 = 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" @.str10969 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str10970 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str10971 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10972 = 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" @.str10973 = 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" @.str10974 = 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" @.str10975 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str10976 = 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" @.str10977 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str10978 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10979 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10980 = 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" @.str10981 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10982 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10983 = 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" @.str10984 = 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" @.str10985 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str10986 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10987 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10988 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str10989 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str10990 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str10991 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10992 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10993 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str10994 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str10995 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10996 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str10997 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str10998 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str10999 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11000 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str11001 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11002 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11003 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str11004 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11005 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str11006 = private unnamed_addr constant [4 x i8] c"int\00" @.str11007 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11008 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11009 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str11010 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11011 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11012 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str11013 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str11014 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str11015 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11016 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str11017 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str11018 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str11019 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11020 = private unnamed_addr constant [3 x i8] c"sh\00" @.str11021 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str11022 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str11023 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str11024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11025 = private unnamed_addr constant [3 x i8] c"sn\00" @.str11026 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11027 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str11028 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str11029 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str11030 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str11031 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str11032 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str11033 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str11034 = 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" @.str11035 = 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" @.str11036 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str11037 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str11038 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str11039 = private unnamed_addr constant [1 x i8] c"\00" @.str11040 = private unnamed_addr constant [4 x i8] c"int\00" @.str11041 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str11042 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str11043 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str11044 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str11045 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str11046 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str11047 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11048 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str11049 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str11050 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str11051 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11052 = private unnamed_addr constant [3 x i8] c"ph\00" @.str11053 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11054 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11055 = private unnamed_addr constant [3 x i8] c"pn\00" @.str11056 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11057 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str11058 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11059 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str11060 = 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" @.str11061 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str11062 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11063 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str11064 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str11065 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11067 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str11068 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str11069 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str11070 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11071 = private unnamed_addr constant [4 x i8] c"fch\00" @.str11072 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11073 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11074 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str11075 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11076 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str11077 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11078 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str11079 = 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" @.str11080 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str11081 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11082 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str11083 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11084 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11085 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str11086 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str11087 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str11088 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11089 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str11090 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11091 = private unnamed_addr constant [2 x i8] c"_\00" @.str11092 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str11093 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11095 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str11096 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str11097 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str11098 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11099 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str11100 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11101 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11102 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str11103 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11104 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11105 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11106 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str11107 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11108 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11109 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11110 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11111 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str11112 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11113 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11114 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str11115 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str11116 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str11117 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11118 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str11119 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11120 = private unnamed_addr constant [2 x i8] c"_\00" @.str11121 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str11122 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11123 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11124 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str11125 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str11126 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str11127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11128 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str11129 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11130 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11131 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str11132 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11133 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11134 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11135 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str11136 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11137 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11138 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11139 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str11140 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11141 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11142 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11143 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11144 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11145 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str11146 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11147 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11148 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11149 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11150 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11151 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11152 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11153 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11154 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11155 = private unnamed_addr constant [6 x i8] c"Start\00" @.str11156 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11157 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11158 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11159 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11160 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str11161 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str11162 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11163 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11164 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str11165 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11166 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11167 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str11168 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str11169 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11170 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11171 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11172 = private unnamed_addr constant [3 x i8] c", \00" @.str11173 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11174 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11175 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11176 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11177 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11178 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str11179 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str11180 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11181 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11182 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str11183 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str11184 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11185 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11186 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str11187 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str11188 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str11189 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11190 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11191 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11192 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11193 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11194 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str11195 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str11196 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11197 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11198 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11199 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str11200 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str11201 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str11202 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11203 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11204 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11205 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str11206 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11207 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11208 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str11209 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str11210 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str11211 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str11212 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str11213 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str11214 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str11215 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str11216 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str11217 = private unnamed_addr constant [1 x i8] c"\00" @.str11218 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str11219 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str11220 = private unnamed_addr constant [2 x i8] c")\00" @.str11221 = private unnamed_addr constant [6 x i8] c"smend\00" @.str11222 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11223 = private unnamed_addr constant [3 x i8] c", \00" @.str11224 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str11225 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str11226 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11227 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11228 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11229 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11230 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11231 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11232 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11233 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11234 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11235 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11236 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11237 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11238 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str11239 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11240 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" @.str11241 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11242 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11243 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str11244 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str11245 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11246 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str11247 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11248 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11249 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11250 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11251 = private unnamed_addr constant [5 x i8] c"file\00" @.str11252 = private unnamed_addr constant [4 x i8] c"%io\00" @.str11253 = private unnamed_addr constant [3 x i8] c" \00" @.str11254 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str11255 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str11256 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str11257 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str11258 = private unnamed_addr constant [5 x i8] c"size\00" @.str11259 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11260 = private unnamed_addr constant [3 x i8] c" \00" @.str11261 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11262 = private unnamed_addr constant [3 x i8] c", \00" @.str11263 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11264 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str11265 = private unnamed_addr constant [3 x i8] c" \00" @.str11266 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str11267 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11268 = private unnamed_addr constant [5 x i8] c"save\00" @.str11269 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11270 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11271 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11272 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11273 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11274 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11275 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11276 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11277 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11278 = private unnamed_addr constant [3 x i8] c" \00" @.str11279 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11280 = private unnamed_addr constant [3 x i8] c", \00" @.str11281 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11282 = private unnamed_addr constant [2 x i8] c"0\00" @.str11283 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str11284 = private unnamed_addr constant [2 x i8] c"4\00" @.str11285 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str11286 = private unnamed_addr constant [2 x i8] c"4\00" @.str11287 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str11288 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str11289 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str11290 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11291 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str11292 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11293 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str11294 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11295 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str11296 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11297 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str11298 = private unnamed_addr constant [2 x i8] c"4\00" @.str11299 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str11300 = private unnamed_addr constant [3 x i8] c" \00" @.str11301 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str11302 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str11303 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str11304 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str11305 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str11306 = private unnamed_addr constant [5 x i8] c"file\00" @.str11307 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str11308 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str11309 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str11310 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str11311 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str11312 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str11313 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str11314 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11315 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str11316 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str11317 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str11318 = 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" @.str11319 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str11320 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str11321 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11322 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str11323 = private unnamed_addr constant [6 x i8] c"fread\00" @.str11324 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str11325 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str11326 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str11327 = private unnamed_addr constant [5 x i8] c"save\00" @.str11328 = private unnamed_addr constant [1 x i8] c"\00" @.str11329 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str11330 = private unnamed_addr constant [3 x i8] c" \00" @.str11331 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11332 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str11333 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11334 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11335 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11336 = private unnamed_addr constant [5 x i8] c"load\00" @.str11337 = private unnamed_addr constant [1 x i8] c"\00" @.str11338 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11339 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str11340 = private unnamed_addr constant [5 x i8] c"size\00" @.str11341 = private unnamed_addr constant [1 x i8] c"\00" @.str11342 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str11343 = private unnamed_addr constant [3 x i8] c" \00" @.str11344 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11345 = private unnamed_addr constant [9 x i8] c" to i32\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 [5 x i8] c"file\00" @.str11349 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11350 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11351 = private unnamed_addr constant [2 x i8] c"1\00" @.str11352 = private unnamed_addr constant [2 x i8] c"4\00" @.str11353 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str11354 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11355 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11356 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str11357 = private unnamed_addr constant [2 x i8] c".\00" @.str11358 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str11359 = private unnamed_addr constant [7 x i8] c"model \00" @.str11360 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str11361 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str11362 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str11363 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11364 = private unnamed_addr constant [3 x i8] c" \00" @.str11365 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11366 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11367 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11368 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11369 = private unnamed_addr constant [3 x i8] c" \00" @.str11370 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11371 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11372 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11373 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11374 = private unnamed_addr constant [3 x i8] c" \00" @.str11375 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11376 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11377 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11378 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11379 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11380 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11381 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11382 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11383 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str11384 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11385 = private unnamed_addr constant [3 x i8] c" \00" @.str11386 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11387 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11388 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11389 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11390 = private unnamed_addr constant [3 x i8] c" \00" @.str11391 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11392 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11393 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11394 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11395 = private unnamed_addr constant [3 x i8] c" \00" @.str11396 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11398 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11399 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11400 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11401 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11402 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11403 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11404 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11405 = 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" @.str11406 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11407 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11408 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11409 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11410 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11411 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11412 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11413 = private unnamed_addr constant [2 x i8] c"h\00" @.str11414 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str11415 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str11416 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str11417 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11418 = private unnamed_addr constant [2 x i8] c"n\00" @.str11419 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11420 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11421 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11422 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11423 = 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" @.str11424 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11425 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11426 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11427 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11428 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11429 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11430 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11431 = private unnamed_addr constant [2 x i8] c"h\00" @.str11432 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str11433 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str11434 = private unnamed_addr constant [2 x i8] c"n\00" @.str11435 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11436 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11437 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str11438 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11439 = 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" @.str11440 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11441 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11442 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11443 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11444 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11445 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11446 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11447 = private unnamed_addr constant [2 x i8] c"h\00" @.str11448 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11449 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11450 = private unnamed_addr constant [2 x i8] c"n\00" @.str11451 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11452 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11453 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str11454 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11455 = 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" @.str11456 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str11457 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11458 = 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" @.str11459 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str11460 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11461 = 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" @.str11462 = 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" @.str11463 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str11464 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str11465 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str11466 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str11467 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11468 = 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" @.str11469 = 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" @.str11470 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str11471 = 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" @.str11472 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str11473 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11474 = 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" @.str11475 = 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" @.str11476 = 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" @.str11477 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str11478 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str11479 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str11480 = 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" @.str11481 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str11482 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11483 = 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" @.str11484 = 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" @.str11485 = 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" @.str11486 = 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" @.str11487 = 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" @.str11488 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str11489 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str11490 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str11491 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11492 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str11493 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11494 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11495 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str11496 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str11497 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str11498 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str11499 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str11500 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11501 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str11502 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11503 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11504 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11505 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str11506 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11507 = private unnamed_addr constant [2 x i8] c"h\00" @.str11508 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11509 = private unnamed_addr constant [2 x i8] c"_\00" @.str11510 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str11511 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str11512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11513 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str11514 = private unnamed_addr constant [9 x i8] c" = load \00" @.str11515 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str11516 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11517 = private unnamed_addr constant [3 x i8] c", \00" @.str11518 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str11519 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11520 = private unnamed_addr constant [2 x i8] c"(\00" @.str11521 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11522 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11523 = private unnamed_addr constant [2 x i8] c"x\00" @.str11524 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11525 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11526 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str11527 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11528 = private unnamed_addr constant [6 x i8] c"panel\00" @.str11529 = private unnamed_addr constant [4 x i8] c"col\00" @.str11530 = private unnamed_addr constant [4 x i8] c"row\00" @.str11531 = private unnamed_addr constant [6 x i8] c"label\00" @.str11532 = private unnamed_addr constant [7 x i8] c"button\00" @.str11533 = private unnamed_addr constant [6 x i8] c"image\00" @.str11534 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str11535 = private unnamed_addr constant [5 x i8] c"font\00" @.str11536 = private unnamed_addr constant [5 x i8] c"size\00" @.str11537 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11538 = private unnamed_addr constant [6 x i8] c"align\00" @.str11539 = private unnamed_addr constant [3 x i8] c"id\00" @.str11540 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str11541 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11542 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11543 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11544 = private unnamed_addr constant [2 x i8] c"w\00" @.str11545 = private unnamed_addr constant [2 x i8] c"h\00" @.str11546 = private unnamed_addr constant [2 x i8] c"x\00" @.str11547 = private unnamed_addr constant [2 x i8] c"y\00" @.str11548 = private unnamed_addr constant [4 x i8] c"pad\00" @.str11549 = private unnamed_addr constant [4 x i8] c"gap\00" @.str11550 = private unnamed_addr constant [3 x i8] c"bg\00" @.str11551 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11552 = private unnamed_addr constant [7 x i8] c"border\00" @.str11553 = private unnamed_addr constant [5 x i8] c"grow\00" @.str11554 = private unnamed_addr constant [5 x i8] c"font\00" @.str11555 = private unnamed_addr constant [5 x i8] c"size\00" @.str11556 = private unnamed_addr constant [6 x i8] c"inset\00" @.str11557 = private unnamed_addr constant [6 x i8] c"focus\00" @.str11558 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str11559 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11560 = private unnamed_addr constant [2 x i8] c"1\00" @.str11561 = private unnamed_addr constant [3 x i8] c"id\00" @.str11562 = private unnamed_addr constant [5 x i8] c"goto\00" @.str11563 = private unnamed_addr constant [5 x i8] c"text\00" @.str11564 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str11565 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11566 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11567 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11568 = private unnamed_addr constant [6 x i8] c"image\00" @.str11569 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str11570 = private unnamed_addr constant [2 x i8] c")\00" @.str11571 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11572 = private unnamed_addr constant [6 x i8] c"align\00" @.str11573 = private unnamed_addr constant [7 x i8] c"center\00" @.str11574 = private unnamed_addr constant [4 x i8] c"end\00" @.str11575 = private unnamed_addr constant [2 x i8] c"1\00" @.str11576 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str11577 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11578 = private unnamed_addr constant [3 x i8] c", \00" @.str11579 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11580 = private unnamed_addr constant [5 x i8] c"void\00" @.str11581 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str11582 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11583 = private unnamed_addr constant [9 x i8] c" store \00" @.str11584 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11585 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11586 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11587 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11588 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11589 = private unnamed_addr constant [5 x i8] c"void\00" @.str11590 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11591 = private unnamed_addr constant [6 x i8] c"load \00" @.str11592 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str11593 = private unnamed_addr constant [7 x i8] c" ret \00" @.str11594 = private unnamed_addr constant [2 x i8] c" \00" @.str11595 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11596 = private unnamed_addr constant [8 x i8] c"define \00" @.str11597 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str11598 = private unnamed_addr constant [2 x i8] c"(\00" @.str11599 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str11600 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11601 = private unnamed_addr constant [1 x i8] c"\00" @.str11602 = private unnamed_addr constant [4 x i8] c"int\00" @.str11603 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str11604 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11605 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11606 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str11607 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11608 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11609 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11610 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11611 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11612 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str11613 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11614 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11615 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11616 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11617 = private unnamed_addr constant [5 x i8] c"void\00" @.str11618 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11619 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11620 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str11621 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11622 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11623 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str11624 = 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" @.str11625 = 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" @.str11626 = 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" @.str11627 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11628 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11629 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11630 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str11631 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str11632 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str11633 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str11634 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str11635 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str11636 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11637 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11638 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11639 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11640 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11641 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str11642 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11643 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str11644 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str11645 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11646 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11647 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11648 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str11649 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11650 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str11651 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str11652 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str11653 = private unnamed_addr constant [5 x i8] c"trun\00" @.str11654 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str11655 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11656 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str11657 = private unnamed_addr constant [7 x i8] c", null\00" @.str11658 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11659 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11660 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11662 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11663 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str11664 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11665 = private unnamed_addr constant [2 x i8] c")\00" @.str11666 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11667 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11668 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11669 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11670 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11671 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11672 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11673 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11674 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11675 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11676 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11677 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str11678 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str11679 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str11680 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11681 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str11682 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11683 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11684 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str11685 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str11686 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str11687 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11688 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11689 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11691 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11692 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11693 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11694 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11695 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11696 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11697 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11698 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11699 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11700 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11701 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str11702 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11703 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11704 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11705 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11706 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11707 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11709 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11710 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str11711 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str11712 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11713 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11714 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str11715 = private unnamed_addr constant [7 x i8] c", null\00" @.str11716 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11717 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11718 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11719 = private unnamed_addr constant [3 x i8] c", \00" @.str11720 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11721 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11722 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11723 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11724 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11725 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str11726 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11727 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str11728 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11729 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11730 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11731 = private unnamed_addr constant [3 x i8] c", \00" @.str11732 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str11733 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11734 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11735 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11736 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11737 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str11738 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str11739 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11740 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str11741 = private unnamed_addr constant [11 x i8] c"function '\00" @.str11742 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str11743 = private unnamed_addr constant [2 x i8] c":\00" @.str11744 = private unnamed_addr constant [2 x i8] c")\00" @.str11745 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str11746 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11747 = 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" @.str11748 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str11749 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str11750 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str11751 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str11752 = private unnamed_addr constant [3 x i8] c", \00" @.str11753 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str11754 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str11755 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str11756 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11757 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str11758 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11759 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str11760 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str11761 = private unnamed_addr constant [2 x i8] c"w\00" @.str11762 = 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" @.str11763 = 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" @.str11764 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11765 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str11766 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str11767 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str11768 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11769 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str11770 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str11771 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str11772 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str11773 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11774 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11775 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str11776 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str11777 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str11778 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11779 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11780 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11781 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str11782 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str11783 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11784 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str11785 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11786 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str11787 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str11788 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str11789 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str11790 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str11791 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str11792 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str11793 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str11794 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11795 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str11796 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str11797 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str11798 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str11799 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str11800 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str11801 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11802 = 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" @.str11803 = private unnamed_addr constant [3 x i8] c"wb\00" @.str11804 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str11805 = private unnamed_addr constant [2 x i8] c"/\00" @.str11806 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str11807 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str11808 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11809 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str11810 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str11811 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str11812 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str11813 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str11814 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str11815 = private unnamed_addr constant [3 x i8] c"rb\00" @.str11816 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11817 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11818 = private unnamed_addr constant [6 x i8] c"clang\00" @.str11819 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str11820 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str11821 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str11822 = private unnamed_addr constant [1 x i8] c"\00" @.str11823 = private unnamed_addr constant [1 x i8] c"\00" @.str11824 = private unnamed_addr constant [2 x i8] c"?\00" @.str11825 = private unnamed_addr constant [1 x i8] c"\00" @.str11826 = private unnamed_addr constant [10 x i8] c"--version\00" @.str11827 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str11828 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str11829 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str11830 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str11831 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str11832 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str11833 = private unnamed_addr constant [6 x i8] c"--run\00" @.str11834 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str11835 = private unnamed_addr constant [9 x i8] c"--target\00" @.str11836 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str11837 = private unnamed_addr constant [7 x i8] c"--link\00" @.str11838 = private unnamed_addr constant [3 x i8] c"-o\00" @.str11839 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str11840 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11841 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str11842 = private unnamed_addr constant [8 x i8] c"windows\00" @.str11843 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str11844 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str11845 = private unnamed_addr constant [2 x i8] c".\00" @.str11846 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str11847 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str11848 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11849 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11850 = private unnamed_addr constant [4 x i8] c".ll\00" @.str11851 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str11852 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str11853 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str11854 = private unnamed_addr constant [2 x i8] c" \00" @.str11855 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str11856 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str11857 = private unnamed_addr constant [2 x i8] c" \00" @.str11858 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str11859 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str11860 = private unnamed_addr constant [2 x i8] c" \00" @.str11861 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str11862 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str11863 = private unnamed_addr constant [2 x i8] c" \00" @.str11864 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str11865 = private unnamed_addr constant [2 x i8] c" \00" @.str11866 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str11867 = private unnamed_addr constant [2 x i8] c" \00" @.str11868 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str11869 = private unnamed_addr constant [2 x i8] c" \00" @.str11870 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" @.str11871 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" @.str11872 = private unnamed_addr constant [2 x i8] c" \00" @.str11873 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" @.str11874 = private unnamed_addr constant [2 x i8] c" \00" @.str11875 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" @.str11876 = private unnamed_addr constant [2 x i8] c" \00" @.str11877 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" @.str11878 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str11879 = private unnamed_addr constant [2 x i8] c" \00" @.str11880 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str11881 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str11882 = private unnamed_addr constant [2 x i8] c" \00" @.str11883 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str11884 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str11885 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str11886 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str11887 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str11888 = private unnamed_addr constant [2 x i8] c" \00" @.str11889 = private unnamed_addr constant [2 x i8] c" \00" @.str11890 = private unnamed_addr constant [2 x i8] c" \00" @.str11891 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str11892 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str11893 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str11894 = private unnamed_addr constant [2 x i8] c" \00" @.str11895 = private unnamed_addr constant [2 x i8] c" \00" @.str11896 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str11897 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str11898 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str11899 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str11900 = private unnamed_addr constant [2 x i8] c" \00" @.str11901 = private unnamed_addr constant [2 x i8] c" \00" @.str11902 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str11903 = private unnamed_addr constant [3 x i8] c" \22\00" @.str11904 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11905 = private unnamed_addr constant [5 x i8] c" -o \00" @.str11906 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11907 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11908 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str11909 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11910 = 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 } @.str11911 = private unnamed_addr constant [4 x i8] c"png\00" @.str11912 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str11913 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str11914 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11915 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str11916 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11917 = private unnamed_addr constant [4 x i8] c"gif\00" @.str11918 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str11919 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str11920 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str11921 = private unnamed_addr constant [5 x i8] c"webp\00" @.str11922 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str11923 = private unnamed_addr constant [4 x i8] c"svg\00" @.str11924 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str11925 = private unnamed_addr constant [4 x i8] c"txt\00" @.str11926 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str11927 = private unnamed_addr constant [3 x i8] c"md\00" @.str11928 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str11929 = private unnamed_addr constant [4 x i8] c"csv\00" @.str11930 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str11931 = private unnamed_addr constant [5 x i8] c"html\00" @.str11932 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11933 = private unnamed_addr constant [4 x i8] c"htm\00" @.str11934 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11935 = private unnamed_addr constant [4 x i8] c"css\00" @.str11936 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str11937 = private unnamed_addr constant [3 x i8] c"js\00" @.str11938 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str11939 = private unnamed_addr constant [5 x i8] c"json\00" @.str11940 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str11941 = private unnamed_addr constant [4 x i8] c"xml\00" @.str11942 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str11943 = private unnamed_addr constant [4 x i8] c"zip\00" @.str11944 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str11945 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str11946 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str11947 = private unnamed_addr constant [4 x i8] c"wav\00" @.str11948 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str11949 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str11950 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str11951 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str11952 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str11953 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str11954 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str11955 = private unnamed_addr constant [4 x i8] c"otf\00" @.str11956 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str11957 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str11958 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str11959 = 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 @.str11911, ptr @.str11912 }, { ptr, ptr } { ptr @.str11913, ptr @.str11914 }, { ptr, ptr } { ptr @.str11915, ptr @.str11916 }, { ptr, ptr } { ptr @.str11917, ptr @.str11918 }, { ptr, ptr } { ptr @.str11919, ptr @.str11920 }, { ptr, ptr } { ptr @.str11921, ptr @.str11922 }, { ptr, ptr } { ptr @.str11923, ptr @.str11924 }, { ptr, ptr } { ptr @.str11925, ptr @.str11926 }, { ptr, ptr } { ptr @.str11927, ptr @.str11928 }, { ptr, ptr } { ptr @.str11929, ptr @.str11930 }, { ptr, ptr } { ptr @.str11931, ptr @.str11932 }, { ptr, ptr } { ptr @.str11933, ptr @.str11934 }, { ptr, ptr } { ptr @.str11935, ptr @.str11936 }, { ptr, ptr } { ptr @.str11937, ptr @.str11938 }, { ptr, ptr } { ptr @.str11939, ptr @.str11940 }, { ptr, ptr } { ptr @.str11941, ptr @.str11942 }, { ptr, ptr } { ptr @.str11943, ptr @.str11944 }, { ptr, ptr } { ptr @.str11945, ptr @.str11946 }, { ptr, ptr } { ptr @.str11947, ptr @.str11948 }, { ptr, ptr } { ptr @.str11949, ptr @.str11950 }, { ptr, ptr } { ptr @.str11951, ptr @.str11952 }, { ptr, ptr } { ptr @.str11953, ptr @.str11954 }, { ptr, ptr } { ptr @.str11955, ptr @.str11956 }, { ptr, ptr } { ptr @.str11957, ptr @.str11958 }] 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 @.str11959) 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 %t1150 = alloca i32 %t1151 = alloca i32 %t1172 = alloca i32 %t1173 = alloca i32 %t1174 = alloca i32 %t1175 = alloca i32 %t1176 = alloca i32 %t1230 = alloca i32 %t1255 = alloca ptr %t1261 = alloca ptr %t1273 = alloca ptr %t1284 = alloca ptr %t1300 = alloca i32 %t1310 = 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_process br label %ifend244 ifend244: %t1111 = load ptr, ptr %t1 %t1112 = getelementptr inbounds %Cmp_Node, ptr %t1111, i32 0, i32 4 %t1113 = load ptr, ptr %t1112 %t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 0 %t1115 = load i32, ptr %t1114 %t1116 = icmp eq i32 %t1115, 33 %t1117 = zext i1 %t1116 to i32 %t1118 = icmp ne i32 %t1117, 0 %t1119 = zext i1 %t1118 to i32 store i32 %t1119, ptr %t1110 br i1 %t1118, label %sc245, label %scend246 sc245: %t1120 = load ptr, ptr %t1 %t1121 = getelementptr inbounds %Cmp_Node, ptr %t1120, i32 0, i32 4 %t1122 = load ptr, ptr %t1121 %t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 1 %t1124 = load ptr, ptr %t1123 %t1125 = call i32 @lp_str_eq(ptr %t1124, ptr @.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_gl br label %ifend249 ifend249: %t1131 = load ptr, ptr %t1 %t1132 = getelementptr inbounds %Cmp_Node, ptr %t1131, i32 0, i32 4 %t1133 = load ptr, ptr %t1132 %t1134 = getelementptr inbounds %Cmp_Node, ptr %t1133, i32 0, i32 0 %t1135 = load i32, ptr %t1134 %t1136 = icmp eq i32 %t1135, 33 %t1137 = zext i1 %t1136 to i32 %t1138 = icmp ne i32 %t1137, 0 %t1139 = zext i1 %t1138 to i32 store i32 %t1139, ptr %t1130 br i1 %t1138, label %sc250, label %scend251 sc250: %t1140 = load ptr, ptr %t1 %t1141 = getelementptr inbounds %Cmp_Node, ptr %t1140, i32 0, i32 4 %t1142 = load ptr, ptr %t1141 %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 1 %t1144 = load ptr, ptr %t1143 %t1145 = call i32 @lp_str_eq(ptr %t1144, ptr @.str148) %t1146 = icmp ne i32 %t1145, 0 %t1147 = zext i1 %t1146 to i32 store i32 %t1147, ptr %t1130 br label %scend251 scend251: %t1148 = load i32, ptr %t1130 %t1149 = icmp ne i32 %t1148, 0 br i1 %t1149, label %then252, label %ifend254 then252: store i32 1, ptr @g_g_uses_vk br label %ifend254 ifend254: %t1152 = load ptr, ptr %t1 %t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 4 %t1154 = load ptr, ptr %t1153 %t1155 = getelementptr inbounds %Cmp_Node, ptr %t1154, i32 0, i32 0 %t1156 = load i32, ptr %t1155 %t1157 = icmp eq i32 %t1156, 33 %t1158 = zext i1 %t1157 to i32 %t1159 = icmp ne i32 %t1158, 0 %t1160 = zext i1 %t1159 to i32 store i32 %t1160, ptr %t1151 br i1 %t1159, label %sc255, label %scend256 sc255: %t1161 = load ptr, ptr %t1 %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 4 %t1163 = load ptr, ptr %t1162 %t1164 = getelementptr inbounds %Cmp_Node, ptr %t1163, i32 0, i32 1 %t1165 = load ptr, ptr %t1164 %t1166 = call i32 @lp_str_eq(ptr %t1165, ptr @.str149) %t1167 = icmp ne i32 %t1166, 0 %t1168 = zext i1 %t1167 to i32 store i32 %t1168, ptr %t1151 br label %scend256 scend256: %t1169 = load i32, ptr %t1151 %t1170 = icmp ne i32 %t1169, 0 %t1171 = zext i1 %t1170 to i32 store i32 %t1171, ptr %t1150 br i1 %t1170, label %sc257, label %scend258 sc257: %t1177 = load ptr, ptr %t1 %t1178 = getelementptr inbounds %Cmp_Node, ptr %t1177, i32 0, i32 1 %t1179 = load ptr, ptr %t1178 %t1180 = call i32 @lp_str_eq(ptr %t1179, ptr @.str150) %t1181 = icmp ne i32 %t1180, 0 %t1182 = zext i1 %t1181 to i32 store i32 %t1182, ptr %t1176 br i1 %t1181, label %scend260, label %sc259 sc259: %t1183 = load ptr, ptr %t1 %t1184 = getelementptr inbounds %Cmp_Node, ptr %t1183, i32 0, i32 1 %t1185 = load ptr, ptr %t1184 %t1186 = call i32 @lp_str_eq(ptr %t1185, ptr @.str151) %t1187 = icmp ne i32 %t1186, 0 %t1188 = zext i1 %t1187 to i32 store i32 %t1188, ptr %t1176 br label %scend260 scend260: %t1189 = load i32, ptr %t1176 %t1190 = icmp ne i32 %t1189, 0 %t1191 = zext i1 %t1190 to i32 store i32 %t1191, ptr %t1175 br i1 %t1190, label %scend262, label %sc261 sc261: %t1192 = load ptr, ptr %t1 %t1193 = getelementptr inbounds %Cmp_Node, ptr %t1192, i32 0, i32 1 %t1194 = load ptr, ptr %t1193 %t1195 = call i32 @lp_str_eq(ptr %t1194, ptr @.str152) %t1196 = icmp ne i32 %t1195, 0 %t1197 = zext i1 %t1196 to i32 store i32 %t1197, ptr %t1175 br label %scend262 scend262: %t1198 = load i32, ptr %t1175 %t1199 = icmp ne i32 %t1198, 0 %t1200 = zext i1 %t1199 to i32 store i32 %t1200, ptr %t1174 br i1 %t1199, label %scend264, label %sc263 sc263: %t1201 = load ptr, ptr %t1 %t1202 = getelementptr inbounds %Cmp_Node, ptr %t1201, i32 0, i32 1 %t1203 = load ptr, ptr %t1202 %t1204 = call i32 @lp_str_eq(ptr %t1203, ptr @.str153) %t1205 = icmp ne i32 %t1204, 0 %t1206 = zext i1 %t1205 to i32 store i32 %t1206, ptr %t1174 br label %scend264 scend264: %t1207 = load i32, ptr %t1174 %t1208 = icmp ne i32 %t1207, 0 %t1209 = zext i1 %t1208 to i32 store i32 %t1209, ptr %t1173 br i1 %t1208, label %scend266, label %sc265 sc265: %t1210 = load ptr, ptr %t1 %t1211 = getelementptr inbounds %Cmp_Node, ptr %t1210, i32 0, i32 1 %t1212 = load ptr, ptr %t1211 %t1213 = call i32 @lp_str_eq(ptr %t1212, ptr @.str154) %t1214 = icmp ne i32 %t1213, 0 %t1215 = zext i1 %t1214 to i32 store i32 %t1215, ptr %t1173 br label %scend266 scend266: %t1216 = load i32, ptr %t1173 %t1217 = icmp ne i32 %t1216, 0 %t1218 = zext i1 %t1217 to i32 store i32 %t1218, ptr %t1172 br i1 %t1217, label %scend268, label %sc267 sc267: %t1219 = load ptr, ptr %t1 %t1220 = getelementptr inbounds %Cmp_Node, ptr %t1219, i32 0, i32 1 %t1221 = load ptr, ptr %t1220 %t1222 = call i32 @lp_str_eq(ptr %t1221, ptr @.str155) %t1223 = icmp ne i32 %t1222, 0 %t1224 = zext i1 %t1223 to i32 store i32 %t1224, ptr %t1172 br label %scend268 scend268: %t1225 = load i32, ptr %t1172 %t1226 = icmp ne i32 %t1225, 0 %t1227 = zext i1 %t1226 to i32 store i32 %t1227, ptr %t1150 br label %scend258 scend258: %t1228 = load i32, ptr %t1150 %t1229 = icmp ne i32 %t1228, 0 br i1 %t1229, label %then269, label %ifend271 then269: store i32 1, ptr @g_g_uses_tween_rt br label %ifend271 ifend271: %t1231 = load ptr, ptr %t1 %t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 4 %t1233 = load ptr, ptr %t1232 %t1234 = getelementptr inbounds %Cmp_Node, ptr %t1233, i32 0, i32 0 %t1235 = load i32, ptr %t1234 %t1236 = icmp eq i32 %t1235, 33 %t1237 = zext i1 %t1236 to i32 %t1238 = icmp ne i32 %t1237, 0 %t1239 = zext i1 %t1238 to i32 store i32 %t1239, ptr %t1230 br i1 %t1238, label %sc272, label %scend273 sc272: %t1240 = load ptr, ptr %t1 %t1241 = getelementptr inbounds %Cmp_Node, ptr %t1240, i32 0, i32 4 %t1242 = load ptr, ptr %t1241 %t1243 = getelementptr inbounds %Cmp_Node, ptr %t1242, i32 0, i32 1 %t1244 = load ptr, ptr %t1243 %t1245 = call i32 @lp_str_eq(ptr %t1244, ptr @.str156) %t1246 = icmp ne i32 %t1245, 0 %t1247 = zext i1 %t1246 to i32 store i32 %t1247, ptr %t1230 br label %scend273 scend273: %t1248 = load i32, ptr %t1230 %t1249 = icmp ne i32 %t1248, 0 br i1 %t1249, label %then274, label %ifend276 then274: store i32 1, ptr @g_g_uses_fx br label %ifend276 ifend276: br label %ifend5 else4: %t1250 = call i32 @fn_is_op(ptr @.str157) %t1251 = icmp ne i32 %t1250, 0 br i1 %t1251, label %then277, label %else278 then277: %t1252 = load i32, ptr @g_pi %t1253 = add i32 %t1252, 1 store i32 %t1253, ptr @g_pi %t1254 = call ptr @fn_expr() store ptr %t1254, ptr %t1255 %t1256 = call i32 @fn_is_op(ptr @.str158) %t1257 = icmp ne i32 %t1256, 0 br i1 %t1257, label %then280, label %else281 then280: %t1258 = load i32, ptr @g_pi %t1259 = add i32 %t1258, 1 store i32 %t1259, ptr @g_pi %t1260 = call ptr @fn_node(i32 44) store ptr %t1260, ptr %t1261 %t1262 = load ptr, ptr %t1261 %t1263 = getelementptr inbounds %Cmp_Node, ptr %t1262, i32 0, i32 4 %t1264 = load ptr, ptr %t1 store ptr %t1264, ptr %t1263 %t1265 = load ptr, ptr %t1261 %t1266 = getelementptr inbounds %Cmp_Node, ptr %t1265, i32 0, i32 5 %t1267 = load ptr, ptr %t1255 store ptr %t1267, ptr %t1266 %t1268 = load ptr, ptr %t1261 %t1269 = getelementptr inbounds %Cmp_Node, ptr %t1268, i32 0, i32 6 %t1270 = call ptr @fn_expr() store ptr %t1270, ptr %t1269 call void @fn_eat_op(ptr @.str159) %t1271 = load ptr, ptr %t1261 store ptr %t1271, ptr %t1 br label %ifend282 else281: %t1272 = call ptr @fn_node(i32 36) store ptr %t1272, ptr %t1273 %t1274 = load ptr, ptr %t1273 %t1275 = getelementptr inbounds %Cmp_Node, ptr %t1274, i32 0, i32 4 %t1276 = load ptr, ptr %t1 store ptr %t1276, ptr %t1275 %t1277 = load ptr, ptr %t1273 %t1278 = getelementptr inbounds %Cmp_Node, ptr %t1277, i32 0, i32 5 %t1279 = load ptr, ptr %t1255 store ptr %t1279, ptr %t1278 call void @fn_eat_op(ptr @.str160) %t1280 = load ptr, ptr %t1273 store ptr %t1280, ptr %t1 br label %ifend282 ifend282: br label %ifend279 else278: %t1281 = call i32 @fn_is_op(ptr @.str161) %t1282 = icmp ne i32 %t1281, 0 br i1 %t1282, label %then283, label %else284 then283: %t1283 = call ptr @fn_node(i32 34) store ptr %t1283, ptr %t1284 %t1285 = load ptr, ptr %t1284 %t1286 = getelementptr inbounds %Cmp_Node, ptr %t1285, i32 0, i32 4 %t1287 = load ptr, ptr %t1 store ptr %t1287, ptr %t1286 %t1288 = load ptr, ptr %t1284 %t1289 = getelementptr inbounds %Cmp_Node, ptr %t1288, i32 0, i32 8 %t1290 = load ptr, ptr @g_toks %t1291 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 0 %t1292 = load ptr, ptr %t1291 %t1293 = load i32, ptr @g_pi %t1294 = getelementptr inbounds ptr, ptr %t1292, i32 %t1293 %t1295 = load ptr, ptr %t1294 %t1296 = getelementptr inbounds %Cmp_Tok, ptr %t1295, i32 0, i32 3 %t1297 = load i32, ptr %t1296 store i32 %t1297, ptr %t1289 %t1298 = load ptr, ptr %t1284 call void @fn_args_call(ptr %t1298) %t1299 = load ptr, ptr %t1284 store ptr %t1299, ptr %t1 %t1301 = load ptr, ptr %t1284 %t1302 = getelementptr inbounds %Cmp_Node, ptr %t1301, i32 0, i32 4 %t1303 = load ptr, ptr %t1302 %t1304 = getelementptr inbounds %Cmp_Node, ptr %t1303, i32 0, i32 0 %t1305 = load i32, ptr %t1304 %t1306 = icmp eq i32 %t1305, 33 %t1307 = zext i1 %t1306 to i32 %t1308 = icmp ne i32 %t1307, 0 %t1309 = zext i1 %t1308 to i32 store i32 %t1309, ptr %t1300 br i1 %t1308, label %sc286, label %scend287 sc286: %t1311 = load ptr, ptr %t1284 %t1312 = getelementptr inbounds %Cmp_Node, ptr %t1311, i32 0, i32 4 %t1313 = load ptr, ptr %t1312 %t1314 = getelementptr inbounds %Cmp_Node, ptr %t1313, i32 0, i32 1 %t1315 = load ptr, ptr %t1314 %t1316 = call i32 @lp_str_eq(ptr %t1315, ptr @.str162) %t1317 = icmp ne i32 %t1316, 0 %t1318 = zext i1 %t1317 to i32 store i32 %t1318, ptr %t1310 br i1 %t1317, label %scend289, label %sc288 sc288: %t1319 = load ptr, ptr %t1284 %t1320 = getelementptr inbounds %Cmp_Node, ptr %t1319, i32 0, i32 4 %t1321 = load ptr, ptr %t1320 %t1322 = getelementptr inbounds %Cmp_Node, ptr %t1321, i32 0, i32 1 %t1323 = load ptr, ptr %t1322 %t1324 = call i32 @lp_str_eq(ptr %t1323, ptr @.str163) %t1325 = icmp ne i32 %t1324, 0 %t1326 = zext i1 %t1325 to i32 store i32 %t1326, ptr %t1310 br label %scend289 scend289: %t1327 = load i32, ptr %t1310 %t1328 = icmp ne i32 %t1327, 0 %t1329 = zext i1 %t1328 to i32 store i32 %t1329, ptr %t1300 br label %scend287 scend287: %t1330 = load i32, ptr %t1300 %t1331 = icmp ne i32 %t1330, 0 br i1 %t1331, label %then290, label %ifend292 then290: %t1332 = load ptr, ptr %t1284 %t1333 = getelementptr inbounds %Cmp_Node, ptr %t1332, i32 0, i32 4 %t1334 = load ptr, ptr %t1333 %t1335 = getelementptr inbounds %Cmp_Node, ptr %t1334, i32 0, i32 1 %t1336 = load ptr, ptr %t1335 call void @fn_warn_draw_sprite(ptr %t1336) br label %ifend292 ifend292: br label %ifend285 else284: br label %wend2 ifend285: br label %ifend279 ifend279: br label %ifend5 ifend5: br label %wcond0 wend2: %t1337 = load ptr, ptr %t1 store ptr %t1337, ptr %retval br label %ret ret: %t1338 = load ptr, ptr %retval ret ptr %t1338 } 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 @.str164) %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 @.str165, 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 @.str166) %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 @.str167, 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 @.str168) %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 @.str169, 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 @.str170) %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 @.str171) %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 @.str172) %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 @.str173) %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 @.str174) %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 @.str175) %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 @.str176) %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 @.str177) %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 @.str178) %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 @.str179) %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 @.str180) %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 @.str181) %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 @.str182) %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 @.str183) %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 @.str184) %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 @.str185) %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 @.str186) %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 @.str187, 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 @.str188) %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 @.str189, 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 @.str190) %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 @.str191) %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 @.str192) %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 @.str193) %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 @.str194) %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 @.str195) %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 @.str196) %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 @.str197) %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 @.str198) br label %ifend13 ifend13: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str199) %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 @.str200) %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 @.str201) %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 @.str202) %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 @.str203) %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 @.str204) %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 @.str205) %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 @.str206) %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 @.str207) %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 @.str208) %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 @.str209) %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 @.str210) %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 @.str211) %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 @.str212) %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 @.str213) %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 @.str214) %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 @.str215) %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 @.str216) 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 @.str217) %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 @.str218) %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 @.str219) %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 @.str220) %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 @.str221) %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 @.str222) %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 @.str223) %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 @.str224) %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 @.str225) %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 @.str226) %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 @.str227, 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 @.str228) %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 @.str229, 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 @.str230) %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 @.str231) %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 @.str232) %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 @.str233) 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 @.str234) %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 @.str235) %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 @.str236) %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 @.str237) 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 @.str238) %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 @.str239) %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 @.str240) %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 @.str241) %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 @.str242) 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 @.str243) %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 @.str244) %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 @.str245) call void @fn_skipnl() %t497 = call i32 @fn_is_op(ptr @.str246) %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 @.str247) %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 @.str248) %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 @.str249) %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 @.str250) %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 @.str251) %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 @.str252) %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 @.str253) %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 @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286) %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 @.str287) %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 @.str288) %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 @.str289) %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 @.str290) %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 @.str291) %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 @.str292) %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 @.str293) %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 @.str294) %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 @.str295) %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 @.str296, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str297) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str298) %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 @.str299) %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 @.str300) %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 @.str301) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str302, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str303) %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 @.str304) 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 @.str305) %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 @.str306) %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 @.str307) %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 @.str308) %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 @.str309) 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 @.str310) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str311) 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 @.str312) 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 @.str313) 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 @.str314, 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 @.str315) 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 @.str316, 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 @.str317) %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 @.str318) 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 @.str319, 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 @.str320) 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 @.str321) %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str322) 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 @.str323, 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 @.str324, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str325) 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 @.str326) %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 @.str327) %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 @.str328) %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 @.str329) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str330) %t36 = call ptr @fn_eat_id() store ptr %t36, ptr %t9 call void @fn_eat_op(ptr @.str331) br label %ifend11 else10: %t37 = load ptr, ptr %t26 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str332) %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 @.str333) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str334) %t44 = call ptr @fn_eat_id() store ptr %t44, ptr %t2 call void @fn_eat_op(ptr @.str335) br label %ifend17 else16: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str336) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str337) %t48 = call ptr @fn_eat_id() store ptr %t48, ptr %t3 %t49 = call i32 @fn_is_op(ptr @.str338) %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 @.str339) %t54 = call ptr @fn_eat_id() store ptr %t54, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str340) br label %ifend20 else19: %t55 = load ptr, ptr %t26 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str341) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str342) %t58 = call ptr @fn_eat_id() store ptr %t58, ptr %t5 call void @fn_eat_op(ptr @.str343) br label %ifend26 else25: %t59 = load ptr, ptr %t26 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str344) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str345) %t62 = call ptr @fn_eat_id() store ptr %t62, ptr %t6 call void @fn_eat_op(ptr @.str346) br label %ifend29 else28: %t63 = load ptr, ptr %t26 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str347) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str348) %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t7 call void @fn_eat_op(ptr @.str349) br label %ifend32 else31: %t67 = load ptr, ptr %t26 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str350) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str351) %t70 = call ptr @fn_eat_id() store ptr %t70, ptr %t8 call void @fn_eat_op(ptr @.str352) br label %ifend35 else34: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str353) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then36, label %else37 then36: store ptr @.str354, ptr %t11 br label %ifend38 else37: %t74 = load ptr, ptr %t26 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str355) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then39, label %else40 then39: store ptr @.str356, ptr %t11 br label %ifend41 else40: %t77 = load ptr, ptr %t26 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str357) %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 @.str358) %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 @.str359) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then48, label %else49 then48: store ptr @.str360, ptr %t14 br label %ifend50 else49: %t86 = load ptr, ptr %t26 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str361) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then51, label %else52 then51: store ptr @.str362, ptr %t14 br label %ifend53 else52: %t89 = load ptr, ptr %t26 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str363) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then54, label %else55 then54: store ptr @.str364, ptr %t15 br label %ifend56 else55: %t92 = load ptr, ptr %t26 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str365) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then57, label %else58 then57: store ptr @.str366, ptr %t15 br label %ifend59 else58: %t95 = load ptr, ptr %t26 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str367) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then60, label %else61 then60: store ptr @.str368, ptr %t16 %t98 = call i32 @fn_is_op(ptr @.str369) %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 @.str370) br label %ifend65 ifend65: br label %ifend62 else61: %t103 = load ptr, ptr %t26 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str371) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str372) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t17 call void @fn_eat_op(ptr @.str373) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t18 call void @fn_eat_op(ptr @.str374) br label %ifend68 else67: %t108 = load ptr, ptr %t26 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str375) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str376) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t19 call void @fn_eat_op(ptr @.str377) br label %ifend71 else70: %t112 = load ptr, ptr %t26 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str378) %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 @.str379) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then75, label %else76 then75: call void @fn_eat_op(ptr @.str380) %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 @.str381) br label %ifend77 else76: %t119 = call i32 @fn_is_op(ptr @.str382) %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 @.str383) %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 @.str384) %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 @.str385) %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 @.str386) 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 @.str387) %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 @.str388) %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 @.str389) %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 @.str390) %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 @.str391) %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 @.str392) %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 @.str393) %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 @.str394) %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 @.str395, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str396) 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 @.str397, ptr %t365) %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str398) 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 @.str399, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str400) 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 @.str401, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str402) 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 @.str403, ptr %t404) %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str404) 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 @.str405, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str406) 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 @.str407) %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then196, label %else197 then196: call void @fn_ensure_event_empty(ptr @.str408) br label %ifend198 else197: call void @fn_ensure_event_empty(ptr @.str409) 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 @.str410) %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 @.str411) %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 @.str412) %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 @.str413) %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 @.str414) %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 @.str415) %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 @.str416) %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 @.str417) %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 @.str418, 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 @.str419) 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 @.str420) 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 @.str421, 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 @.str422) %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 @.str423) %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 @.str424) %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 @.str425, 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 @.str426) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str427) 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 @.str428) %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 @.str429) %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 @.str430, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str431) %t52 = load ptr, ptr %t26 %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str432) 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 @.str433, ptr @.str434) %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 @.str435) %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 @.str436, ptr %t187) call void @fn_perr(ptr %t188) br label %ifend46 ifend46: store ptr @.str437, 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 %t78 = alloca i32 %t107 = alloca i32 %t0 = load ptr, ptr @g_cur_dir store ptr %t0, ptr %t1 %t2 = call i32 @fn_has_ecs() %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str438, ptr @g_cur_dir call void @fn_do_import(ptr @.str439) %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 @.str440, ptr @g_cur_dir call void @fn_do_import(ptr @.str441) call void @fn_do_import(ptr @.str442) %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 @.str443, ptr @g_cur_dir call void @fn_do_import(ptr @.str444) %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 @.str445, ptr @g_cur_dir call void @fn_do_import(ptr @.str446) %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 @.str447, ptr @g_cur_dir call void @fn_do_import(ptr @.str448) %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 @.str449, ptr @g_cur_dir call void @fn_do_import(ptr @.str450) %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 @.str451, ptr @g_cur_dir call void @fn_do_import(ptr @.str452) %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 @.str453, ptr @g_cur_dir call void @fn_do_import(ptr @.str454) %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 @.str455, ptr @g_cur_dir call void @fn_do_import(ptr @.str456) %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 @.str457, ptr @g_cur_dir call void @fn_do_import(ptr @.str458) %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 @.str459, ptr @g_cur_dir call void @fn_do_import(ptr @.str460) call void @fn_do_import(ptr @.str461) call void @fn_do_import(ptr @.str462) %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 @.str463, ptr @g_cur_dir call void @fn_do_import(ptr @.str464) call void @fn_do_import(ptr @.str465) %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 @.str466, ptr @g_cur_dir call void @fn_do_import(ptr @.str467) call void @fn_do_import(ptr @.str468) call void @fn_do_import(ptr @.str469) %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 @.str470, ptr @g_cur_dir 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) call void @fn_do_import(ptr @.str477) %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 @.str478) 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 @.str479, ptr @g_cur_dir call void @fn_do_import(ptr @.str480) %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 @.str481, ptr @g_cur_dir call void @fn_do_import(ptr @.str482) call void @fn_do_import(ptr @.str483) %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 @.str484, ptr @g_cur_dir call void @fn_do_import(ptr @.str485) call void @fn_do_import(ptr @.str486) %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 @.str487, ptr @g_cur_dir call void @fn_do_import(ptr @.str488) %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 @.str489, ptr @g_cur_dir call void @fn_do_import(ptr @.str490) %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 @.str491, ptr @g_cur_dir call void @fn_do_import(ptr @.str492) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_process %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store ptr @.str493, ptr @g_cur_dir call void @fn_do_import(ptr @.str494) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = load i32, ptr @g_g_uses_gl %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store ptr @.str495, ptr @g_cur_dir call void @fn_do_import(ptr @.str496) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend68 ifend68: %t70 = load i32, ptr @g_g_uses_vk %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then69, label %ifend71 then69: store ptr @.str497, ptr @g_cur_dir call void @fn_do_import(ptr @.str498) %t72 = load ptr, ptr %t1 store ptr %t72, ptr @g_cur_dir br label %ifend71 ifend71: %t73 = load i32, ptr @g_g_uses_anim_rt %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_esys store ptr @.str499, ptr @g_cur_dir call void @fn_do_import(ptr @.str500) call void @fn_do_import(ptr @.str501) %t75 = load ptr, ptr %t1 store ptr %t75, ptr @g_cur_dir br label %ifend74 ifend74: %t76 = call i32 @fn_uses_engine_systems() %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then75, label %ifend77 then75: store i32 1, ptr @g_g_uses_esys store ptr @.str502, ptr @g_cur_dir %t79 = call ptr @fn_find_comp(ptr @.str503) %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t78 br i1 %t82, label %scend79, label %sc78 sc78: %t84 = call ptr @fn_find_comp(ptr @.str504) %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t78 br label %scend79 scend79: %t89 = load i32, ptr %t78 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str505) br label %ifend82 ifend82: %t91 = call ptr @fn_find_comp(ptr @.str506) %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str507) call void @fn_do_import(ptr @.str508) br label %ifend85 ifend85: %t95 = call ptr @fn_find_comp(ptr @.str509) %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then86, label %ifend88 then86: call void @fn_do_import(ptr @.str510) call void @fn_do_import(ptr @.str511) br label %ifend88 ifend88: %t99 = call ptr @fn_find_comp(ptr @.str512) %t100 = icmp ne ptr %t99, null %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then89, label %ifend91 then89: call void @fn_do_import(ptr @.str513) call void @fn_do_import(ptr @.str514) br label %ifend91 ifend91: %t103 = call ptr @fn_find_comp(ptr @.str515) %t104 = icmp ne ptr %t103, null %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then92, label %ifend94 then92: call void @fn_do_import(ptr @.str516) br label %ifend94 ifend94: %t108 = call ptr @fn_find_comp(ptr @.str517) %t109 = icmp ne ptr %t108, null %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t107 br i1 %t111, label %scend96, label %sc95 sc95: %t113 = call ptr @fn_find_comp(ptr @.str518) %t114 = icmp ne ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t107 br label %scend96 scend96: %t118 = load i32, ptr %t107 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then97, label %ifend99 then97: call void @fn_do_import(ptr @.str519) call void @fn_do_import(ptr @.str520) store i32 1, ptr @g_g_uses_light br label %ifend99 ifend99: %t120 = load ptr, ptr %t1 store ptr %t120, ptr @g_cur_dir br label %ifend77 ifend77: br label %ret ret: ret void } define void @fn_parse_program() { entry: %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 @.str521, 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 @.str522, 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 @.str523, 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 @.str524, 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 @.str525, 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 @.str526, 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 @.str527, 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 @.str528, 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 @.str529, 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 @.str530, 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 @.str531, 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 @.str532, 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 @.str533, 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 @.str534, 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 @.str535, 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 @.str536, 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 @.str537, 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 @.str538, 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 @.str539, 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 @.str540, 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 @.str541, 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 @.str542, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str543) %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 @.str544) %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 @.str545) %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 @.str546) %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 @.str547) %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 @.str548) %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 @.str549) 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 @.str550) %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 @.str551) 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 @.str552) %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 @.str553) %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 @.str554) %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 @.str555) %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 @.str556) %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 @.str557) %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 @.str558) %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 @.str559) %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 @.str560) %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 @.str561) 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 @.str562) %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 @.str563) %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 @.str564) %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 @.str565) %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 @.str566) %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 @.str567, 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 @.str568) %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 @.str569) %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 @.str570) %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 @.str571) %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 @.str572) %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 @.str573, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str574) 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 @.str575) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str576) %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 @.str577) %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 @.str578) 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 @.str579) %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 @.str580) %t72 = call i32 @fn_is_id(ptr @.str581) %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 @.str582) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str583) %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 @.str584) %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 @.str585) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str586) %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 @.str587) 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 @.str588, 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 @.str589) %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 @.str590) %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 @.str591) %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 @.str592) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str593) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str594) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str595) %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 @.str596) %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 @.str597) %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 @.str598) %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 @.str599) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str600) %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 @.str601) %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 @.str602) %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 @.str603) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str604) %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 @.str605) %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 @.str606) %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 @.str607) %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 @.str608) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str609) %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 @.str610) %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 @.str611) %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 @.str612) %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 @.str613) %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 @.str614) %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 @.str615) %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 @.str616) %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 @.str617) %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 @.str618) %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 @.str619) 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 @.str620) %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 @.str621) %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 @.str622) 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 @.str623, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str624) 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 @.str625, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str626) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str627) 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 @.str628) %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 @.str629) %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 @.str630) %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 @.str631) %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 @.str632) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str633) %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 @.str634) %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 @.str635, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str636) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str637, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str638) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str639) %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 @.str640) %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 @.str641) %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 @.str642) %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 @.str643, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str644) 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 @.str645) %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 @.str646) 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 @.str647) %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 @.str648) br label %wcond32 ifend49: call void @fn_perr(ptr @.str649) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str650) %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 @.str651) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str652, 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 @.str653, 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 @.str654, 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 @.str655, 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 @.str656, 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 @.str657) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str658, 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 @.str659, 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 @.str660, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str661) 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 @.str662, 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 @.str663, 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 @.str664) store ptr %t142, ptr %t138 %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 store ptr @.str665, 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 @.str666, 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 @.str667, 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 @.str668) %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 @.str669) %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 @.str670, 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 @.str671, 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 @.str672, 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 @.str673, 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 @.str674) 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 @.str675) %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 @.str676) %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 @.str677) %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 @.str678) %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 @.str679) 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 @.str680) %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 @.str681) %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 @.str682) 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 @.str683) %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 @.str684) %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 @.str685) %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 @.str686) %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 @.str687) %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 @.str688) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str689) %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 @.str690) %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 @.str691) %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 @.str692) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str693, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str694) %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 @.str695) %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 @.str696) %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 @.str697) %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 @.str698) %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 @.str699) %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 @.str700) 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 @.str701) 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 @.str702) %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 @.str703) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str704) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str705) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str706, 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 @.str707, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str708) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str709) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str710) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str711) 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 @.str712, 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 @.str713) %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 @.str714) %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 @.str715) %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 @.str716, 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 @.str717) %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 @.str718) %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 @.str719) %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 @.str720) %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 @.str721, 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 @.str722, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str723) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str724, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str725) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str726, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str727) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str728, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str729) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str730, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str731) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str732, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str733) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str734, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str735) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str736, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str737) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str738, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str739) %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 @.str740) %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 @.str741) %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 @.str742) %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 @.str743) %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 @.str744, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str745) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str746, ptr %retval br label %ret ifend49: store ptr @.str747, 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 @.str748, 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 @.str749, 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 @.str750) %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 @.str751) %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 @.str752) %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 @.str753) %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 @.str754) %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 @.str755) %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 @.str756) %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 @.str757) %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 @.str758) %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 @.str759) %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 @.str760) %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 @.str761) %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 @.str762) %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 @.str763) %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 @.str764) %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 @.str765) %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 @.str766, 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 @.str767) %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 @.str768) %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 @.str769) %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 @.str770) %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 @.str771, 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 @.str772) %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 @.str773) %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 @.str774, 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 @.str775) %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 @.str776) %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 @.str777, 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 @.str778) %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 @.str779, 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 @.str780, 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 @.str781, 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 @.str782, 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 @.str783, 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 @.str784, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str785, 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 @.str786, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str787, 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 @.str788, 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 @.str789) %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 @.str790) 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 @.str791) %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 @.str792) %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 @.str793, 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 @.str794) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: store ptr @.str795, ptr %retval br label %ret ifend29: store ptr @.str796, 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 @.str797) %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 @.str798, 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 @.str799) %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 @.str800) %t50 = load ptr, ptr %t45 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str801) %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 @.str802) 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 @.str803) %t56 = load ptr, ptr %t4 store ptr %t56, ptr @g_code call void @fn_emit(ptr @.str804) %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 @.str805) 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 @.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) call void @fn_emith(ptr @.str811) call void @fn_emith(ptr @.str812) call void @fn_emith(ptr @.str813) %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 @.str814) call void @fn_emith(ptr @.str815) call void @fn_emith(ptr @.str816) call void @fn_emith(ptr @.str817) br label %ifend2 ifend2: 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) call void @fn_emith(ptr @.str855) call void @fn_emith(ptr @.str856) call void @fn_emith(ptr @.str857) %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 @.str858) call void @fn_emith(ptr @.str859) br label %ifend5 ifend5: call void @fn_emith(ptr @.str860) call void @fn_emith(ptr @.str861) call void @fn_emith(ptr @.str862) call void @fn_emith(ptr @.str863) call void @fn_emith(ptr @.str864) call void @fn_emith(ptr @.str865) call void @fn_emith(ptr @.str866) %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 @.str867) %t11 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t11) call void @fn_emith(ptr @.str868) call void @fn_emith(ptr @.str869) 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 @.str870, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str871) 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 @.str872, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str873) 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 @.str874) %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 @.str875) 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 @.str876) 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 @.str877) 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 @.str878, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str879) 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 @.str880, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str881) 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 @.str882) %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 @.str883) %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 @.str884) %t225 = load ptr, ptr %t149 %t226 = call ptr @fn_global_init(ptr %t225) call void @fn_emith(ptr %t226) call void @fn_emith(ptr @.str885) 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 @.str886) %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 @.str887) %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 @.str888) 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 @.str889) 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 @.str890) 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 @.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) call void @fn_emith(ptr @.str923) call void @fn_emith(ptr @.str924) call void @fn_emith(ptr @.str925) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: 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) call void @fn_emith(ptr @.str940) call void @fn_emith(ptr @.str941) call void @fn_emith(ptr @.str942) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: 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) call void @fn_emith(ptr @.str957) call void @fn_emith(ptr @.str958) call void @fn_emith(ptr @.str959) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str960) call void @fn_emith(ptr @.str961) call void @fn_emith(ptr @.str962) call void @fn_emith(ptr @.str963) call void @fn_emith(ptr @.str964) call void @fn_emith(ptr @.str965) call void @fn_emith(ptr @.str966) call void @fn_emith(ptr @.str967) 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 @.str968, 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 @.str969, 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 @.str970) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str971) %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 @.str972) %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 @.str973) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str974) %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 @.str975) %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 @.str976, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str977) %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 @.str978, 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 @.str979) %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 @.str980, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str981) %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 @.str982, 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 @.str983) %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 @.str984) %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 @.str985, 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 @.str986) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str987, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 %t74 = call ptr @lp_str_concat(ptr @.str988, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str989) %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 @.str990) %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 @.str991) %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 @.str992, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str993) %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 @.str994, 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 @.str995, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str996) %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 @.str997, 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 @.str998) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str999) %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 @.str1000) %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str1001) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str1002) %t132 = load ptr, ptr %t124 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str1003) %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 @.str1004) %t140 = load ptr, ptr %t139 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str1005) %t141 = load ptr, ptr %t122 %t142 = call ptr @fn_llty(ptr %t141) call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str1006) %t143 = load ptr, ptr %t130 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str1007) %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 @.str1008) %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 @.str1009) %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 @.str1010) %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 @.str1011) %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 @.str1012) %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 @.str1013) %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 @.str1014) %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 @.str1015) %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 @.str1016) %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 @.str1017) %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 @.str1018) %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 @.str1019) %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 @.str1020) %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 @.str1021) %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 @.str1022) %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 @.str1023) %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 @.str1024) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str1025) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str1026) %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 @.str1027) %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 @.str1028, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1029) %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 @.str1030, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1031) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1032) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str1033) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1034) %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 @.str1035, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1036) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1037) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str1038) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1039) %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 @.str1040) %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 @.str1041, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1042) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1043, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1044) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1045, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1046, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1047) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1048) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1049) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1050) %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 @.str1051, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1052) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1053) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1054) %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 @.str1055, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1056) %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 @.str1057, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1058) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1059) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1060) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1061) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1062) %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 @.str1063, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1064) %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 @.str1065, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1066) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1067) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1068) %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 @.str1069) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1070) %t140 = call ptr @fn_val(ptr @.str1071, ptr @.str1072) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1073) %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 @.str1074) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1075) %t148 = call ptr @fn_val(ptr @.str1076, ptr @.str1077) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1078) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1079) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1080) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1081) %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 @.str1082) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1083, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1084) %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 @.str1085, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1086) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1087) %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 @.str1088) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1089) call void @fn_emit(ptr @.str1090) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1091, ptr @.str1092) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1093) %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 @.str1094) store ptr %t186, ptr %retval br label %ret ifend37: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1095) %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 @.str1096) store ptr %t192, ptr %retval br label %ret ifend40: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1097) %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 @.str1098, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1099) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_val(ptr %t202, ptr @.str1100) store ptr %t203, ptr %retval br label %ret ifend43: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1101) %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 @.str1102, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1103) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str1104) store ptr %t214, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t215 = call ptr @fn_val(ptr @.str1105, ptr @.str1106) 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 @.str1107, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1108) 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 @.str1109, ptr %retval br label %ret ifend5: store ptr @.str1110, 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 @.str1111) %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 @.str1112) %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 @.str1113) %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 @.str1114) %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 @.str1115) %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 @.str1116) %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 @.str1117) %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 @.str1118) %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 @.str1119) %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 @.str1120) %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 @.str1121) %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 @.str1122) %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 @.str1123) %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 @.str1124) %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 @.str1125) %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 @.str1126) %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 @.str1127) %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 @.str1128) %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 @.str1129) %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 @.str1130) %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 @.str1131) %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 @.str1132) %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 @.str1133) %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 @.str1134) %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 @.str1135) %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 @.str1136) %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 @.str1137) %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 @.str1138) %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 @.str1139) %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 @.str1140) %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 @.str1141) %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 @.str1142) %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 @.str1143) %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 @.str1144) %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 @.str1145) %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 @.str1146) %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 @.str1147) %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 @.str1148) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1149) %t9 = call ptr @fn_val(ptr @.str1150, ptr @.str1151) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1152) %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 @.str1153, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1154) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1155) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1156) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1157) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1158) %t30 = call ptr @fn_val(ptr @.str1159, ptr @.str1160) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1161) %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 @.str1162) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1163) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1164) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1165) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1166) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1167) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1168) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1169) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1170) %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 @.str1171) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1172) %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 @.str1173) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1174) %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 @.str1175, ptr @.str1176) store ptr %t89, ptr %retval br label %ret ifend23: %t90 = call ptr @fn_val(ptr @.str1177, ptr @.str1178) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1179) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: %t94 = call ptr @fn_val(ptr @.str1180, ptr @.str1181) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1182) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: %t98 = call ptr @fn_emit_bind(ptr @.str1183) %t99 = call ptr @fn_val(ptr %t98, ptr @.str1184) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1185) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: %t103 = call ptr @fn_emit_bind(ptr @.str1186) %t104 = call ptr @fn_val(ptr %t103, ptr @.str1187) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1188) %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 @.str1189) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str1190) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str1191) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str1192) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str1193) %t124 = call ptr @fn_val(ptr @.str1194, ptr @.str1195) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1196) %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 @.str1197) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str1198) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str1199) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1200) %t140 = call ptr @fn_val(ptr @.str1201, ptr @.str1202) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1203) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: call void @fn_emit(ptr @.str1204) %t144 = call ptr @fn_val(ptr @.str1205, ptr @.str1206) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1207) %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 @.str1208) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str1209) %t152 = call ptr @fn_val(ptr @.str1210, ptr @.str1211) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1212) %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 @.str1213) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1214) %t160 = call ptr @fn_val(ptr @.str1215, ptr @.str1216) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1217) %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 @.str1218, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1219) %t170 = call ptr @fn_emit_bind(ptr %t169) %t171 = call ptr @fn_val(ptr %t170, ptr @.str1220) store ptr %t171, ptr %retval br label %ret ifend50: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1221) %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 @.str1222) %t178 = load ptr, ptr %t177 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str1223) %t179 = call ptr @fn_val(ptr @.str1224, ptr @.str1225) store ptr %t179, ptr %retval br label %ret ifend53: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str1226) %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 @.str1227) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str1228) %t187 = call ptr @fn_val(ptr @.str1229, ptr @.str1230) store ptr %t187, ptr %retval br label %ret ifend56: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str1231) %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 @.str1232) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str1233) %t195 = call ptr @fn_val(ptr @.str1234, ptr @.str1235) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1236) %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 @.str1237, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str1238) %t205 = call ptr @fn_emit_bind(ptr %t204) %t206 = call ptr @fn_val(ptr %t205, ptr @.str1239) store ptr %t206, ptr %retval br label %ret ifend62: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str1240) %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 @.str1241) %t222 = load ptr, ptr %t212 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str1242) %t223 = load ptr, ptr %t215 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str1243) %t224 = load ptr, ptr %t218 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str1244) %t225 = load ptr, ptr %t221 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str1245) %t226 = call ptr @fn_val(ptr @.str1246, ptr @.str1247) store ptr %t226, ptr %retval br label %ret ifend65: %t227 = load ptr, ptr %t0 %t228 = call i32 @lp_str_eq(ptr %t227, ptr @.str1248) %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 @.str1249) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str1250) %t234 = call ptr @fn_val(ptr @.str1251, ptr @.str1252) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1253) %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 @.str1254, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str1255) %t244 = call ptr @fn_emit_bind(ptr %t243) %t245 = call ptr @fn_val(ptr %t244, ptr @.str1256) store ptr %t245, ptr %retval br label %ret ifend71: %t246 = load ptr, ptr %t0 %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str1257) %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 @.str1258) %t255 = load ptr, ptr %t251 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str1259) %t256 = load ptr, ptr %t254 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str1260) %t257 = call ptr @fn_val(ptr @.str1261, ptr @.str1262) store ptr %t257, ptr %retval br label %ret ifend74: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str1263) %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 @.str1264) %t267 = load ptr, ptr %t263 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str1265) %t268 = load ptr, ptr %t266 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str1266) %t269 = call ptr @fn_val(ptr @.str1267, ptr @.str1268) store ptr %t269, ptr %retval br label %ret ifend77: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1269) %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 @.str1270) %t279 = load ptr, ptr %t275 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str1271) %t280 = load ptr, ptr %t278 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str1272) %t281 = call ptr @fn_val(ptr @.str1273, ptr @.str1274) store ptr %t281, ptr %retval br label %ret ifend80: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str1275) %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 @.str1276, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1277) %t294 = load ptr, ptr %t290 %t295 = call ptr @lp_str_concat(ptr %t293, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str1278) %t297 = call ptr @fn_emit_bind(ptr %t296) %t298 = call ptr @fn_val(ptr %t297, ptr @.str1279) store ptr %t298, ptr %retval br label %ret ifend83: %t299 = load ptr, ptr %t0 %t300 = call i32 @lp_str_eq(ptr %t299, ptr @.str1280) %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 @.str1281) %t311 = load ptr, ptr %t304 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str1282) %t312 = load ptr, ptr %t307 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str1283) %t313 = load ptr, ptr %t310 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str1284) %t314 = call ptr @fn_val(ptr @.str1285, ptr @.str1286) store ptr %t314, ptr %retval br label %ret ifend86: %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str1287) %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 @.str1288) %t327 = load ptr, ptr %t320 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str1289) %t328 = load ptr, ptr %t323 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str1290) %t329 = load ptr, ptr %t326 call void @fn_emit(ptr %t329) call void @fn_emit(ptr @.str1291) %t330 = call ptr @fn_val(ptr @.str1292, ptr @.str1293) store ptr %t330, ptr %retval br label %ret ifend89: %t331 = load ptr, ptr %t0 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str1294) %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 @.str1295) %t340 = load ptr, ptr %t336 call void @fn_emit(ptr %t340) call void @fn_emit(ptr @.str1296) %t341 = load ptr, ptr %t339 call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str1297) %t342 = call ptr @fn_val(ptr @.str1298, ptr @.str1299) store ptr %t342, ptr %retval br label %ret ifend92: %t343 = load ptr, ptr %t0 %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str1300) %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 @.str1301, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str1302) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str1303) store ptr %t353, ptr %retval br label %ret ifend95: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str1304) %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 @.str1305, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str1306) %t363 = call ptr @fn_emit_bind(ptr %t362) %t364 = call ptr @fn_val(ptr %t363, ptr @.str1307) store ptr %t364, ptr %retval br label %ret ifend98: %t365 = load ptr, ptr %t0 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str1308) %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 @.str1309, ptr %t371) %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str1310) %t374 = call ptr @fn_emit_bind(ptr %t373) %t375 = call ptr @fn_val(ptr %t374, ptr @.str1311) store ptr %t375, ptr %retval br label %ret ifend101: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str1312) %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 @.str1313, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str1314) %t385 = call ptr @fn_emit_bind(ptr %t384) %t386 = call ptr @fn_val(ptr %t385, ptr @.str1315) store ptr %t386, ptr %retval br label %ret ifend104: %t387 = load ptr, ptr %t0 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str1316) %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 @.str1317, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str1318) %t399 = load ptr, ptr %t395 %t400 = call ptr @lp_str_concat(ptr %t398, ptr %t399) %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str1319) %t402 = call ptr @fn_emit_bind(ptr %t401) %t403 = call ptr @fn_val(ptr %t402, ptr @.str1320) store ptr %t403, ptr %retval br label %ret ifend107: %t404 = load ptr, ptr %t0 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str1321) %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 @.str1322) %t410 = load ptr, ptr %t409 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str1323) %t411 = call ptr @fn_val(ptr @.str1324, ptr @.str1325) store ptr %t411, ptr %retval br label %ret ifend110: %t412 = call ptr @fn_val(ptr @.str1326, ptr @.str1327) 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 @.str1328) %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 @.str1329) %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 @.str1330, 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 @.str1331) %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 @.str1332, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1333) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1334) 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 @.str1335) %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 @.str1336) %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 @.str1337, ptr %retval br label %ret ifend4: store ptr @.str1338, 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 @.str1339, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str1340) %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 @.str1341, 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 @.str1342) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: store ptr @.str1343, 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 @.str1344) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then15, label %ifend17 then15: store ptr @.str1345, 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 @.str1346) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: store ptr @.str1347, 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 @.str1348) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: store ptr @.str1349, ptr %t61 br label %ifend23 ifend23: %t82 = load ptr, ptr %t61 %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str1350) %t84 = load ptr, ptr %t1 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1351) %t87 = load ptr, ptr %t54 %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1352) %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 @.str1353) store ptr @.str1354, 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 @.str1355) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1356, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1357) %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 @.str1358) %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 @.str1359, ptr %retval br label %ret ifend7: store ptr @.str1360, 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 @.str1361) store ptr %t10, ptr %t3 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1362) %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 @.str1363, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1364) %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 @.str1365) %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 @.str1366) %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 @.str1367, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1368) %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 @.str1369) %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 @.str1370) %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 @.str1371) 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 @.str1372) %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 @.str1373) %t65 = load ptr, ptr %t1 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1374) %t68 = load ptr, ptr %t1 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1375) 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 @.str1376) %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 @.str1377, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str1378) %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 @.str1379) %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 @.str1380, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1381) %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 @.str1382) %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 @.str1383) 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 @.str1384) %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 @.str1385, ptr %t15 br label %ifend11 ifend11: %t20 = load ptr, ptr %t15 %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1386) %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 @.str1387) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1388) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1389) 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 @.str1390) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1391, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1392) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str1393, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str1394) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str1395, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1396) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str1397, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1398) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str1399, ptr %retval br label %ret ifend14: store ptr @.str1400, 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 @.str1401, 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 @.str1402, 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 @.str1403, 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 @.str1404, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1405) %t56 = load ptr, ptr %t3 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1406) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr %t58, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str1407) %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 @.str1408, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str1409) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str1410) store ptr %t70, ptr %retval br label %ret ifend10: store ptr @.str1411, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1412) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then11, label %ifend13 then11: store ptr @.str1413, ptr %t71 br label %ifend13 ifend13: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str1414) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then14, label %ifend16 then14: store ptr @.str1415, ptr %t71 br label %ifend16 ifend16: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1416) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: store ptr @.str1417, ptr %t71 br label %ifend19 ifend19: %t81 = load ptr, ptr %t0 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str1418) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then20, label %ifend22 then20: store ptr @.str1419, ptr %t71 br label %ifend22 ifend22: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1420) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then23, label %ifend25 then23: store ptr @.str1421, ptr %t71 br label %ifend25 ifend25: %t87 = load ptr, ptr %t71 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1422) %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 @.str1423, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str1424) %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 @.str1425) %t97 = load ptr, ptr %t3 %t98 = call ptr @lp_str_concat(ptr %t96, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str1426) %t100 = load ptr, ptr %t42 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1427) %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 @.str1428) %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 @.str1429, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1430) %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 @.str1431, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1432) %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 @.str1433) %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 @.str1434, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1435) %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 @.str1436, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1437) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1438) %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 @.str1439) %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 @.str1440, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1441) %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 @.str1442) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1443) 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 @.str1444, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1445) %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 @.str1446) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1447) 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 @.str1448, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1449) %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 @.str1450) %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 @.str1451, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1452) %t18 = load ptr, ptr %t12 %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1453) %t21 = call ptr @fn_emit_bind(ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str1454) 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 @.str1455, ptr @.str1456) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1457, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1458) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1459) 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 @.str1460, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1461) %t6 = call ptr @fn_emit_bind(ptr %t5) %t7 = call ptr @fn_val(ptr %t6, ptr @.str1462) 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 @.str1463, ptr @.str1464) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1465, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1466) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1467) 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 @.str1468, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1469) %t5 = call ptr @fn_emit_bind(ptr %t4) %t6 = call ptr @fn_val(ptr %t5, ptr @.str1470) 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 @.str1471, 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 @.str1472) %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 @.str1473, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1474) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t4 store ptr @.str1475, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 %t18 = call ptr @lp_str_concat(ptr @.str1476, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1477) %t20 = load ptr, ptr %t5 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1478) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str1479) 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 @.str1480) call void @fn_fp_declare(ptr @.str1481) call void @fn_fp_declare(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) call void @fn_emith(ptr @.str1500) call void @fn_emith(ptr @.str1501) call void @fn_emith(ptr @.str1502) 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 @.str1503, ptr %t2 store ptr @.str1504, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1505) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1506, ptr %t2 store ptr @.str1507, 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 @.str1508, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1509) %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 @.str1510, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1511) %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 @.str1512, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1513) %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 @.str1514) %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 @.str1515) store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str1516, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1517) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1518) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1519) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1520, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1521) %t22 = load ptr, ptr %t4 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1522) %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1523) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1524) %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 @.str1525) %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 @.str1526) store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr @.str1527, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1528) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1529) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1530) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1531) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1532, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1533) %t26 = load ptr, ptr %t5 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1534) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1535) %t32 = load ptr, ptr %t2 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1536) %t35 = load ptr, ptr %t1 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1537) %t38 = load ptr, ptr %t3 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1538) %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 @.str1539, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1540) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1541, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str1542, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1543) %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1544) %t13 = load ptr, ptr %t3 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1545) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1546) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1547, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1548) %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1549) %t25 = load ptr, ptr %t3 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1550) %t28 = load ptr, ptr %t1 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1551) %t31 = load ptr, ptr %t2 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1552) %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 @.str1553, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1554) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1555, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr @.str1556, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1557) %t11 = load ptr, ptr %t0 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1558) %t14 = load ptr, ptr %t4 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1559) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1560) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1561) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1562, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1563) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1564) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1565) %t32 = load ptr, ptr %t1 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1566) %t35 = load ptr, ptr %t2 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1567) %t38 = load ptr, ptr %t1 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1568) %t41 = load ptr, ptr %t3 %t42 = call ptr @lp_str_concat(ptr %t40, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1569) %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 @.str1570, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1571) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1572, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 %t9 = call ptr @lp_str_concat(ptr @.str1573, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1574) %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1575) %t14 = load ptr, ptr %t2 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1576) %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 @.str1577, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1578) %t24 = load ptr, ptr %t1 %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1579) %t27 = load ptr, ptr %t2 %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1580) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1581) %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 @.str1582, 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 @.str1583) %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 @.str1584, 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 @.str1585, 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 @.str1586) %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 @.str1587, 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 @.str1588) %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 @.str1589, 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 @.str1590) %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 @.str1591, 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 @.str1592) %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 @.str1593, 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 @.str1594) %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 @.str1595, 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 @.str1596) %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 @.str1597, 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 @.str1598) %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 @.str1599, 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 @.str1600) %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 @.str1601, 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 @.str1602) %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 @.str1603, 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 @.str1604) %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 @.str1605, 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 @.str1606) %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 @.str1607, 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 @.str1608) %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 @.str1609, 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 @.str1610) %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 @.str1611, 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 @.str1612) %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 @.str1613, 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 @.str1614) %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 @.str1615, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1616) %t128 = load ptr, ptr %t9 %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1617) %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 @.str1618, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str1619) %t136 = load ptr, ptr %t9 %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1620) %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 @.str1621, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str1622) %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 @.str1623, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str1624) %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 @.str1625) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1626) %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 @.str1627, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str1628) %t159 = load ptr, ptr %t1 %t160 = call ptr @fn_fp_lit_code(ptr @.str1629, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1630) %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 @.str1631, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str1632) %t168 = load ptr, ptr %t9 %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1633) %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 @.str1634) %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 @.str1635, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1636) %t182 = load ptr, ptr %t1 %t183 = call ptr @fn_fp_lit_code(ptr @.str1637, 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 @.str1638, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1639) %t190 = load ptr, ptr %t9 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1640) %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 @.str1641) %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 @.str1642) %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 @.str1643) %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 @.str1644, 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 @.str1645) %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 @.str1646, 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 @.str1647) %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 @.str1648, 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 @.str1649) %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 @.str1650) %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 @.str1651, ptr %t273) %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1652) %t276 = load ptr, ptr %t9 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1653) %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 @.str1654, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1655) %t286 = load ptr, ptr %t282 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str1656) %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 @.str1657, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str1658) %t296 = load ptr, ptr %t292 %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str1659) %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 @.str1660) %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 @.str1661, 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 @.str1662, 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 @.str1663) %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 @.str1664, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1665) %t344 = load ptr, ptr %t335 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1666) %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 @.str1667, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str1668) %t354 = load ptr, ptr %t350 %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str1669) %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 @.str1670, ptr %t361) %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str1671) %t364 = load ptr, ptr %t9 %t365 = call ptr @lp_str_concat(ptr %t363, ptr %t364) %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str1672) %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 @.str1673) %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 @.str1674, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1675) %t388 = load ptr, ptr %t384 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1676) %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 @.str1677, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1678) %t398 = load ptr, ptr %t379 %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str1679) %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 @.str1680, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str1681) %t408 = load ptr, ptr %t394 %t409 = call ptr @lp_str_concat(ptr %t407, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str1682) %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 @.str1683) %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 @.str1684, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str1685) %t442 = load ptr, ptr %t9 %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1686) %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 @.str1687, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1688) %t452 = load ptr, ptr %t428 %t453 = call ptr @lp_str_concat(ptr %t451, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str1689) %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 @.str1690, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str1691) %t462 = load ptr, ptr %t448 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str1692) %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 @.str1693, ptr %t469) %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str1694) %t472 = load ptr, ptr %t438 %t473 = call ptr @lp_str_concat(ptr %t471, ptr %t472) %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str1695) %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 @.str1696, ptr %t479) %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str1697) %t482 = load ptr, ptr %t478 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str1698) %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 @.str1699, ptr %t489) %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str1700) %t492 = load ptr, ptr %t433 %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str1701) %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 @.str1702) %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 @.str1703, ptr %t513) %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str1704) %t516 = load ptr, ptr %t512 %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str1705) %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 @.str1706, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str1707) %t526 = load ptr, ptr %t507 %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str1708) %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 @.str1709, ptr %t533) %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str1710) %t536 = load ptr, ptr %t522 %t537 = call ptr @lp_str_concat(ptr %t535, ptr %t536) %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str1711) %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 @.str1712, ptr %t543, ptr %t544, ptr @.str1713) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str1714, ptr %t547, ptr %t548, ptr @.str1715) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 %t552 = call ptr @lp_str_concat(ptr @.str1716, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str1717) %t554 = load ptr, ptr %t550 %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str1718) %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 @.str1719, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str1720) %t564 = load ptr, ptr %t550 %t565 = call ptr @lp_str_concat(ptr %t563, ptr %t564) %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str1721) %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 @.str1722, ptr %t569) %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str1723) %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 @.str1724, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str1725) %t579 = load ptr, ptr %t560 %t580 = call ptr @lp_str_concat(ptr %t578, ptr %t579) %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str1726) %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 @.str1727) %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 @.str1728, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str1729) %t603 = load ptr, ptr %t594 %t604 = call ptr @lp_str_concat(ptr %t602, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str1730) %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 @.str1731, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 %t615 = call ptr @lp_str_concat(ptr @.str1732, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str1733) %t617 = load ptr, ptr %t613 %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str1734) %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 @.str1735, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1736) %t627 = load ptr, ptr %t609 %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str1737) %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 @.str1738, ptr %t632) %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str1739) %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 @.str1740, ptr %t639) %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str1741) %t642 = load ptr, ptr %t1 %t643 = call ptr @lp_str_concat(ptr %t641, ptr %t642) %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str1742) %t645 = load ptr, ptr %t638 %t646 = call ptr @lp_str_concat(ptr %t644, ptr %t645) %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str1743) %t648 = load ptr, ptr %t1 %t649 = call ptr @lp_str_concat(ptr %t647, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str1744) %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 @.str1745, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1746) %t658 = load ptr, ptr %t9 %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str1747) %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 @.str1748, ptr %t665) %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str1749) %t668 = load ptr, ptr %t1 %t669 = call ptr @lp_str_concat(ptr %t667, ptr %t668) %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str1750) %t671 = load ptr, ptr %t594 %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str1751) %t674 = load ptr, ptr %t1 %t675 = call ptr @lp_str_concat(ptr %t673, ptr %t674) %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str1752) %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 @.str1753) %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 @.str1754) %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 @.str1755, ptr %t708) %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str1756) %t711 = load ptr, ptr %t702 %t712 = call ptr @lp_str_concat(ptr %t710, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1757) %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 @.str1758, ptr %t718) %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str1759) %t721 = load ptr, ptr %t707 %t722 = call ptr @lp_str_concat(ptr %t720, ptr %t721) %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str1760) %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 @.str1761, ptr %t728) %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str1762) %t731 = load ptr, ptr %t717 %t732 = call ptr @lp_str_concat(ptr %t730, ptr %t731) %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str1763) %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 @.str1764, ptr %t738) %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str1765) %t741 = load ptr, ptr %t727 %t742 = call ptr @lp_str_concat(ptr %t740, ptr %t741) %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str1766) %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 @.str1767, ptr %t748) %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str1768) %t751 = load ptr, ptr %t737 %t752 = call ptr @lp_str_concat(ptr %t750, ptr %t751) %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str1769) %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 @.str1770) %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 @.str1771, 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 @.str1772, ptr %t769) %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str1773) %t772 = load ptr, ptr %t1 %t773 = call ptr @lp_str_concat(ptr %t771, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str1774) 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 @.str1775) %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 @.str1776) %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 @.str1777) %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 @.str1778) %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 @.str1779) %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 @.str1780, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1781) %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 @.str1782, 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 @.str1783, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1784) %t30 = load ptr, ptr %t26 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1785) %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 @.str1786) %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 @.str1787) %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 @.str1788, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1789) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: store ptr @.str1790, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr @.str1791, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1792) %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 @.str1793) %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 @.str1794, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1795) %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 @.str1796) %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 @.str1797, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1798) %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 @.str1799, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1800) %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 @.str1801) %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 @.str1802, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1803) %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 @.str1804, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1805) %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 @.str1806) %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 @.str1807, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1808) %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 @.str1809, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1810) %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 @.str1811, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1812) %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 @.str1813, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1814) %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 @.str1815, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1816) %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 @.str1817, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1818) %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 @.str1819, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1820) %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 @.str1821, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1822) %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 @.str1823, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1824) %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 @.str1825, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1826) %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 @.str1827, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1828) %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 @.str1829, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1830) %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 @.str1831, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1832) %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 @.str1833, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1834) %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 @.str1835) %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 @.str1836) %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 @.str1837) %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 @.str1838) %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 @.str1839) %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 @.str1840) %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 @.str1841) %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 @.str1842) %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 @.str1843) %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 @.str1844) %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 @.str1845) %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 @.str1846) %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 @.str1847) %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 @.str1848) %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 @.str1849) %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 @.str1850) %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 @.str1851) %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 @.str1852) %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 @.str1853) %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 @.str1854) %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 @.str1855) %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 @.str1856) %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 @.str1857) %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 @.str1858) %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 @.str1859) %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 @.str1860) %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 @.str1861) %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 @.str1862) %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 @.str1863) %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 @.str1864) %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 @.str1865) %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 @.str1866) %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 @.str1867) %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 @.str1868) %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 @.str1869) %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 @.str1870) %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 @.str1871) %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 @.str1872) %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 @.str1873, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1874) %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 @.str1875, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1876) %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 @.str1877, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1878) %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 @.str1879, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1880) %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 @.str1881) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1882) %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 @.str1883, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1884) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1885) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1886) %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 @.str1887, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1888) %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 @.str1889, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1890) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1891) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1892) %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 @.str1893, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1894) %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 @.str1895, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1896) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str1897) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1898) %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 @.str1899) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1900) %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 @.str1901) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1902) %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 @.str1903, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1904) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str1905) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1906) %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 @.str1907, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1908) %t255 = call ptr @fn_emit_bind(ptr %t254) %t256 = call ptr @fn_val(ptr %t255, ptr @.str1909) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1910) %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 @.str1911, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1912) %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 @.str1913, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1914) %t279 = call ptr @fn_emit_bind(ptr %t278) %t280 = call ptr @fn_val(ptr %t279, ptr @.str1915) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1916) %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 @.str1917, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1918) %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 @.str1919, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1920) %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 @.str1921, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1922) %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 @.str1923) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1924) %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 @.str1925, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1926) %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 @.str1927) %t347 = call ptr @fn_emit_bind(ptr %t346) %t348 = call ptr @fn_val(ptr %t347, ptr @.str1928) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1929) %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 @.str1930, 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 @.str1931, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1932) %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 @.str1933, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1934) %t383 = load ptr, ptr %t377 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1935) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str1936) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1937) %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 @.str1938, 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 @.str1939, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1940) %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 @.str1941, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1942) %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 @.str1943) %t425 = call ptr @fn_emit_bind(ptr %t424) %t426 = call ptr @fn_val(ptr %t425, ptr @.str1944) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1945) %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 @.str1946, ptr %t464) %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1947) %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 @.str1948, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1949) %t474 = call ptr @fn_emit_bind(ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str1950) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1951) %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 @.str1952, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1953) %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 @.str1954, ptr %t528) %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1955) %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 @.str1956, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1957) %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 @.str1958) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1959) %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 @.str1960, ptr %t593) %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1961) %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 @.str1962, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1963) %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 @.str1964, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1965) %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 @.str1966, ptr %t628) %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1967) %t631 = call ptr @fn_emit_bind(ptr %t630) %t632 = call ptr @fn_val(ptr %t631, ptr @.str1968) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1969) %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 @.str1970) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str1971, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1972) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str1973) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1974) %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 @.str1975, ptr %t669) %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1976) %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 @.str1977) %t676 = call ptr @fn_val(ptr %t675, ptr @.str1978) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1979) %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 @.str1980, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1981) %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 @.str1982, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1983) %t714 = call ptr @fn_emit_bind(ptr %t713) %t715 = call ptr @fn_val(ptr %t714, ptr @.str1984) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1985) %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 @.str1986) %t732 = call ptr @fn_val(ptr %t731, ptr @.str1987) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1988) %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 @.str1989) %t749 = call ptr @fn_val(ptr %t748, ptr @.str1990) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1991) %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 @.str1992, ptr %t773) %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1993) %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 @.str1994, ptr %t782) %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1995) %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 @.str1996, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1997) %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 @.str1998) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1999) %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 @.str2000, ptr %t832) %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str2001) %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 @.str2002, ptr %t843) %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str2003) %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 @.str2004, ptr %t852) %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str2005) %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 @.str2006, ptr %t859) %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str2007) %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 @.str2008, ptr %t866) %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str2009) %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 @.str2010, ptr %t875) %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str2011) %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 @.str2012) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str2013) %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 @.str2014, ptr %t905) %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str2015) %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 @.str2016, ptr %t912) %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str2017) %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 @.str2018, ptr %t919) %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str2019) %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 @.str2020, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str2021) %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 @.str2022, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str2023) %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 @.str2024, 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 @.str2025, ptr %t946) %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str2026) %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 @.str2027, ptr %t951) %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str2028) %t954 = load ptr, ptr %t945 %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str2029) %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 @.str2030, ptr %t963) %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str2031) %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 @.str2032) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str2033) %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 @.str2034, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str2035) %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 @.str2036, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str2037) %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 @.str2038, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str2039) %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 @.str2040) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str2041) %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 @.str2042, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str2043) %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 @.str2044, 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 @.str2045, ptr %t1063) %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str2046) %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 @.str2047, ptr %t1068) %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str2048) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str2049) %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 @.str2050, ptr %t1078) %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str2051) %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 @.str2052, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str2053) %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 @.str2054, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str2055) %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 @.str2056, ptr %t1093) %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str2057) %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 @.str2058, ptr %t1100) %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str2059) %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 @.str2060, ptr %t1111) %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str2061) %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 @.str2062, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str2063) %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 @.str2064, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str2065) %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 @.str2066) %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 @.str2067) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str2068) %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 @.str2069, ptr %t1180) %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str2070) %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 @.str2071, ptr %t1185) %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str2072) %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 @.str2073, ptr %t1192) %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str2074) %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 @.str2075, ptr %t1197) %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str2076) %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 @.str2077, ptr %t1204) %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str2078) %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 @.str2079, 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 @.str2080) 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 @.str2081) 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 @.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) call void @fn_emith(ptr @.str2188) call void @fn_emith(ptr @.str2189) call void @fn_emith(ptr @.str2190) 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 @.str2191, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2192) %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 @.str2193, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2194) %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 @.str2195, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2196) %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 @.str2197, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2198) %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 @.str2199, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2200) %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 @.str2201, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2202) %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 @.str2203, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2204) %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 @.str2205) %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 @.str2206) %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 @.str2207) %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 @.str2208) %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 @.str2209) %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 @.str2210) %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 @.str2211) %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 @.str2212) %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 @.str2213) %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 @.str2214) %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 @.str2215) %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 @.str2216) %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 @.str2217) %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 @.str2218) %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 @.str2219) %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 @.str2220) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2221, ptr @.str2222) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2223) %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 @.str2224) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2225) %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 @.str2226) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2227) %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 @.str2228) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str2229) %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 @.str2230, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str2231) %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 @.str2232, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str2233) %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 @.str2234) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str2235) %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 @.str2236, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str2237) %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 @.str2238, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str2239) %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 @.str2240) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str2241) %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 @.str2242) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str2243) %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 @.str2244, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str2245) %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 @.str2246) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str2247) %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 @.str2248, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str2249) %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 @.str2250, ptr %t327) %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str2251) %t330 = call ptr @fn_emit_bind(ptr %t329) %t331 = call ptr @fn_val(ptr %t330, ptr @.str2252) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str2253) %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 @.str2254, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str2255) %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 @.str2256, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str2257) %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 @.str2258, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str2259) %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 @.str2260, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str2261) %t405 = call ptr @fn_emit_bind(ptr %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str2262) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str2263) %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 @.str2264, ptr %t437) %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str2265) %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 @.str2266, ptr %t444) %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str2267) %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 @.str2268, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str2269) %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 @.str2270, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str2271) %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 @.str2272, 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 @.str2273) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str2274) %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 @.str2275, ptr %t499) %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str2276) %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 @.str2277, ptr %t506) %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str2278) %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 @.str2279, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str2280) %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 @.str2281, ptr %t542) %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str2282) %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 @.str2283, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2284) %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 @.str2285) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str2286) %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 @.str2287, ptr %t582) %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str2288) %t585 = load ptr, ptr %t576 %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str2289) %t588 = call ptr @fn_emit_bind(ptr %t587) %t589 = call ptr @fn_val(ptr %t588, ptr @.str2290) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str2291) %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 @.str2292, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2293) %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 @.str2294, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2295) %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 @.str2296, ptr %t616) %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str2297) %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 @.str2298) 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 @.str2299) 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 @.str2300, 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 @.str2301, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2302) %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 @.str2303, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2304) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2305) %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 @.str2306) %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 @.str2307) %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 @.str2308) %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 @.str2309) %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 @.str2310) %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 @.str2311) %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 @.str2312) %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 @.str2313) %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 @.str2314) %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 @.str2315) %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 @.str2316) %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 @.str2317) %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 @.str2318) %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 @.str2319) %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 @.str2320) %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 @.str2321) %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 @.str2322) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2323, ptr @.str2324) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2325) %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 @.str2326) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2327) %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 @.str2328) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2329) %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 @.str2330) store ptr %t68, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str2331) %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 @.str2332) %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 @.str2333, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2334) %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 @.str2335, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str2336) %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 @.str2337, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2338) %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 @.str2339, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2340) %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 @.str2341, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str2342) %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 @.str2343) %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 @.str2344) 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 @.str2345, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str2346) %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 @.str2347, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str2348) %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 @.str2349, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str2350) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str2351) store ptr %t181, ptr %retval br label %ret ifend16: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str2352) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then20, label %ifend22 then20: %t185 = call ptr @fn_find_fn(ptr @.str2353) %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 @.str2354) 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 @.str2355, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2356) %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 @.str2357) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str2358) store ptr %t218, ptr %retval br label %ret ifend22: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str2359) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then26, label %ifend28 then26: %t222 = call ptr @fn_find_fn(ptr @.str2360) %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 @.str2361) 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 @.str2362, ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str2363) %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 @.str2364) %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 @.str2365) %t268 = call ptr @fn_emit_bind(ptr %t267) %t269 = call ptr @fn_val(ptr %t268, ptr @.str2366) store ptr %t269, ptr %retval br label %ret ifend28: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str2367) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then32, label %ifend34 then32: %t273 = call ptr @fn_find_fn(ptr @.str2368) %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 @.str2369) 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 @.str2370, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str2371) %t291 = call ptr @fn_emit_bind(ptr %t290) %t292 = call ptr @fn_val(ptr %t291, ptr @.str2372) store ptr %t292, ptr %retval br label %ret ifend34: %t293 = load ptr, ptr %t0 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str2373) %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 @.str2374, ptr %t334) %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str2375) %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 @.str2376, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str2377) %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 @.str2378) store ptr %t351, ptr %retval br label %ret ifend40: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str2379) %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 @.str2380, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str2381) %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 @.str2382, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str2383) %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 @.str2384) store ptr %t410, ptr %retval br label %ret ifend43: %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str2385) %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 @.str2386, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str2387) %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 @.str2388, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str2389) %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 @.str2390) store ptr %t463, ptr %retval br label %ret ifend46: %t464 = load ptr, ptr %t0 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str2391) %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 @.str2392, ptr %t505) %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str2393) %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 @.str2394, ptr %t512) %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str2395) %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 @.str2396, ptr %t519) %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str2397) %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 @.str2398) store ptr %t525, ptr %retval br label %ret ifend49: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str2399) %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 @.str2400, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2401) %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 @.str2402, ptr %t558) %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str2403) %t561 = call ptr @fn_emit_bind(ptr %t560) %t562 = call ptr @fn_val(ptr %t561, ptr @.str2404) store ptr %t562, ptr %retval br label %ret ifend52: %t563 = load ptr, ptr %t0 %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str2405) %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 @.str2406, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2407) %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 @.str2408, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2409) %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 @.str2410, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str2411) %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 @.str2412) 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 @.str2413, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str2414) %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 @.str2415, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str2416) %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 @.str2417) 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 @.str2418, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2419) %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 @.str2420, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str2421) %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 @.str2422, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2423) %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 @.str2424, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2425) %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 @.str2426, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2427) %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 @.str2428, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str2429) %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 @.str2430, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2431) %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 @.str2432, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2433) %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 @.str2434, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2435) %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 @.str2436, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2437) %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 @.str2438, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2439) %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 @.str2440, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2441) %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 @.str2442, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2443) %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 @.str2444, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2445) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2446) %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 @.str2447, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2448) %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 @.str2449) %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 @.str2450) %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 @.str2451) %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 @.str2452) %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 @.str2453) %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 @.str2454) %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 @.str2455) %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 @.str2456) %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 @.str2457) %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 @.str2458) %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 @.str2459) %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 @.str2460) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str2461) %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 @.str2462) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2463) %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 @.str2464) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str2465) %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 @.str2466) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str2467) %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 @.str2468) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str2469) %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 @.str2470, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str2471) %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 @.str2472) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str2473) %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 @.str2474, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str2475) %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 @.str2476) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str2477) %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 @.str2478, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str2479) %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 @.str2480, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str2481) %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 @.str2482, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str2483) %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 @.str2484, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str2485) %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 @.str2486) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str2487) %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 @.str2488, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str2489) %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 @.str2490, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str2491) %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 @.str2492, 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 @.str2493, 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 @.str2494, 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 @.str2495, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 %t330 = call ptr @lp_str_concat(ptr @.str2496, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2497) %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 @.str2498, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2499) %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 @.str2500, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str2501) %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 @.str2502) 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 @.str2503, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2504) %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 @.str2505, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2506) %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 @.str2507, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2508) %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 @.str2509, ptr %t429) %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2510) %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 @.str2511, 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 @.str2512, 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 @.str2513, 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 @.str2514, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 %t453 = call ptr @lp_str_concat(ptr @.str2515, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2516) %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 @.str2517, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2518) %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 @.str2519, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2520) %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 @.str2521) 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 @.str2522) %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 @.str2523) %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 @.str2524) %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 @.str2525) %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 @.str2526) %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 @.str2527) %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 @.str2528) %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 @.str2529) %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 @.str2530) %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 @.str2531) %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 @.str2532) %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 @.str2533) %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 @.str2534) %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 @.str2535) %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 @.str2536) %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 @.str2537) %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 @.str2538) %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 @.str2539) %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 @.str2540) %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 @.str2541) %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 @.str2542) %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 @.str2543, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2544) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2545) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2546) %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 @.str2547, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2548) %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 @.str2549) %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 @.str2550) %t66 = call ptr @fn_emit_bind(ptr %t65) %t67 = call ptr @fn_val(ptr %t66, ptr @.str2551) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2552) %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 @.str2553, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2554) %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 @.str2555) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str2556) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2557) %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 @.str2558, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2559) %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 @.str2560) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2561) 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 @.str2562) %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 @.str2563, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2564) %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 @.str2565, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2566) %t156 = call ptr @fn_emit_bind(ptr %t155) %t157 = call ptr @fn_val(ptr %t156, ptr @.str2567) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2568) %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 @.str2569, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2570) %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 @.str2571, 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 @.str2572, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2573) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str2574) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2575) %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 @.str2576, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2577) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str2578) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2579) %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 @.str2580, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2581) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2582) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2583) %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 @.str2584, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2585) %t218 = call ptr @fn_emit_bind(ptr %t217) %t219 = call ptr @fn_val(ptr %t218, ptr @.str2586) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2587) %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 @.str2588, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2589) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2590) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2591) %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 @.str2592, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2593) %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 @.str2594) %t252 = call ptr @fn_emit_bind(ptr %t251) %t253 = call ptr @fn_val(ptr %t252, ptr @.str2595) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2596) %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 @.str2597, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2598) %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 @.str2599) %t276 = call ptr @fn_emit_bind(ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str2600) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2601) %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 @.str2602, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2603) %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 @.str2604) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str2605) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2606) %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 @.str2607, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2608) %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 @.str2609) %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 @.str2610) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str2611) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2612) %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 @.str2613, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2614) %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 @.str2615) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str2616) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2617) %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 @.str2618, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2619) %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 @.str2620) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str2621) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2622) %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 @.str2623) %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 @.str2624, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2625) %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 @.str2626) %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 @.str2627) %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 @.str2628, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2629) %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 @.str2630, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2631) %t431 = call ptr @fn_emit_bind(ptr %t430) %t432 = call ptr @fn_val(ptr %t431, ptr @.str2632) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 %t434 = call ptr @lp_str_concat(ptr @.str2633, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2634) %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 @.str2635, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2636) %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 @.str2637, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2638) %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 @.str2639, ptr %t450) %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2640) %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 @.str2641, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2642) %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 @.str2643, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2644) %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 @.str2645) 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 @.str2646, ptr %t480) %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2647) %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 @.str2648) %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 @.str2649, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2650) %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 @.str2651) %t498 = load ptr, ptr %t484 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2652) %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 @.str2653, ptr %t503) %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2654) %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 @.str2655, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2656) %t511 = call ptr @fn_emit_bind(ptr %t510) %t512 = call ptr @fn_val(ptr %t511, ptr @.str2657) 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 @.str2658, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2659) %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 @.str2660, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2661) %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 @.str2662) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2663, ptr @.str2664, ptr %t529) %t530 = load ptr, ptr %t526 %t531 = call ptr @lp_str_concat(ptr @.str2665, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2666) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 %t535 = call ptr @fn_lbl(ptr @.str2667) store ptr %t535, ptr %t536 %t537 = call ptr @fn_lbl(ptr @.str2668) store ptr %t537, ptr %t538 call void @fn_emit(ptr @.str2669) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str2670) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str2671) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str2672) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str2673) %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 @.str2674, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2675) %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 @.str2676, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2677) %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 @.str2678) %t560 = load ptr, ptr %t484 %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2679) %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 @.str2680, ptr %t565) %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2681) %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 @.str2682, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2683) %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 @.str2684, ptr %t575, ptr %t576) call void @fn_emit(ptr @.str2685) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str2686) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str2687) %t579 = load ptr, ptr %t528 %t580 = call ptr @lp_str_concat(ptr @.str2688, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) %t582 = call ptr @fn_val(ptr %t581, ptr @.str2689) 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 @.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) call void @fn_emith(ptr @.str2885) call void @fn_emith(ptr @.str2886) call void @fn_emith(ptr @.str2887) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: 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) call void @fn_emith(ptr @.str3096) call void @fn_emith(ptr @.str3097) call void @fn_emith(ptr @.str3098) 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 @.str3099) %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 @.str3100) %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 @.str3101) %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 @.str3102) %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 @.str3103) %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 @.str3104) %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 @.str3105) %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 @.str3106) %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 @.str3107, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3108) %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 @.str3109, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3110) %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 @.str3111, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3112) %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 @.str3113, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3114) %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 @.str3115, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3116) %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 @.str3117, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3118) %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 @.str3119, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3120) %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 @.str3121, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3122) %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 @.str3123, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3124) %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 @.str3125, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3126) %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 @.str3127, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3128) %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 @.str3129, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3130) %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 @.str3131, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3132) %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 @.str3133, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3134) %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 @.str3135, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3136) %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 @.str3137, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3138) %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 @.str3139) %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 @.str3140) %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 @.str3141, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3142) %t27 = call ptr @fn_emit_bind(ptr %t26) %t28 = call ptr @fn_val(ptr %t27, ptr @.str3143) store ptr %t28, ptr %retval br label %ret ifend4: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3144) %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 @.str3145) %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 @.str3146, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3147) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str3148) store ptr %t55, ptr %retval br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str3149) %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 @.str3150) store ptr %t71, ptr %retval br label %ret ifend12: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str3151) %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 @.str3152, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str3153) %t89 = call ptr @fn_emit_bind(ptr %t88) %t90 = call ptr @fn_val(ptr %t89, ptr @.str3154) store ptr %t90, ptr %retval br label %ret ifend15: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str3155) %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 @.str3156) store ptr %t107, ptr %retval br label %ret ifend18: store ptr @.str3157, 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 @.str3158, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str3159) %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 @.str3160, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str3161) %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 @.str3162, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str3163) %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 @.str3164, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str3165) %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 @.str3166, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str3167) %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 @.str3168, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str3169) %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 @.str3170) 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 @.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) call void @fn_emith(ptr @.str3265) call void @fn_emith(ptr @.str3266) call void @fn_emith(ptr @.str3267) 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 @.str3268) %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 @.str3269) %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 @.str3270) %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 @.str3271) %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 @.str3272) %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 @.str3273) %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 @.str3274) %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 @.str3275) %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 @.str3276) %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 @.str3277) %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 @.str3278, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3279) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3280) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3281) %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 @.str3282, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3283) %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 @.str3284) %t52 = call ptr @fn_emit_bind(ptr %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str3285) store ptr %t53, ptr %retval br label %ret ifend5: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str3286) %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 @.str3287, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3288) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3289) store ptr %t72, ptr %retval br label %ret ifend8: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3290) %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 @.str3291, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3292) %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 @.str3293) %t104 = call ptr @fn_emit_bind(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str3294) store ptr %t105, ptr %retval br label %ret ifend11: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str3295) %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 @.str3296) %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 @.str3297, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str3298) %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 @.str3299, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str3300) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str3301) store ptr %t137, ptr %retval br label %ret ifend16: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str3302) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then17, label %ifend19 then17: %t141 = call ptr @fn_emit_bind(ptr @.str3303) %t142 = call ptr @fn_val(ptr %t141, ptr @.str3304) store ptr %t142, ptr %retval br label %ret ifend19: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str3305) %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 @.str3306, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3307) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str3308) 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 @.str3309, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str3310) %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 @.str3311) %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 @.str3312, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str3313) %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 @.str3314) %t209 = call ptr @fn_emit_bind(ptr %t208) %t210 = call ptr @fn_val(ptr %t209, ptr @.str3315) 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 @.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_emith(ptr @.str3465) call void @fn_emith(ptr @.str3466) call void @fn_emith(ptr @.str3467) 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 @.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) call void @fn_emith(ptr @.str3513) call void @fn_emith(ptr @.str3514) call void @fn_emith(ptr @.str3515) 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 @.str3516) %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 @.str3517) %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 @.str3518) %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 @.str3519) %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 @.str3520) %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 @.str3521) %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 @.str3522) %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 @.str3523) %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 @.str3524) %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 @.str3525) %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 @.str3526) %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 @.str3527) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3528) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3529) %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 @.str3530) %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 @.str3531) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3532) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3533) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3534) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3535) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3536) %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 @.str3537, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3538) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str3539) store ptr %t51, ptr %retval br label %ret ifend15: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3540) %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 @.str3541) store ptr %t67, ptr %retval br label %ret ifend18: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3542) %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 @.str3543, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3544) %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 @.str3545) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3546) 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 @.str3547, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3548) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3549) 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 @.str3550) call void @fn_emith(ptr @.str3551) call void @fn_emith(ptr @.str3552) call void @fn_emith(ptr @.str3553) call void @fn_emith(ptr @.str3554) call void @fn_emith(ptr @.str3555) call void @fn_emith(ptr @.str3556) call void @fn_emith(ptr @.str3557) call void @fn_emith(ptr @.str3558) call void @fn_emith(ptr @.str3559) call void @fn_emith(ptr @.str3560) call void @fn_emith(ptr @.str3561) call void @fn_emith(ptr @.str3562) call void @fn_emith(ptr @.str3563) call void @fn_emith(ptr @.str3564) call void @fn_emith(ptr @.str3565) call void @fn_emith(ptr @.str3566) call void @fn_emith(ptr @.str3567) call void @fn_emith(ptr @.str3568) call void @fn_emith(ptr @.str3569) call void @fn_emith(ptr @.str3570) call void @fn_emith(ptr @.str3571) call void @fn_emith(ptr @.str3572) call void @fn_emith(ptr @.str3573) call void @fn_emith(ptr @.str3574) call void @fn_emith(ptr @.str3575) call void @fn_emith(ptr @.str3576) call void @fn_emith(ptr @.str3577) call void @fn_emith(ptr @.str3578) call void @fn_emith(ptr @.str3579) call void @fn_emith(ptr @.str3580) call void @fn_emith(ptr @.str3581) call void @fn_emith(ptr @.str3582) call void @fn_emith(ptr @.str3583) call void @fn_emith(ptr @.str3584) call void @fn_emith(ptr @.str3585) call void @fn_emith(ptr @.str3586) call void @fn_emith(ptr @.str3587) call void @fn_emith(ptr @.str3588) call void @fn_emith(ptr @.str3589) call void @fn_emith(ptr @.str3590) call void @fn_emith(ptr @.str3591) call void @fn_emith(ptr @.str3592) call void @fn_emith(ptr @.str3593) call void @fn_emith(ptr @.str3594) call void @fn_emith(ptr @.str3595) call void @fn_emith(ptr @.str3596) call void @fn_emith(ptr @.str3597) call void @fn_emith(ptr @.str3598) call void @fn_emith(ptr @.str3599) call void @fn_emith(ptr @.str3600) call void @fn_emith(ptr @.str3601) call void @fn_emith(ptr @.str3602) call void @fn_emith(ptr @.str3603) call void @fn_emith(ptr @.str3604) call void @fn_emith(ptr @.str3605) call void @fn_emith(ptr @.str3606) call void @fn_emith(ptr @.str3607) call void @fn_emith(ptr @.str3608) call void @fn_emith(ptr @.str3609) call void @fn_emith(ptr @.str3610) call void @fn_emith(ptr @.str3611) call void @fn_emith(ptr @.str3612) call void @fn_emith(ptr @.str3613) call void @fn_emith(ptr @.str3614) call void @fn_emith(ptr @.str3615) call void @fn_emith(ptr @.str3616) call void @fn_emith(ptr @.str3617) call void @fn_emith(ptr @.str3618) call void @fn_emith(ptr @.str3619) call void @fn_emith(ptr @.str3620) call void @fn_emith(ptr @.str3621) call void @fn_emith(ptr @.str3622) call void @fn_emith(ptr @.str3623) 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 @.str3624) %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 @.str3625) %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 @.str3626) %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 @.str3627) %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 @.str3628) %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 @.str3629) %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 @.str3630) %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 @.str3631) %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 @.str3632, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3633) %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 @.str3634, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3635) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3636) 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 @.str3637) %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 @.str3638, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3639) %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 @.str3640) %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 @.str3641) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3642) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3643) %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 @.str3644, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3645) %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 @.str3646) %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 @.str3647) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3648) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3649) %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 @.str3650, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3651) %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 @.str3652) %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 @.str3653) %t165 = call ptr @fn_emit_bind(ptr %t164) %t166 = call ptr @fn_val(ptr %t165, ptr @.str3654) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3655) %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 @.str3656, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3657) %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 @.str3658) %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 @.str3659) %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 @.str3660) %t226 = call ptr @fn_emit_bind(ptr %t225) %t227 = call ptr @fn_val(ptr %t226, ptr @.str3661) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3662) %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 @.str3663, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3664) %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 @.str3665) %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 @.str3666) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str3667) 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 @.str3668, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3669) %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 @.str3670) %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 @.str3671) %t317 = call ptr @fn_emit_bind(ptr %t316) %t318 = call ptr @fn_val(ptr %t317, ptr @.str3672) 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 @.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_emith(ptr @.str3754) call void @fn_emith(ptr @.str3755) call void @fn_emith(ptr @.str3756) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str3757) call void @fn_emith(ptr @.str3758) call void @fn_emith(ptr @.str3759) call void @fn_emith(ptr @.str3760) call void @fn_emith(ptr @.str3761) call void @fn_emith(ptr @.str3762) call void @fn_emith(ptr @.str3763) call void @fn_emith(ptr @.str3764) call void @fn_emith(ptr @.str3765) call void @fn_emith(ptr @.str3766) call void @fn_emith(ptr @.str3767) call void @fn_emith(ptr @.str3768) call void @fn_emith(ptr @.str3769) call void @fn_emith(ptr @.str3770) call void @fn_emith(ptr @.str3771) call void @fn_emith(ptr @.str3772) call void @fn_emith(ptr @.str3773) call void @fn_emith(ptr @.str3774) call void @fn_emith(ptr @.str3775) call void @fn_emith(ptr @.str3776) call void @fn_emith(ptr @.str3777) call void @fn_emith(ptr @.str3778) call void @fn_emith(ptr @.str3779) call void @fn_emith(ptr @.str3780) 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 @.str3781) %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 @.str3782) %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 @.str3783) %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 @.str3784) %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 @.str3785) %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 @.str3786) %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 @.str3787) %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 @.str3788) %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 @.str3789) %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 @.str3790, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3791) %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 @.str3792, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3793) %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 @.str3794) %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 @.str3795, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3796) call void @fn_emit(ptr %t18) %t19 = call ptr @fn_val(ptr @.str3797, ptr @.str3798) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3799) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = call ptr @fn_emit_bind(ptr @.str3800) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3801) store ptr %t24, ptr %retval br label %ret ifend5: store ptr @.str3802, ptr %t25 store ptr @.str3803, ptr %t26 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3804) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str3805, ptr %t25 store ptr @.str3806, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3807) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store ptr @.str3808, ptr %t25 store ptr @.str3809, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3810) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: store ptr @.str3811, ptr %t25 store ptr @.str3812, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3813) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: store ptr @.str3814, ptr %t25 store ptr @.str3815, 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 @.str3816) 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 @.str3818) %t56 = call ptr @fn_emit_str_op(ptr @.str3817, 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 @.str3820) %t91 = call ptr @fn_val(ptr %t90, ptr @.str3821) %t92 = call ptr @fn_emit_str_op(ptr @.str3819, 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 @.str3823) %t97 = call ptr @fn_emit_str_op(ptr @.str3822, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 %t99 = call ptr @fn_emit_str_const(ptr @.str3825) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3826) %t101 = call ptr @fn_emit_str_op(ptr @.str3824, 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 @.str3828) %t106 = call ptr @fn_emit_str_op(ptr @.str3827, 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 @.str3829, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3830) %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 @.str3831) call void @fn_emit(ptr %t116) %t117 = call ptr @fn_val(ptr @.str3832, ptr @.str3833) 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 @.str3834) call void @fn_emith(ptr @.str3835) call void @fn_emith(ptr @.str3836) call void @fn_emith(ptr @.str3837) %t0 = call ptr @fn_stdstream_rhs(i32 2) %t1 = call ptr @lp_str_concat(ptr @.str3838, ptr %t0) %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str3839) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str3840) call void @fn_emith(ptr @.str3841) 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 @.str3842) %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 @.str3843) %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 @.str3844) %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 @.str3845) %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 @.str3846) %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 @.str3847) %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 @.str3848) %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 @.str3849) %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 @.str3850) %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 @.str3851) %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 @.str3852) %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 @.str3853) %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 @.str3854) %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 @.str3855) %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 @.str3856) %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 @.str3857) %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 @.str3858) %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 @.str3859) %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 @.str3860) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str3861) %t6 = call ptr @fn_val(ptr %t5, ptr @.str3862) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3863) %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 @.str3864) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str3865, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3866) %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 @.str3867, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) %t33 = call ptr @fn_val(ptr %t32, ptr @.str3868) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3869) %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 @.str3870) %t38 = call ptr @fn_val(ptr %t37, ptr @.str3871) store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3872) %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 @.str3873, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3874) call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str3875) store i32 1, ptr @g_g_term %t56 = call ptr @fn_val(ptr @.str3876, ptr @.str3877) store ptr %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3878) %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 @.str3879, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3880) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str3881) store ptr %t75, ptr %retval br label %ret ifend14: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3882) %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 @.str3883, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3884) %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 @.str3885, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3886) %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 @.str3887, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3888) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3889) store ptr %t104, ptr %retval br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3890) %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 @.str3891) %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 @.str3892) %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 @.str3893, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3894) %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 @.str3895, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3896) %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3897) %t148 = load ptr, ptr %t132 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3898) call void @fn_emit(ptr %t150) %t151 = call ptr @fn_val(ptr @.str3899, ptr @.str3900) 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 @.str3901) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: %t155 = call ptr @fn_emit_bind(ptr @.str3902) %t156 = call ptr @fn_val(ptr %t155, ptr @.str3903) store ptr %t156, ptr %retval br label %ret ifend28: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3904) %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 @.str3905, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3906) %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 @.str3907) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str3908) store ptr %t189, ptr %retval br label %ret ifend31: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3909) %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 @.str3910, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3911) %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 @.str3912) %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 @.str3913, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3914) %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 @.str3915, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3916) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str3917) store ptr %t232, ptr %retval br label %ret ifend34: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3918) %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 @.str3919, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3920) %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 @.str3921, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3922) %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 @.str3923, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3924) %t260 = call ptr @fn_emit_bind(ptr %t259) %t261 = call ptr @fn_val(ptr %t260, ptr @.str3925) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3926) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: %t265 = call ptr @fn_emit_bind(ptr @.str3927) %t266 = call ptr @fn_val(ptr %t265, ptr @.str3928) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3929) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: %t270 = call ptr @fn_emit_bind(ptr @.str3930) %t271 = call ptr @fn_val(ptr %t270, ptr @.str3931) store ptr %t271, ptr %retval br label %ret ifend43: %t272 = load ptr, ptr %t0 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3932) %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 @.str3933, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3934) %t289 = call ptr @fn_emit_bind(ptr %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str3935) store ptr %t290, ptr %retval br label %ret ifend46: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3936) %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 @.str3937, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3938) %t308 = call ptr @fn_emit_bind(ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str3939) store ptr %t309, ptr %retval br label %ret ifend49: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3940) %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 @.str3941, ptr %t324) %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3942) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str3943) store ptr %t328, ptr %retval br label %ret ifend52: %t329 = call ptr @fn_emit_bind(ptr @.str3944) %t330 = call ptr @fn_val(ptr %t329, ptr @.str3945) 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 @.str3946) call void @fn_emith(ptr @.str3947) call void @fn_emith(ptr @.str3948) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str3949) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str3950) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str3951) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str3952) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str3953) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str3954) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str3955) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str3956) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str3957) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str3958) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str3959) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str3960) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str3961) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str3962) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str3963) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str3964) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str3965) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str3966) call void @fn_emith(ptr @.str3967) call void @fn_emith(ptr @.str3968) call void @fn_emith(ptr @.str3969) call void @fn_emith(ptr @.str3970) call void @fn_emith(ptr @.str3971) call void @fn_emith(ptr @.str3972) call void @fn_emith(ptr @.str3973) call void @fn_emith(ptr @.str3974) call void @fn_emith(ptr @.str3975) call void @fn_emith(ptr @.str3976) call void @fn_emith(ptr @.str3977) %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 @.str3978, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3979) %t45 = load ptr, ptr %t7 %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3980) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str3981) call void @fn_emith(ptr @.str3982) call void @fn_emith(ptr @.str3983) call void @fn_emith(ptr @.str3984) call void @fn_emith(ptr @.str3985) %t48 = load ptr, ptr %t17 %t49 = call ptr @lp_str_concat(ptr @.str3986, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3987) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str3988) call void @fn_emith(ptr @.str3989) call void @fn_emith(ptr @.str3990) call void @fn_emith(ptr @.str3991) %t51 = load ptr, ptr %t31 %t52 = call ptr @lp_str_concat(ptr @.str3992, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3993) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str3994) call void @fn_emith(ptr @.str3995) call void @fn_emith(ptr @.str3996) call void @fn_emith(ptr @.str3997) call void @fn_emith(ptr @.str3998) %t54 = load ptr, ptr %t9 %t55 = call ptr @lp_str_concat(ptr @.str3999, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4000) %t57 = load ptr, ptr %t19 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str4001) %t60 = load ptr, ptr %t25 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4002) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 %t64 = call ptr @lp_str_concat(ptr @.str4003, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4004) %t66 = load ptr, ptr %t21 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4005) %t69 = load ptr, ptr %t27 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str4006) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 %t73 = call ptr @lp_str_concat(ptr @.str4007, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4008) %t75 = load ptr, ptr %t23 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4009) %t78 = load ptr, ptr %t29 %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4010) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 %t82 = call ptr @lp_str_concat(ptr @.str4011, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4012) %t84 = load ptr, ptr %t15 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4013) call void @fn_emith(ptr %t86) 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) call void @fn_emith(ptr @.str4020) call void @fn_emith(ptr @.str4021) call void @fn_emith(ptr @.str4022) %t87 = load ptr, ptr %t17 %t88 = call ptr @lp_str_concat(ptr @.str4023, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4024) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 %t91 = call ptr @lp_str_concat(ptr @.str4025, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4026) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 %t94 = call ptr @lp_str_concat(ptr @.str4027, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4028) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 %t97 = call ptr @lp_str_concat(ptr @.str4029, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4030) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str4031) call void @fn_emith(ptr @.str4032) call void @fn_emith(ptr @.str4033) call void @fn_emith(ptr @.str4034) 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 @.str4035) %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 @.str4036) %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 @.str4037) %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 @.str4038) %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 @.str4039) %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 @.str4040) %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 @.str4041) %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 @.str4042) %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 @.str4043) %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 @.str4044) %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 @.str4045, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4046) %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 @.str4047, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4048) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str4049) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4050) %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 @.str4051, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4052) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str4053) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str4054) %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 @.str4055, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4056) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str4057) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str4058) %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 @.str4059, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4060) %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 @.str4061) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str4062) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str4063) %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 @.str4064, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4065) %t114 = call ptr @fn_emit_bind(ptr %t113) %t115 = call ptr @fn_val(ptr %t114, ptr @.str4066) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str4067) %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 @.str4068, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4069) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str4070) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str4071) %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 @.str4072, ptr %t149) %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str4073) %t152 = call ptr @fn_emit_bind(ptr %t151) %t153 = call ptr @fn_val(ptr %t152, ptr @.str4074) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str4075) %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 @.str4076, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str4077) %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 @.str4078) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str4079) 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 @.str4080, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str4081) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = call ptr @fn_val(ptr %t201, ptr @.str4082) 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 @.str4083) call void @fn_emith(ptr @.str4084) call void @fn_emith(ptr @.str4085) call void @fn_emith(ptr @.str4086) call void @fn_emith(ptr @.str4087) call void @fn_emith(ptr @.str4088) call void @fn_emith(ptr @.str4089) call void @fn_emith(ptr @.str4090) call void @fn_emith(ptr @.str4091) call void @fn_emith(ptr @.str4092) call void @fn_emith(ptr @.str4093) call void @fn_emith(ptr @.str4094) call void @fn_emith(ptr @.str4095) call void @fn_emith(ptr @.str4096) call void @fn_emith(ptr @.str4097) call void @fn_emith(ptr @.str4098) call void @fn_emith(ptr @.str4099) call void @fn_emith(ptr @.str4100) call void @fn_emith(ptr @.str4101) call void @fn_emith(ptr @.str4102) call void @fn_emith(ptr @.str4103) call void @fn_emith(ptr @.str4104) call void @fn_emith(ptr @.str4105) call void @fn_emith(ptr @.str4106) call void @fn_emith(ptr @.str4107) call void @fn_emith(ptr @.str4108) call void @fn_emith(ptr @.str4109) call void @fn_emith(ptr @.str4110) call void @fn_emith(ptr @.str4111) call void @fn_emith(ptr @.str4112) call void @fn_emith(ptr @.str4113) call void @fn_emith(ptr @.str4114) call void @fn_emith(ptr @.str4115) call void @fn_emith(ptr @.str4116) call void @fn_emith(ptr @.str4117) call void @fn_emith(ptr @.str4118) call void @fn_emith(ptr @.str4119) call void @fn_emith(ptr @.str4120) call void @fn_emith(ptr @.str4121) call void @fn_emith(ptr @.str4122) call void @fn_emith(ptr @.str4123) call void @fn_emith(ptr @.str4124) call void @fn_emith(ptr @.str4125) call void @fn_emith(ptr @.str4126) call void @fn_emith(ptr @.str4127) call void @fn_emith(ptr @.str4128) call void @fn_emith(ptr @.str4129) call void @fn_emith(ptr @.str4130) call void @fn_emith(ptr @.str4131) call void @fn_emith(ptr @.str4132) call void @fn_emith(ptr @.str4133) call void @fn_emith(ptr @.str4134) call void @fn_emith(ptr @.str4135) call void @fn_emith(ptr @.str4136) call void @fn_emith(ptr @.str4137) call void @fn_emith(ptr @.str4138) call void @fn_emith(ptr @.str4139) call void @fn_emith(ptr @.str4140) call void @fn_emith(ptr @.str4141) call void @fn_emith(ptr @.str4142) call void @fn_emith(ptr @.str4143) call void @fn_emith(ptr @.str4144) call void @fn_emith(ptr @.str4145) call void @fn_emith(ptr @.str4146) call void @fn_emith(ptr @.str4147) call void @fn_emith(ptr @.str4148) call void @fn_emith(ptr @.str4149) call void @fn_emith(ptr @.str4150) call void @fn_emith(ptr @.str4151) call void @fn_emith(ptr @.str4152) call void @fn_emith(ptr @.str4153) call void @fn_emith(ptr @.str4154) call void @fn_emith(ptr @.str4155) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: 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) call void @fn_emith(ptr @.str4193) call void @fn_emith(ptr @.str4194) call void @fn_emith(ptr @.str4195) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: 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_emith(ptr @.str4230) call void @fn_emith(ptr @.str4231) call void @fn_emith(ptr @.str4232) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: 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) call void @fn_emith(ptr @.str4249) call void @fn_emith(ptr @.str4250) call void @fn_emith(ptr @.str4251) 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 @.str4252) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4253) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4254) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4255) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4256) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4257) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str4258) %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 @.str4259) %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 @.str4260) %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 @.str4261) %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 @.str4262) %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 @.str4263) %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 @.str4264) %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 @.str4265) %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 @.str4266) %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 @.str4267) %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 @.str4268) %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 @.str4269) %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 @.str4270) %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 @.str4271, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4272) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4273) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4274) %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 @.str4275, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4276) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4277) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4278) %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 @.str4279, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4280) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4281) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4282) %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 @.str4283, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4284) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4285) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4286) %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 @.str4287, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4288) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4289) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str4290) %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 @.str4291, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4292) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str4293) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str4294) %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 @.str4295, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4296) %t79 = call ptr @fn_emit_bind(ptr %t78) %t80 = call ptr @fn_val(ptr %t79, ptr @.str4297) 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 @.str4298) %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 @.str4299, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4300) %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 @.str4301) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str4302) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str4303) %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 @.str4304, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4305) %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 @.str4306) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str4307) 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 @.str4308, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str4309) %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 @.str4310) %t130 = call ptr @fn_emit_bind(ptr %t129) %t131 = call ptr @fn_val(ptr %t130, ptr @.str4311) 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 @.str4312) %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 @.str4313, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4314) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4315) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4316) %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 @.str4317, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4318) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4319) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4320) %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 @.str4321, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4322) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4323) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4324) %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 @.str4325, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4326) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4327) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4328) %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 @.str4329, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4330) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4331) 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 @.str4332, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4333) %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 @.str4334) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str4335) 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 @.str4336) %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 @.str4337, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4338) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4339) 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 @.str4340, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4341) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str4342) 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 @.str4343) call void @fn_emith(ptr @.str4344) call void @fn_emith(ptr @.str4345) call void @fn_emith(ptr @.str4346) call void @fn_emith(ptr @.str4347) call void @fn_emith(ptr @.str4348) call void @fn_emith(ptr @.str4349) 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 @.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) call void @fn_emith(ptr @.str4360) call void @fn_emith(ptr @.str4361) call void @fn_emith(ptr @.str4362) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: 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_emith(ptr @.str4402) call void @fn_emith(ptr @.str4403) call void @fn_emith(ptr @.str4404) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: 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) call void @fn_emith(ptr @.str4439) call void @fn_emith(ptr @.str4440) call void @fn_emith(ptr @.str4441) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: 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) call void @fn_emith(ptr @.str4487) call void @fn_emith(ptr @.str4488) call void @fn_emith(ptr @.str4489) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: 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) call void @fn_emith(ptr @.str4511) call void @fn_emith(ptr @.str4512) call void @fn_emith(ptr @.str4513) 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 @.str4514, 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 @.str4515, 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 @.str4516, 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 @.str4517, 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 @.str4518, 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 @.str4519, 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 @.str4520, 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 @.str4521, 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 @.str4522, 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 @.str4523, 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 @.str4524, 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 @.str4525, 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 @.str4526, 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 @.str4527, 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 @.str4528, 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 @.str4529, 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 @.str4530, 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 @.str4531, 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 @.str4532, 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 @.str4533, 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 @.str4534, 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 @.str4535, 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 @.str4536, 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 @.str4537, 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 @.str4538, 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 @.str4539, 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 @.str4540, 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 @.str4541, 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 @.str4542, 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 @.str4543, 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 @.str4544, 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 @.str4545, 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 @.str4546, 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 @.str4547, 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 @.str4548, 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 @.str4549, 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 @.str4550, 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 @.str4551, 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 @.str4552, 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 @.str4553, 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 @.str4554, 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 @.str4555, 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 @.str4556, 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 @.str4557, 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 @.str4558, 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 @.str4559, 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 @.str4560, 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 @.str4561, 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 @.str4562) 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 @.str4563, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4564) 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 @.str4565) 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 @.str4566, ptr %t1028) %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4567) %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 @.str4568) 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 @.str4569) call void @fn_emith(ptr @.str4570) call void @fn_emith(ptr @.str4571) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) %t1043 = call ptr @lp_str_concat(ptr @.str4572, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4573) 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 @.str4574, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4575) 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 @.str4576, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4577) call void @fn_emith(ptr %t1052) call void @fn_emith(ptr @.str4578) %t1053 = load ptr, ptr %t1003 %t1054 = call ptr @lp_str_concat(ptr @.str4579, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4580) call void @fn_emith(ptr %t1055) call void @fn_emith(ptr @.str4581) call void @fn_emith(ptr @.str4582) call void @fn_emith(ptr @.str4583) call void @fn_emith(ptr @.str4584) call void @fn_emith(ptr @.str4585) call void @fn_emith(ptr @.str4586) call void @fn_emith(ptr @.str4587) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: 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) call void @fn_emith(ptr @.str4609) call void @fn_emith(ptr @.str4610) call void @fn_emith(ptr @.str4611) 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 @.str4612) call void @fn_emith(ptr @.str4613) call void @fn_emith(ptr @.str4614) call void @fn_emith(ptr @.str4615) call void @fn_emith(ptr @.str4616) call void @fn_emith(ptr @.str4617) call void @fn_emith(ptr @.str4618) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4619) call void @fn_emith(ptr @.str4620) call void @fn_emith(ptr @.str4621) call void @fn_emith(ptr @.str4622) call void @fn_emith(ptr @.str4623) call void @fn_emith(ptr @.str4624) call void @fn_emith(ptr @.str4625) call void @fn_emith(ptr @.str4626) call void @fn_emith(ptr @.str4627) %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 @.str4628) call void @fn_emith(ptr @.str4629) call void @fn_emith(ptr @.str4630) call void @fn_emith(ptr @.str4631) call void @fn_emith(ptr @.str4632) 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 @.str4633) call void @fn_emith(ptr @.str4634) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str4635) call void @fn_emith(ptr @.str4636) call void @fn_emith(ptr @.str4637) call void @fn_emith(ptr @.str4638) call void @fn_emith(ptr @.str4639) call void @fn_emith(ptr @.str4640) call void @fn_emith(ptr @.str4641) call void @fn_emith(ptr @.str4642) call void @fn_emith(ptr @.str4643) call void @fn_emith(ptr @.str4644) call void @fn_emith(ptr @.str4645) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: call void @fn_emith(ptr @.str4681) call void @fn_emith(ptr @.str4682) call void @fn_emith(ptr @.str4683) call void @fn_emith(ptr @.str4684) call void @fn_emith(ptr @.str4685) call void @fn_emith(ptr @.str4686) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: 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) call void @fn_emith(ptr @.str4715) call void @fn_emith(ptr @.str4716) call void @fn_emith(ptr @.str4717) call void @fn_emith(ptr @.str4718) call void @fn_emith(ptr @.str4719) %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 @.str4720) call void @fn_emith(ptr @.str4721) br label %ifend2 else1: call void @fn_emith(ptr @.str4722) call void @fn_emith(ptr @.str4723) br label %ifend2 ifend2: 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) call void @fn_emith(ptr @.str4729) call void @fn_emith(ptr @.str4730) call void @fn_emith(ptr @.str4731) call void @fn_emith(ptr @.str4732) call void @fn_emith(ptr @.str4733) %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 @.str4734) br label %ifend5 ifend5: call void @fn_emith(ptr @.str4735) call void @fn_emith(ptr @.str4736) %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 @.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) 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) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: 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_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_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 @.str4790) call void @fn_emith(ptr @.str4791) call void @fn_emith(ptr @.str4792) call void @fn_emith(ptr @.str4793) call void @fn_emith(ptr @.str4794) call void @fn_emith(ptr @.str4795) call void @fn_emith(ptr @.str4796) call void @fn_emith(ptr @.str4797) call void @fn_emith(ptr @.str4798) call void @fn_emith(ptr @.str4799) call void @fn_emith(ptr @.str4800) call void @fn_emith(ptr @.str4801) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: call void @fn_emith(ptr @.str4802) call void @fn_emith(ptr @.str4803) call void @fn_emith(ptr @.str4804) call void @fn_emith(ptr @.str4805) call void @fn_emith(ptr @.str4806) call void @fn_emith(ptr @.str4807) call void @fn_emith(ptr @.str4808) call void @fn_emith(ptr @.str4809) call void @fn_emith(ptr @.str4810) call void @fn_emith(ptr @.str4811) call void @fn_emith(ptr @.str4812) call void @fn_emith(ptr @.str4813) call void @fn_emith(ptr @.str4814) call void @fn_emith(ptr @.str4815) call void @fn_emith(ptr @.str4816) call void @fn_emith(ptr @.str4817) call void @fn_emith(ptr @.str4818) call void @fn_emith(ptr @.str4819) call void @fn_emith(ptr @.str4820) call void @fn_emith(ptr @.str4821) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str4822) call void @fn_emith(ptr @.str4823) call void @fn_emith(ptr @.str4824) call void @fn_emith(ptr @.str4825) call void @fn_emith(ptr @.str4826) call void @fn_emith(ptr @.str4827) call void @fn_emith(ptr @.str4828) call void @fn_emith(ptr @.str4829) call void @fn_emith(ptr @.str4830) call void @fn_emith(ptr @.str4831) call void @fn_emith(ptr @.str4832) call void @fn_emith(ptr @.str4833) call void @fn_emith(ptr @.str4834) call void @fn_emith(ptr @.str4835) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: call void @fn_emith(ptr @.str4851) call void @fn_emith(ptr @.str4852) call void @fn_emith(ptr @.str4853) call void @fn_emith(ptr @.str4854) call void @fn_emith(ptr @.str4855) call void @fn_emith(ptr @.str4856) call void @fn_emith(ptr @.str4857) call void @fn_emith(ptr @.str4858) call void @fn_emith(ptr @.str4859) call void @fn_emith(ptr @.str4860) call void @fn_emith(ptr @.str4861) 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 @.str4862) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str4863) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str4864) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str4865) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str4866) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str4867) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str4868) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str4869, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4870) %t19 = load ptr, ptr %t0 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4871) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str4872) call void @fn_emith(ptr @.str4873) call void @fn_emith(ptr @.str4874) call void @fn_emith(ptr @.str4875) %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str4876, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4877) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 %t26 = call ptr @lp_str_concat(ptr @.str4878, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4879) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = call ptr @lp_str_concat(ptr @.str4880, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str4881) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 %t32 = call ptr @lp_str_concat(ptr @.str4882, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4883) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 %t35 = call ptr @lp_str_concat(ptr @.str4884, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4885) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4886) %t40 = load ptr, ptr %t11 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4887) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 %t44 = call ptr @lp_str_concat(ptr @.str4888, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4889) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 %t47 = call ptr @lp_str_concat(ptr @.str4890, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4891) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str4892) call void @fn_emith(ptr @.str4893) call void @fn_emith(ptr @.str4894) call void @fn_emith(ptr @.str4895) call void @fn_emith(ptr @.str4896) call void @fn_emith(ptr @.str4897) call void @fn_emith(ptr @.str4898) 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 @.str4899, 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 @.str4900, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4901) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4902) %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 @.str4903) %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 @.str4904) %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 @.str4905) %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 @.str4906) %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 @.str4907) %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 @.str4908) %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 @.str4909) %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 @.str4910) %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 @.str4911) %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 @.str4912) %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 @.str4913) %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 @.str4914) %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 @.str4915) %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 @.str4916) %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 @.str4917) %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 @.str4918) %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 @.str4919) %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 @.str4920) %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 @.str4921, 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 @.str4922, 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 @.str4923, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4924) %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 @.str4925) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str4926) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4927) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4928) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4929) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str4930) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str4931) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str4932, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4933) %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 @.str4934, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4935) %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 @.str4936, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4937) %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 @.str4938, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4939) %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 @.str4940, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4941) %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 @.str4942, 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 @.str4943, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4944) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4945) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str4946) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str4947) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4948) call void @fn_emit(ptr @.str4949) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4950) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str4951) call void @fn_emit(ptr @.str4952) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str4953) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str4954) 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 @.str4955, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4956) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4957) %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 @.str4958, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4959) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4960) %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 @.str4961, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4962) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4963) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4964) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4965) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4966) %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 @.str4967, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4968) %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 @.str4969, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4970) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4971) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4972) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4973) %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 @.str4974, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4975) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4976) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4977) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4978) %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 @.str4979, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4980) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4981) %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 @.str4982, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4983) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4984) %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 @.str4985, 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 @.str4986, 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 @.str4987, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4988) %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 @.str4989, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4990) %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 @.str4991, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4992) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str4993) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4994, ptr @.str4995, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str4996) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str4997) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str4998) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str4999) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str5000) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str5001) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str5002, 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 @.str5003, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str5004) %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 @.str5005) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str5006) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str5007) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str5008) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str5009) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str5010, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5011) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str5012) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str5013, ptr @.str5014, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str5015) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str5016) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str5017) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str5018) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str5019) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str5020) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str5021, 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 @.str5022, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str5023) %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 @.str5024) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str5025) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str5026) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str5027) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str5028) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str5029, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5030) %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 @.str5031, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5032) %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 @.str5033, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5034) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5035) %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 @.str5036, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5037) %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 @.str5038, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5039) %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 @.str5040, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str5041) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5042) %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 @.str5043) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5044, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str5045) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5046, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str5047) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5048, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str5049) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str5050) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str5051) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str5052) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str5053) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str5054) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str5055, 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 @.str5056, 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 @.str5057, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5058) %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 @.str5059, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str5060) %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 @.str5061, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str5062) %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 @.str5063) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str5064) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str5065) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str5066) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str5067) %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 @.str5068, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str5069) %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 @.str5070, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str5071) %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 @.str5072, 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 @.str5073) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str5074) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str5075) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str5076) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str5077) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str5078) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str5079) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str5080) call void @fn_emit(ptr @.str5081) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str5082) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str5083) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str5084) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str5085, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5086) %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 @.str5087, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str5088) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str5089) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str5090) call void @fn_emit(ptr @.str5091) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str5092) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str5093) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str5094) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str5095, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5096) %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 @.str5097, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str5098) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str5099) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str5100) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str5101, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5102) %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 @.str5103, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str5104) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str5105) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str5106) %t281 = call ptr @fn_lbl(ptr @.str5107) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str5108) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str5109) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str5110) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str5111) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str5112) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str5113, 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 @.str5114, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str5115) %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 @.str5116) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5117) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5118) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str5119) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str5120) %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 @.str5121, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5122) %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 @.str5123, 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 @.str5124) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str5125) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str5126) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str5127) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str5128, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str5129) %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 @.str5130, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str5131, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str5132) %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 @.str5133, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str5134) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str5135) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str5136) %t344 = call ptr @fn_lbl(ptr @.str5137) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str5138) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str5139) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str5140) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str5141) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str5142) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str5143, 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 @.str5144, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str5145) %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 @.str5146) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str5147) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str5148) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str5149) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str5150) %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 @.str5151, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5152) %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 @.str5153, 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 @.str5154) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str5155) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str5156) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str5157) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str5158, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str5159) %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 @.str5160, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str5161, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5162) %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 @.str5163, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str5164) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str5165) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str5166) %t407 = call ptr @fn_emit_alloca(ptr @.str5167) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str5168, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str5169) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str5170) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str5171) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str5172) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str5173) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str5174) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str5175, 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 @.str5176, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str5177) %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 @.str5178) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str5179) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str5180) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5181) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5182) %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 @.str5183, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str5184) %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 @.str5185) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str5186) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str5187) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str5188) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str5189, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str5190) %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 @.str5191, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str5192) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str5193) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str5194) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str5195, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str5196) %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 @.str5197, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str5198) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str5199) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str5200) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5201, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str5202) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str5203) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str5204) call void @fn_emit(ptr @.str5205) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str5206) 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 @.str5207, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5208) 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 @.str5209, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5210) 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 @.str5211, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5212) %t46 = load ptr, ptr %t37 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5213) 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 @.str5214) %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 @.str5215) %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 @.str5216) %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 @.str5217) %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 @.str5218) 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 @.str5219, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5220) %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 @.str5221) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str5222) 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 @.str5223, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5224) 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 @.str5225) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str5226) %t86 = load ptr, ptr %t82 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str5227) %t87 = call ptr @fn_val(ptr @.str5228, ptr @.str5229) store ptr %t87, ptr %retval br label %ret ifend17: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str5230) %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 @.str5231) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t75 %t96 = call ptr @lp_str_concat(ptr @.str5232, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5233) %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 @.str5234) %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 @.str5235, 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 @.str5236, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5237) %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 @.str5238, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5239) %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 @.str5240) %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 @.str5241, 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 @.str5242, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str5243) %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 @.str5244, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5245) %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 @.str5246) %t152 = load ptr, ptr %t139 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str5247) %t153 = load ptr, ptr %t82 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str5248) %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 @.str5249) %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 @.str5250, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str5251) %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 @.str5252, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str5253) %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 @.str5254) %t206 = load ptr, ptr %t75 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str5255) %t207 = load ptr, ptr %t205 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str5256) %t208 = load ptr, ptr %t184 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str5257) call void @fn_emit(ptr @.str5258) %t209 = load ptr, ptr %t75 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str5259) %t210 = load ptr, ptr %t198 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str5260) %t211 = load ptr, ptr %t191 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str5261) %t212 = call ptr @fn_val(ptr @.str5262, ptr @.str5263) store ptr %t212, ptr %retval br label %ret ifend29: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str5264) %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 @.str5265) %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 @.str5266, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = call ptr @fn_emit_alloca(ptr @.str5267) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5268, ptr @.str5269, ptr %t239) %t240 = call ptr @fn_emit_alloca(ptr @.str5270) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str5271, ptr @.str5272, ptr %t242) %t243 = call ptr @fn_lbl(ptr @.str5273) store ptr %t243, ptr %t244 %t245 = call ptr @fn_lbl(ptr @.str5274) store ptr %t245, ptr %t246 %t247 = call ptr @fn_lbl(ptr @.str5275) store ptr %t247, ptr %t248 %t249 = call ptr @fn_lbl(ptr @.str5276) store ptr %t249, ptr %t250 %t251 = call ptr @fn_lbl(ptr @.str5277) store ptr %t251, ptr %t252 call void @fn_emit(ptr @.str5278) %t253 = load ptr, ptr %t244 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str5279) %t254 = load ptr, ptr %t244 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str5280) %t255 = load ptr, ptr %t241 %t256 = call ptr @lp_str_concat(ptr @.str5281, 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 @.str5282, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str5283) %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 @.str5284) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str5285) %t267 = load ptr, ptr %t246 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str5286) %t268 = load ptr, ptr %t252 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str5287) %t269 = load ptr, ptr %t246 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str5288) %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 @.str5289, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5290) %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 @.str5291, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5292) %t285 = load ptr, ptr %t281 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5293) %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 @.str5294) %t294 = load ptr, ptr %t293 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str5295) %t295 = load ptr, ptr %t248 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str5296) %t296 = load ptr, ptr %t250 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str5297) %t297 = load ptr, ptr %t248 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str5298) %t298 = load ptr, ptr %t258 %t299 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5299, ptr %t298, ptr %t299) call void @fn_emit(ptr @.str5300) %t300 = load ptr, ptr %t252 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5301) %t301 = load ptr, ptr %t250 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5302) %t302 = load ptr, ptr %t258 %t303 = call ptr @lp_str_concat(ptr @.str5303, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5304) %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 @.str5305, ptr %t307, ptr %t308) call void @fn_emit(ptr @.str5306) %t309 = load ptr, ptr %t244 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str5307) %t310 = load ptr, ptr %t252 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str5308) %t311 = load ptr, ptr %t238 %t312 = call ptr @lp_str_concat(ptr @.str5309, 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 @.str5310) %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 @.str5311) store ptr %t319, ptr %retval br label %ret ifend37: %t320 = load ptr, ptr %t314 %t321 = call ptr @lp_str_concat(ptr @.str5312, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str5313) %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 @.str5314, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str5315) %t328 = call ptr @fn_emit_bind(ptr %t327) %t329 = call ptr @fn_val(ptr %t328, ptr @.str5316) store ptr %t329, ptr %retval br label %ret ifend34: %t330 = load ptr, ptr %t0 %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str5317) %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 @.str5318, ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = call ptr @fn_emit_alloca(ptr @.str5319) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t356 %t360 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5320, ptr %t359, ptr %t360) %t361 = call ptr @fn_lbl(ptr @.str5321) store ptr %t361, ptr %t362 %t363 = call ptr @fn_lbl(ptr @.str5322) store ptr %t363, ptr %t364 %t365 = call ptr @fn_lbl(ptr @.str5323) store ptr %t365, ptr %t366 call void @fn_emit(ptr @.str5324) %t367 = load ptr, ptr %t362 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str5325) %t368 = load ptr, ptr %t362 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str5326) %t369 = load ptr, ptr %t358 %t370 = call ptr @lp_str_concat(ptr @.str5327, 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 @.str5328, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str5329) %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 @.str5330) %t382 = load ptr, ptr %t381 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str5331) %t383 = load ptr, ptr %t364 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str5332) %t384 = load ptr, ptr %t366 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str5333) %t385 = load ptr, ptr %t364 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str5334) %t386 = load ptr, ptr %t372 %t387 = call ptr @lp_str_concat(ptr @.str5335, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5336) %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 @.str5337, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str5338) %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 @.str5339) %t408 = load ptr, ptr %t75 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str5340) %t409 = load ptr, ptr %t402 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str5341) %t410 = load ptr, ptr %t407 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str5342) %t411 = load ptr, ptr %t390 %t412 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5343, ptr %t411, ptr %t412) call void @fn_emit(ptr @.str5344) %t413 = load ptr, ptr %t362 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str5345) %t414 = load ptr, ptr %t366 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str5346) %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 @.str5347) %t422 = load ptr, ptr %t75 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str5348) %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 @.str5349) %t426 = load ptr, ptr %t421 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str5350) %t427 = load ptr, ptr %t356 %t428 = call ptr @lp_str_concat(ptr @.str5351, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5352) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 call void @fn_emit(ptr @.str5353) %t432 = load ptr, ptr %t431 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5354) %t433 = load ptr, ptr %t82 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5355) %t434 = call ptr @fn_val(ptr @.str5356, ptr @.str5357) store ptr %t434, ptr %retval br label %ret ifend40: %t435 = load ptr, ptr %t0 %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str5358) %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 @.str5359, 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 @.str5360, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str5361) %t454 = call ptr @fn_emit_bind(ptr %t453) store ptr %t454, ptr %t455 %t456 = call ptr @fn_emit_alloca(ptr @.str5362) 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 @.str5363, ptr %t460, ptr %t461) %t462 = call ptr @fn_lbl(ptr @.str5364) store ptr %t462, ptr %t463 %t464 = call ptr @fn_lbl(ptr @.str5365) store ptr %t464, ptr %t465 %t466 = call ptr @fn_lbl(ptr @.str5366) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str5367) %t468 = load ptr, ptr %t463 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str5368) %t469 = load ptr, ptr %t463 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str5369) %t470 = load ptr, ptr %t457 %t471 = call ptr @lp_str_concat(ptr @.str5370, 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 @.str5371, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str5372) %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 @.str5373) %t481 = load ptr, ptr %t480 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str5374) %t482 = load ptr, ptr %t465 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str5375) %t483 = load ptr, ptr %t467 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str5376) %t484 = load ptr, ptr %t465 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str5377) %t485 = load ptr, ptr %t473 %t486 = call ptr @lp_str_concat(ptr @.str5378, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str5379) %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 @.str5380, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str5381) %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 @.str5382) %t507 = load ptr, ptr %t75 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str5383) %t508 = load ptr, ptr %t501 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str5384) %t509 = load ptr, ptr %t506 call void @fn_emit(ptr %t509) call void @fn_emit(ptr @.str5385) %t510 = load ptr, ptr %t489 %t511 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str5386, ptr %t510, ptr %t511) call void @fn_emit(ptr @.str5387) %t512 = load ptr, ptr %t463 call void @fn_emit(ptr %t512) call void @fn_emit(ptr @.str5388) %t513 = load ptr, ptr %t467 call void @fn_emit(ptr %t513) call void @fn_emit(ptr @.str5389) call void @fn_emit(ptr @.str5390) %t514 = load ptr, ptr %t455 call void @fn_emit(ptr %t514) call void @fn_emit(ptr @.str5391) %t515 = load ptr, ptr %t82 call void @fn_emit(ptr %t515) call void @fn_emit(ptr @.str5392) %t516 = call ptr @fn_val(ptr @.str5393, ptr @.str5394) store ptr %t516, ptr %retval br label %ret ifend43: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str5395) %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 @.str5396, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = call ptr @fn_emit_alloca(ptr @.str5397) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5398, ptr @.str5399, ptr %t535) %t536 = call ptr @fn_emit_alloca(ptr @.str5400) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str5401, ptr @.str5402, ptr %t538) %t539 = call ptr @fn_lbl(ptr @.str5403) store ptr %t539, ptr %t540 %t541 = call ptr @fn_lbl(ptr @.str5404) store ptr %t541, ptr %t542 %t543 = call ptr @fn_lbl(ptr @.str5405) store ptr %t543, ptr %t544 %t545 = call ptr @fn_lbl(ptr @.str5406) store ptr %t545, ptr %t546 %t547 = call ptr @fn_lbl(ptr @.str5407) store ptr %t547, ptr %t548 call void @fn_emit(ptr @.str5408) %t549 = load ptr, ptr %t540 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str5409) %t550 = load ptr, ptr %t540 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str5410) %t551 = load ptr, ptr %t537 %t552 = call ptr @lp_str_concat(ptr @.str5411, 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 @.str5412, ptr %t555) %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str5413) %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 @.str5414, 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 @.str5415, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str5416) %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 @.str5417, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str5418) %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 @.str5419) %t578 = load ptr, ptr %t577 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str5420) %t579 = load ptr, ptr %t542 call void @fn_emit(ptr %t579) call void @fn_emit(ptr @.str5421) %t580 = load ptr, ptr %t548 call void @fn_emit(ptr %t580) call void @fn_emit(ptr @.str5422) %t581 = load ptr, ptr %t542 call void @fn_emit(ptr %t581) call void @fn_emit(ptr @.str5423) %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 @.str5424, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str5425) %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 @.str5426, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str5427) %t597 = load ptr, ptr %t593 %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str5428) %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 @.str5429) %t606 = load ptr, ptr %t605 call void @fn_emit(ptr %t606) call void @fn_emit(ptr @.str5430) %t607 = load ptr, ptr %t544 call void @fn_emit(ptr %t607) call void @fn_emit(ptr @.str5431) %t608 = load ptr, ptr %t546 call void @fn_emit(ptr %t608) call void @fn_emit(ptr @.str5432) %t609 = load ptr, ptr %t544 call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str5433) %t610 = load ptr, ptr %t554 %t611 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5434, ptr %t610, ptr %t611) call void @fn_emit(ptr @.str5435) %t612 = load ptr, ptr %t540 call void @fn_emit(ptr %t612) call void @fn_emit(ptr @.str5436) %t613 = load ptr, ptr %t546 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str5437) %t614 = load ptr, ptr %t554 %t615 = call ptr @lp_str_concat(ptr @.str5438, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str5439) %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 @.str5440, ptr %t619, ptr %t620) call void @fn_emit(ptr @.str5441) %t621 = load ptr, ptr %t540 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str5442) %t622 = load ptr, ptr %t548 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str5443) %t623 = load ptr, ptr %t534 %t624 = call ptr @lp_str_concat(ptr @.str5444, 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 @.str5445, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str5446) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = call ptr @fn_lbl(ptr @.str5447) store ptr %t632, ptr %t633 %t634 = call ptr @fn_lbl(ptr @.str5448) store ptr %t634, ptr %t635 call void @fn_emit(ptr @.str5449) %t636 = load ptr, ptr %t631 call void @fn_emit(ptr %t636) call void @fn_emit(ptr @.str5450) %t637 = load ptr, ptr %t633 call void @fn_emit(ptr %t637) call void @fn_emit(ptr @.str5451) %t638 = load ptr, ptr %t635 call void @fn_emit(ptr %t638) call void @fn_emit(ptr @.str5452) %t639 = load ptr, ptr %t633 call void @fn_emit(ptr %t639) call void @fn_emit(ptr @.str5453) %t640 = load ptr, ptr %t532 %t641 = call ptr @lp_str_concat(ptr @.str5454, ptr %t640) %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str5455) %t643 = call ptr @fn_emit_bind(ptr %t642) store ptr %t643, ptr %t644 %t645 = call ptr @fn_emit_alloca(ptr @.str5456) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t626 %t648 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5457, ptr %t647, ptr %t648) %t649 = call ptr @fn_lbl(ptr @.str5458) store ptr %t649, ptr %t650 %t651 = call ptr @fn_lbl(ptr @.str5459) store ptr %t651, ptr %t652 %t653 = call ptr @fn_lbl(ptr @.str5460) store ptr %t653, ptr %t654 call void @fn_emit(ptr @.str5461) %t655 = load ptr, ptr %t650 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str5462) %t656 = load ptr, ptr %t650 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str5463) %t657 = load ptr, ptr %t646 %t658 = call ptr @lp_str_concat(ptr @.str5464, 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 @.str5465, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str5466) %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 @.str5467) %t668 = load ptr, ptr %t667 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str5468) %t669 = load ptr, ptr %t652 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str5469) %t670 = load ptr, ptr %t654 call void @fn_emit(ptr %t670) call void @fn_emit(ptr @.str5470) %t671 = load ptr, ptr %t652 call void @fn_emit(ptr %t671) call void @fn_emit(ptr @.str5471) %t672 = load ptr, ptr %t660 %t673 = call ptr @lp_str_concat(ptr @.str5472, ptr %t672) %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str5473) %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 @.str5474, ptr %t682) %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str5475) %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 @.str5476) %t694 = load ptr, ptr %t75 call void @fn_emit(ptr %t694) call void @fn_emit(ptr @.str5477) %t695 = load ptr, ptr %t688 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str5478) %t696 = load ptr, ptr %t693 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str5479) %t697 = load ptr, ptr %t676 %t698 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5480, ptr %t697, ptr %t698) call void @fn_emit(ptr @.str5481) %t699 = load ptr, ptr %t650 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str5482) %t700 = load ptr, ptr %t654 call void @fn_emit(ptr %t700) call void @fn_emit(ptr @.str5483) call void @fn_emit(ptr @.str5484) %t701 = load ptr, ptr %t644 call void @fn_emit(ptr %t701) call void @fn_emit(ptr @.str5485) %t702 = load ptr, ptr %t82 call void @fn_emit(ptr %t702) call void @fn_emit(ptr @.str5486) call void @fn_emit(ptr @.str5487) %t703 = load ptr, ptr %t635 call void @fn_emit(ptr %t703) call void @fn_emit(ptr @.str5488) %t704 = load ptr, ptr %t635 call void @fn_emit(ptr %t704) call void @fn_emit(ptr @.str5489) %t705 = call ptr @fn_val(ptr @.str5490, ptr @.str5491) store ptr %t705, ptr %retval br label %ret ifend46: %t706 = load ptr, ptr %t0 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str5492) %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 @.str5493, 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 @.str5494, ptr %t713) %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str5495) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = call ptr @fn_lbl(ptr @.str5496) store ptr %t718, ptr %t719 %t720 = call ptr @fn_lbl(ptr @.str5497) store ptr %t720, ptr %t721 %t722 = call ptr @fn_lbl(ptr @.str5498) store ptr %t722, ptr %t723 call void @fn_emit(ptr @.str5499) %t724 = load ptr, ptr %t717 call void @fn_emit(ptr %t724) call void @fn_emit(ptr @.str5500) %t725 = load ptr, ptr %t719 call void @fn_emit(ptr %t725) call void @fn_emit(ptr @.str5501) %t726 = load ptr, ptr %t721 call void @fn_emit(ptr %t726) call void @fn_emit(ptr @.str5502) %t727 = load ptr, ptr %t719 call void @fn_emit(ptr %t727) call void @fn_emit(ptr @.str5503) %t728 = load ptr, ptr %t82 %t729 = call ptr @lp_str_concat(ptr @.str5504, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = call ptr @fn_emit_alloca(ptr @.str5505) store ptr %t732, ptr %t733 %t734 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str5506, ptr @.str5507, ptr %t734) %t735 = call ptr @fn_lbl(ptr @.str5508) store ptr %t735, ptr %t736 %t737 = call ptr @fn_lbl(ptr @.str5509) store ptr %t737, ptr %t738 %t739 = call ptr @fn_lbl(ptr @.str5510) store ptr %t739, ptr %t740 call void @fn_emit(ptr @.str5511) %t741 = load ptr, ptr %t736 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str5512) %t742 = load ptr, ptr %t736 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str5513) %t743 = load ptr, ptr %t733 %t744 = call ptr @lp_str_concat(ptr @.str5514, 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 @.str5515, ptr %t747) %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str5516) %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 @.str5517) %t754 = load ptr, ptr %t753 call void @fn_emit(ptr %t754) call void @fn_emit(ptr @.str5518) %t755 = load ptr, ptr %t738 call void @fn_emit(ptr %t755) call void @fn_emit(ptr @.str5519) %t756 = load ptr, ptr %t740 call void @fn_emit(ptr %t756) call void @fn_emit(ptr @.str5520) %t757 = load ptr, ptr %t738 call void @fn_emit(ptr %t757) call void @fn_emit(ptr @.str5521) %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 @.str5522, ptr %t763) %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str5523) %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 @.str5524) store ptr %t770, ptr %t771 %t772 = load ptr, ptr %t746 %t773 = call ptr @lp_str_concat(ptr @.str5525, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str5526) %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 @.str5527, ptr %t777, ptr %t778) %t779 = call ptr @fn_lbl(ptr @.str5528) store ptr %t779, ptr %t780 %t781 = call ptr @fn_lbl(ptr @.str5529) store ptr %t781, ptr %t782 %t783 = call ptr @fn_lbl(ptr @.str5530) store ptr %t783, ptr %t784 call void @fn_emit(ptr @.str5531) %t785 = load ptr, ptr %t780 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str5532) %t786 = load ptr, ptr %t780 call void @fn_emit(ptr %t786) call void @fn_emit(ptr @.str5533) %t787 = load ptr, ptr %t771 %t788 = call ptr @lp_str_concat(ptr @.str5534, 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 @.str5535, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str5536) %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 @.str5537, ptr %t801) %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str5538) %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 @.str5539, ptr %t808) %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str5540) %t811 = load ptr, ptr %t807 %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str5541) %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 @.str5542, ptr %t818) %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str5543) %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 @.str5544) %t825 = load ptr, ptr %t824 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str5545) %t826 = load ptr, ptr %t782 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str5546) %t827 = load ptr, ptr %t784 call void @fn_emit(ptr %t827) call void @fn_emit(ptr @.str5547) %t828 = load ptr, ptr %t782 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str5548) %t829 = load ptr, ptr %t790 %t830 = call ptr @lp_str_concat(ptr @.str5549, ptr %t829) %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str5550) %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 @.str5551) %t839 = load ptr, ptr %t75 call void @fn_emit(ptr %t839) call void @fn_emit(ptr @.str5552) %t840 = load ptr, ptr %t807 call void @fn_emit(ptr %t840) call void @fn_emit(ptr @.str5553) %t841 = load ptr, ptr %t838 call void @fn_emit(ptr %t841) call void @fn_emit(ptr @.str5554) %t842 = load ptr, ptr %t790 %t843 = call ptr @lp_str_concat(ptr @.str5555, ptr %t842) %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str5556) %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 @.str5557, ptr %t847, ptr %t848) call void @fn_emit(ptr @.str5558) %t849 = load ptr, ptr %t780 call void @fn_emit(ptr %t849) call void @fn_emit(ptr @.str5559) %t850 = load ptr, ptr %t784 call void @fn_emit(ptr %t850) call void @fn_emit(ptr @.str5560) %t851 = load ptr, ptr %t771 %t852 = call ptr @lp_str_concat(ptr @.str5561, 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 @.str5562, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str5563) %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 @.str5564) %t865 = load ptr, ptr %t75 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str5565) %t866 = load ptr, ptr %t769 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str5566) %t867 = load ptr, ptr %t864 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str5567) %t868 = load ptr, ptr %t746 %t869 = call ptr @lp_str_concat(ptr @.str5568, ptr %t868) %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str5569) %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 @.str5570, ptr %t873, ptr %t874) call void @fn_emit(ptr @.str5571) %t875 = load ptr, ptr %t736 call void @fn_emit(ptr %t875) call void @fn_emit(ptr @.str5572) %t876 = load ptr, ptr %t740 call void @fn_emit(ptr %t876) call void @fn_emit(ptr @.str5573) call void @fn_emit(ptr @.str5574) %t877 = load ptr, ptr %t723 call void @fn_emit(ptr %t877) call void @fn_emit(ptr @.str5575) %t878 = load ptr, ptr %t721 call void @fn_emit(ptr %t878) call void @fn_emit(ptr @.str5576) %t879 = load ptr, ptr %t79 %t880 = load ptr, ptr %t75 call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str5577, ptr @.str5578) call void @fn_emit(ptr @.str5579) %t881 = load ptr, ptr %t723 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str5580) %t882 = load ptr, ptr %t723 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str5581) %t883 = call ptr @fn_val(ptr @.str5582, ptr @.str5583) store ptr %t883, ptr %retval br label %ret ifend49: %t884 = load ptr, ptr %t0 %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str5584) %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 @.str5585, ptr %t899) %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str5586) 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 @.str5587) %t905 = call ptr @fn_val(ptr @.str5588, ptr @.str5589) store ptr %t905, ptr %retval br label %ret ifend52: %t907 = load ptr, ptr %t0 %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str5590) %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 @.str5591) %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 @.str5592, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str5593) %t934 = load ptr, ptr %t920 %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str5594) 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 @.str5595) %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 @.str5596) %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 @.str5597, ptr %t953) %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str5598) %t956 = load ptr, ptr %t920 %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str5599) 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 @.str5600) %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 @.str5601, ptr @.str5602) store ptr %t968, ptr %retval br label %ret ifend60: %t969 = load ptr, ptr %t82 %t970 = call ptr @lp_str_concat(ptr @.str5603, ptr %t969) %t971 = call ptr @fn_emit_bind(ptr %t970) store ptr %t971, ptr %t972 %t973 = call ptr @fn_emit_alloca(ptr @.str5604) store ptr %t973, ptr %t974 %t975 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str5605, ptr @.str5606, ptr %t975) %t976 = call ptr @fn_emit_alloca(ptr @.str5607) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t972 %t979 = call ptr @lp_str_concat(ptr @.str5608, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str5609) %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 @.str5610, ptr %t983, ptr %t984) %t985 = call ptr @fn_lbl(ptr @.str5611) store ptr %t985, ptr %t986 %t987 = call ptr @fn_lbl(ptr @.str5612) store ptr %t987, ptr %t988 %t989 = call ptr @fn_lbl(ptr @.str5613) store ptr %t989, ptr %t990 call void @fn_emit(ptr @.str5614) %t991 = load ptr, ptr %t986 call void @fn_emit(ptr %t991) call void @fn_emit(ptr @.str5615) %t992 = load ptr, ptr %t986 call void @fn_emit(ptr %t992) call void @fn_emit(ptr @.str5616) %t993 = load ptr, ptr %t974 %t994 = call ptr @lp_str_concat(ptr @.str5617, 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 @.str5618, 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 @.str5619, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str5620) %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 @.str5621) %t1008 = load ptr, ptr %t1007 call void @fn_emit(ptr %t1008) call void @fn_emit(ptr @.str5622) %t1009 = load ptr, ptr %t988 call void @fn_emit(ptr %t1009) call void @fn_emit(ptr @.str5623) %t1010 = load ptr, ptr %t990 call void @fn_emit(ptr %t1010) call void @fn_emit(ptr @.str5624) %t1011 = load ptr, ptr %t988 call void @fn_emit(ptr %t1011) call void @fn_emit(ptr @.str5625) %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 @.str5626, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str5627) %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 @.str5628, ptr %t1029) %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str5629) %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 @.str5630) %t1036 = load ptr, ptr %t75 call void @fn_emit(ptr %t1036) call void @fn_emit(ptr @.str5631) %t1037 = load ptr, ptr %t1035 call void @fn_emit(ptr %t1037) call void @fn_emit(ptr @.str5632) %t1038 = load ptr, ptr %t1016 call void @fn_emit(ptr %t1038) call void @fn_emit(ptr @.str5633) call void @fn_emit(ptr @.str5634) %t1039 = load ptr, ptr %t75 call void @fn_emit(ptr %t1039) call void @fn_emit(ptr @.str5635) %t1040 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1040) call void @fn_emit(ptr @.str5636) %t1041 = load ptr, ptr %t1021 call void @fn_emit(ptr %t1041) call void @fn_emit(ptr @.str5637) %t1042 = load ptr, ptr %t996 %t1043 = call ptr @lp_str_concat(ptr @.str5638, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str5639) %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 @.str5640, ptr %t1047, ptr %t1048) %t1049 = load ptr, ptr %t1000 %t1050 = call ptr @lp_str_concat(ptr @.str5641, ptr %t1049) %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str5642) %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 @.str5643, ptr %t1054, ptr %t1055) call void @fn_emit(ptr @.str5644) %t1056 = load ptr, ptr %t986 call void @fn_emit(ptr %t1056) call void @fn_emit(ptr @.str5645) %t1057 = load ptr, ptr %t990 call void @fn_emit(ptr %t1057) call void @fn_emit(ptr @.str5646) %t1058 = call ptr @fn_val(ptr @.str5647, ptr @.str5648) 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 @.str5649) %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 @.str5650) %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 @.str5651) %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 @.str5652) %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 @.str5653) %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 @.str5654) %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 @.str5655) 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 @.str5656, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5657) %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 @.str5658, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5659) %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 @.str5660, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5661) %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 @.str5662, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5663) %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 @.str5664, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5665) %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 @.str5666, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5667) %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 @.str5668, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5669) %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 @.str5670, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5671) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5672) %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 @.str5673, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5674) %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 @.str5675, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5676) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5677) %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 @.str5678, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5679) %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 @.str5680, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str5681) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5682) %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 @.str5683, 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 @.str5684, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5685) %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 @.str5686, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5687) %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 @.str5688, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5689) %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 @.str5690) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str5691) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str5692, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5693) %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 @.str5694, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5695) %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 @.str5696, 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 @.str5697, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5698) %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 @.str5699, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5700) %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 @.str5701) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str5702, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5703) %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 @.str5704, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5705) %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 @.str5706) %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 @.str5707) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5708) %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 @.str5709) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5710) %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 @.str5711) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5712) %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 @.str5713) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5714) %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 @.str5715) 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 @.str5716) 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 @.str5717) %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 @.str5718) %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 @.str5719) %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 @.str5720) %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 @.str5721) %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 @.str5722) %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 @.str5723) %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 @.str5724, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5725) %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 @.str5726, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5727) %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 @.str5728, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5729) %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 @.str5730, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5731) %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 @.str5732, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5733) %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 @.str5734, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5735) %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 @.str5736, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5737) %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 @.str5738) %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 @.str5739, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5740) %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 @.str5741) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5742) %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 @.str5743, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5744) %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 @.str5745, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5746) %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 @.str5747, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5748) %t107 = load ptr, ptr %t89 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5749) %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 @.str5750) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5751) %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 @.str5752, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str5753) %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 @.str5754, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str5755) %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 @.str5756, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5757) %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 @.str5758, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5759) %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 @.str5760, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5761) %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 @.str5762, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str5763) %t193 = load ptr, ptr %t173 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5764) %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 @.str5765) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str5766) %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 @.str5767, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5768) %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 @.str5769, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5770) %t250 = call ptr @fn_emit_bind(ptr %t249) %t251 = call ptr @fn_val(ptr %t250, ptr @.str5771) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str5772) %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 @.str5773, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5774) %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 @.str5775, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5776) %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 @.str5777) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5778) %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 @.str5779, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str5780) %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 @.str5781, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str5782) %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 @.str5783) 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 @.str5784, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str5785) %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 @.str5786, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5787) %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 @.str5788) 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 @.str5789) %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 @.str5790) %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 @.str5791) %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 @.str5792) %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 @.str5793) %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 @.str5794) %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 @.str5795) %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 @.str5796) %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 @.str5797) %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 @.str5798, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5799) %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 @.str5800, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5801) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5802) %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 @.str5803) %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 @.str5804, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5805) %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 @.str5806, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5807) %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 @.str5808) %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 @.str5809, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5810) %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 @.str5811, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5812) %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 @.str5813, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5814) %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 @.str5815, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5816) %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 @.str5817, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5818) %t73 = load ptr, ptr %t69 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5819) %t76 = call ptr @fn_emit_bind(ptr %t75) %t77 = call ptr @fn_val(ptr %t76, ptr @.str5820) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str5821) %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 @.str5822, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5823) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = call ptr @fn_val(ptr %t113, ptr @.str5824) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5825) %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 @.str5826, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5827) %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 @.str5828, 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 @.str5829, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5830) %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 @.str5831, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5832) %t164 = load ptr, ptr %t151 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5833) %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 @.str5834) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5835) %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 @.str5836, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5837) %t196 = call ptr @fn_emit_bind(ptr %t195) %t197 = call ptr @fn_val(ptr %t196, ptr @.str5838) 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 @.str5839, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5840) %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 @.str5841, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5842) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str5843) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5844) %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 @.str5845) 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 @.str5846) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5847) %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 @.str5848) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5849) %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 @.str5850, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5851) %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 @.str5852, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5853) %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 @.str5854, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5855) %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 @.str5856, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5857) %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 @.str5858, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5859) %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 @.str5860, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5861) %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 @.str5862, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5863) %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 @.str5864, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5865) %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 @.str5866) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5867) %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 @.str5868) 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 @.str5869) %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 @.str5870) %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 @.str5871) %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 @.str5872) %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 @.str5873) %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 @.str5874) %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 @.str5875) 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 @.str5876) %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 @.str5877) %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 @.str5878) %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 @.str5879) %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 @.str5880, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5881) %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 @.str5882, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5883) %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 @.str5884, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5885) %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 @.str5886, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5887) %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 @.str5888, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5889) %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 @.str5890, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5891) %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 @.str5892, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5893) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5894) %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 @.str5895, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5896) %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 @.str5897, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5898) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5899) %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 @.str5900) %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 @.str5901, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5902) %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 @.str5903, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5904) %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 @.str5905, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5906) %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 @.str5907, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5908) %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 @.str5909, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5910) %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 @.str5911, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5912) %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 @.str5913, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5914) %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 @.str5915, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5916) %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 @.str5917, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5918) %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 @.str5919, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5920) %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 @.str5921, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5922) %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 @.str5923, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5924) %t181 = call ptr @fn_emit_bind(ptr %t180) %t182 = call ptr @fn_val(ptr %t181, ptr @.str5925) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5926) %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 @.str5927, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5928) %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 @.str5929, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5930) %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 @.str5931, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5932) %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 @.str5933, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5934) %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 @.str5935, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5936) %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 @.str5937, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5938) %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 @.str5939, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5940) %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 @.str5941, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5942) %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 @.str5943, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5944) %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 @.str5945, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5946) %t326 = call ptr @fn_emit_bind(ptr %t325) %t327 = call ptr @fn_val(ptr %t326, ptr @.str5947) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5948) %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 @.str5949, ptr %t387) %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5950) %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 @.str5951, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5952) %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 @.str5953, ptr %t413) %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5954) %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 @.str5955, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5956) %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 @.str5957, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5958) %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 @.str5959, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5960) %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 @.str5961, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5962) %t444 = call ptr @fn_emit_bind(ptr %t443) %t445 = call ptr @fn_val(ptr %t444, ptr @.str5963) 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 @.str5964, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5965) %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 @.str5966, ptr %t522) %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5967) %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 @.str5968, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5969) %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 @.str5970, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5971) %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 @.str5972, ptr %t573) %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5973) %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 @.str5974, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5975) %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 @.str5976, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5977) %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 @.str5978, ptr %t592) %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5979) %t595 = call ptr @fn_emit_bind(ptr %t594) %t596 = call ptr @fn_val(ptr %t595, ptr @.str5980) 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 @.str5981) %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 @.str5982) %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 @.str5983) %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 @.str5984) %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 @.str5985) %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 @.str5986) %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 @.str5987) %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 @.str5988, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5989) %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 @.str5990, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5991) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str5992) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5993) %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 @.str5994, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5995) %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 @.str5996, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5997) %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 @.str5998, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5999) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str6000) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6001) %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 @.str6002, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str6003) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str6004) %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 @.str6005) %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 @.str6006) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str6007) %t99 = call ptr @fn_val(ptr @.str6008, ptr @.str6009) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6010) %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 @.str6011, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str6012) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str6013) %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 @.str6014) %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 @.str6015) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str6016) %t144 = call ptr @fn_val(ptr @.str6017, ptr @.str6018) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6019) %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 @.str6020, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6021) %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 @.str6022, 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 @.str6023, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6024) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str6025) 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 @.str6026, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str6027) %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 @.str6028, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str6029) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str6030) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str6031) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str6032) %t233 = call ptr @fn_val(ptr @.str6033, ptr @.str6034) 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 @.str6035) %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 @.str6036) %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 @.str6037) %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 @.str6038) %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 @.str6039) %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 @.str6040) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6041) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6042) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6043) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str6044, ptr @.str6045) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6046) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str6047) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str6048, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6049) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str6050) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6051) %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 @.str6052) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str6053, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6054) %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 @.str6055, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6056) %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 @.str6057) store ptr %t48, ptr %retval br label %ret ifend11: %t49 = call ptr @fn_emit_bind(ptr @.str6058) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str6059, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str6060) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str6061) 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 @.str6062) %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 @.str6063) %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 @.str6064) %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 @.str6065) %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 @.str6066) %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 @.str6067) %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 @.str6068) %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 @.str6069) %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 @.str6070) %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 @.str6071) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6072) %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 @.str6073, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str6074) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str6075) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6076) %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 @.str6077, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6078) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str6079) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str6080) %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 @.str6081, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6082) %t46 = call ptr @fn_emit_bind(ptr %t45) %t47 = call ptr @fn_val(ptr %t46, ptr @.str6083) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str6084) %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 @.str6085) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6086) %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 @.str6087, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6088) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str6089) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str6090) %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 @.str6091, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str6092) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str6093) 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 @.str6094, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str6095) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str6096) 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 @.str6097) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str6098) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str6099) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6100, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6101) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6102) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6103) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6104) 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 @.str6105, 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 @.str6106) %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 @.str6107) %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 @.str6108) %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 @.str6109) %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 @.str6110) %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 @.str6111) %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 @.str6112) %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 @.str6113) %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 @.str6114) %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 @.str6115) %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 @.str6116) %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 @.str6117, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6118) %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 @.str6119) %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 @.str6120) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str6121) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6122) %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 @.str6123) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str6124) %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 @.str6125) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str6126) %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 @.str6127) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6128) %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 @.str6129, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6130) %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 @.str6131, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6132) %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 @.str6133, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6134) %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 @.str6135, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str6136) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str6137) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str6138) %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 @.str6139, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6140) %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 @.str6141, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str6142) %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 @.str6143, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str6144) %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 @.str6145, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str6146) %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 @.str6147, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6148) %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 @.str6149, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6150) %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 @.str6151, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6152) %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 @.str6153, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6154) %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 @.str6155, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str6156) %t199 = call ptr @fn_emit_bind(ptr %t198) %t200 = call ptr @fn_val(ptr %t199, ptr @.str6157) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str6158) %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 @.str6159, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str6160) %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 @.str6161) %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 @.str6162, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str6163) %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 @.str6164, ptr %t243) %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str6165) %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 @.str6166, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6167) %t251 = load ptr, ptr %t247 %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str6168) %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 @.str6169, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str6170) %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 @.str6171, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str6172) %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 @.str6173, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str6174) %t277 = load ptr, ptr %t273 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6175) %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 @.str6176, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str6177) %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 @.str6178) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str6179) %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 @.str6180, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str6181) %t306 = call ptr @fn_emit_bind(ptr %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str6182) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str6183) %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 @.str6184, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6185) %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 @.str6186) 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 @.str6187, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str6188) %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 @.str6189) 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 @.str6190, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6191) %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 @.str6192, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6193) %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 @.str6194, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6195) %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 @.str6196, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6197) %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 @.str6198, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6199) %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 @.str6200) %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 @.str6201) %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 @.str6202) %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 @.str6203) %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 @.str6204) %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 @.str6205) %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 @.str6206) %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 @.str6207) %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 @.str6208) %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 @.str6209) %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 @.str6210) %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 @.str6211) %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 @.str6212, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6213) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6214) %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 @.str6215) 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 @.str6216) store ptr %t41, ptr %t42 %t43 = call ptr @fn_emit_alloca(ptr @.str6217) store ptr %t43, ptr %t44 %t45 = call ptr @fn_emit_alloca(ptr @.str6218) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 %t48 = call ptr @lp_str_concat(ptr @.str6219, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6220) %t50 = load ptr, ptr %t42 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6221) %t53 = load ptr, ptr %t44 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6222) %t56 = load ptr, ptr %t46 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6223) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr @.str6224, 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 @.str6225, 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 @.str6226, 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 @.str6227, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str6228) %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 @.str6229, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6230) %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 @.str6231, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6232) %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 @.str6233, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str6234) %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 @.str6235, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6236) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_emit_str_const(ptr @.str6237) 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 @.str6238, 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 @.str6239, 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 @.str6240, 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 @.str6241, 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 @.str6242, 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 @.str6243, 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 @.str6244, 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 @.str6245, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6246) %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 @.str6247) %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 @.str6248) 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 @.str6249) 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 @.str6250) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 call void @fn_store_at(ptr @.str6251, ptr @.str6252, ptr %t38) %t39 = call ptr @fn_emit_alloca(ptr @.str6253) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str6254, ptr @.str6255, ptr %t41) %t42 = call ptr @fn_emit_alloca(ptr @.str6256) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 call void @fn_store_at(ptr @.str6257, ptr @.str6258, ptr %t44) %t45 = call ptr @fn_emit_alloca(ptr @.str6259) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 call void @fn_store_at(ptr @.str6260, ptr @.str6261, ptr %t47) %t48 = call ptr @fn_emit_alloca(ptr @.str6262) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str6263, ptr @.str6264, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str6265) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str6266, ptr @.str6267, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str6268) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str6269, ptr @.str6270, 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 @.str6271, 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 @.str6272, 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 @.str6273, 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 @.str6274, 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 @.str6275, 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 @.str6276, 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 @.str6277, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str6278) %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 @.str6279) %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 @.str6280) %t124 = load ptr, ptr %t37 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6281) %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 @.str6282, 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 @.str6283, 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 @.str6284, 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 @.str6285, 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 @.str6286, 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 @.str6287, 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 @.str6288, 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 @.str6289, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str6290) %t164 = load ptr, ptr %t144 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6291) %t167 = load ptr, ptr %t148 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str6292) %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 @.str6293, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6294) %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 @.str6295, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6296) %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 @.str6297, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6298) %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 @.str6299, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str6300) %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 @.str6301, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str6302) %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 @.str6303, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str6304) %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 @.str6305, 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 @.str6306, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str6307) %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 @.str6308, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str6309) %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 @.str6310) 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 @.str6311) %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 @.str6312) %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 @.str6313) %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 @.str6314, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6315) %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 @.str6316) %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 @.str6317) %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 @.str6318, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6319) %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 @.str6320, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str6321) %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 @.str6322, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6323) %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 @.str6324, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str6325) %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 @.str6326, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str6327) %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 @.str6328, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6329) %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 @.str6330) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str6331) %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 @.str6332) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6333) %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 @.str6334, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6335) %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 @.str6336) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str6337) %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 @.str6338) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str6339) %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 @.str6340) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str6341) %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 @.str6342) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str6343) %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 @.str6344, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6345) %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 @.str6346, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str6347) %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 @.str6348, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str6349) %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 @.str6350, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str6351) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str6352) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str6353) %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 @.str6354, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6355) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str6356) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str6357) %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 @.str6358, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str6359) %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 @.str6360, ptr %t312) %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str6361) %t315 = call ptr @fn_emit_bind(ptr %t314) %t316 = call ptr @fn_val(ptr %t315, ptr @.str6362) 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 @.str6363, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6364) %t334 = call ptr @fn_emit_bind(ptr %t333) %t335 = call ptr @fn_val(ptr %t334, ptr @.str6365) 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 @.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) call void @fn_emith(ptr @.str6459) call void @fn_emith(ptr @.str6460) call void @fn_emith(ptr @.str6461) call void @fn_emith(ptr @.str6462) call void @fn_emith(ptr @.str6463) 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 @.str6464) %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 @.str6465) %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 @.str6466) %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 @.str6467) %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 @.str6468) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6469) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6470) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6471) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str6472) %t10 = call ptr @fn_val(ptr @.str6473, ptr @.str6474) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6475) %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 @.str6476, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6477) call void @fn_emit(ptr %t27) %t28 = call ptr @fn_val(ptr @.str6478, ptr @.str6479) 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 @.str6480) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str6481, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6482) %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 @.str6483, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str6484) call void @fn_emit(ptr %t51) %t52 = call ptr @fn_val(ptr @.str6485, ptr @.str6486) 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 @.str6487) %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 @.str6488) %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 @.str6489) %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 @.str6490) %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 @.str6491) %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 @.str6492) %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 @.str6493, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6494) %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 @.str6495, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6496) %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 @.str6497, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6498) %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 @.str6499, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6500) %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 @.str6501, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6502) %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 @.str6503, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6504) %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 @.str6505, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6506) %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 @.str6507, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6508) %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 @.str6509, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6510) %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 @.str6511, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6512) %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 @.str6513) %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 @.str6514) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6515) %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 @.str6516, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6517) %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 @.str6518, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6519) %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 @.str6520) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str6521) %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 @.str6522, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str6523) %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 @.str6524, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str6525) %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 @.str6526, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6527) %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 @.str6528) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str6529) %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 @.str6530) %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 @.str6531) %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 @.str6532) %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 @.str6533) %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 @.str6534) %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 @.str6535) %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 @.str6536) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6537) %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 @.str6538, 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 @.str6539) 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 @.str6540) 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 @.str6541) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = call ptr @lp_str_concat(ptr @.str6542, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6543) %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 @.str6544, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6545) %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 @.str6546, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6547) %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 @.str6548, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str6549) %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 @.str6550, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str6551) %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 @.str6552, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str6553) %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 @.str6554) 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 @.str6555) 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 @.str6556) 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 @.str6557) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 %t340 = call ptr @lp_str_concat(ptr @.str6558, 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 @.str6559, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str6560) %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 @.str6561, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str6562) %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 @.str6563, ptr %t357) %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str6564) %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 @.str6565, 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 @.str6566, ptr %t368) %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str6567) %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 @.str6568, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str6569) %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 @.str6570, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str6571) %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 @.str6572, 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 @.str6573, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str6574) %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 @.str6575, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str6576) %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 @.str6577, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6578) %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 @.str6579) 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 @.str6580) %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 @.str6581) %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 @.str6582) %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 @.str6583) %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 @.str6584) %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 @.str6585) %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 @.str6586) %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 @.str6587) %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 @.str6588) %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 @.str6589) %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 @.str6590) %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 @.str6591) %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 @.str6592) %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 @.str6593) %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 @.str6594) %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 @.str6595) %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 @.str6596) %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 @.str6597) %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 @.str6598) %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 @.str6599) %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 @.str6600) %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 @.str6601) %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 @.str6602) %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 @.str6603) %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 @.str6604) %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 @.str6605) %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 @.str6606) %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 @.str6607) %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 @.str6608) %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 @.str6609) %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 @.str6610) %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 @.str6611) %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 @.str6612) %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 @.str6613) %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 @.str6614) %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 @.str6615) %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 @.str6616) %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 @.str6617) %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 @.str6618) %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 @.str6619) %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 @.str6620) %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 @.str6621) %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 @.str6622) %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 @.str6623) %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 @.str6624) %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 @.str6625) %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 @.str6626) %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 @.str6627) %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 @.str6628) %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 @.str6629) %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 @.str6630) %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 @.str6631) %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 @.str6632) %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 @.str6633) %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 @.str6634) %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 @.str6635) %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 @.str6636) %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 @.str6637) %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 @.str6638) %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 @.str6639) %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 @.str6640) %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 @.str6641) %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 @.str6642) %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 @.str6643) %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 @.str6644) %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 @.str6645) %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 @.str6646) %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 @.str6647) %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 @.str6648) %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 @.str6649) %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 @.str6650) %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 @.str6651) %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 @.str6652) %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 @.str6653) %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 @.str6654) %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 @.str6655) %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 @.str6656) %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 @.str6657) %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 @.str6658) %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 @.str6659) %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 @.str6660) %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 @.str6661) %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 @.str6662) %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 @.str6663) %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 @.str6664) %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 @.str6665) %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 @.str6666) %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 @.str6667) %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 @.str6668) %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 @.str6669) %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 @.str6670) %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 @.str6671) %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 @.str6672) %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 @.str6673) %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 @.str6674) %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 @.str6675) %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 @.str6676) %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 @.str6677) %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 @.str6678) %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 @.str6679) %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 @.str6680) %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 @.str6681) %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 @.str6682) %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 @.str6683) %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 @.str6684) %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 @.str6685) %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 @.str6686) %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 @.str6687) %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 @.str6688) %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 @.str6689) %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 @.str6690) %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 @.str6691) %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 @.str6692) %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 @.str6693) %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 @.str6694) %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 @.str6695) %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 @.str6696) %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 @.str6697) %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 @.str6698) %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 @.str6699) %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 @.str6700) %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 @.str6701) %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 @.str6702) %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 @.str6703) %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 @.str6704) %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 @.str6705) %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 @.str6706) %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 @.str6707) %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 @.str6708) %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 @.str6709) %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 @.str6710) %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 @.str6711) %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 @.str6712) %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 @.str6713) %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 @.str6714) %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 @.str6715) %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 @.str6716) %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 @.str6717) %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 @.str6718) %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 @.str6719) %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 @.str6720) %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 @.str6721) %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 @.str6722) %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 @.str6723) %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 @.str6724) %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 @.str6725) %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 @.str6726) %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 @.str6727) %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 @.str6728) %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 @.str6729) %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 @.str6730) %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 @.str6731) %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 @.str6732) %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 @.str6733) %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 @.str6734) %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 @.str6735) %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 @.str6736) %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 @.str6737) %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 @.str6738) %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 @.str6739) %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 @.str6740) %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 @.str6741) %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 @.str6742) %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 @.str6743) %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 @.str6744) %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 @.str6745) %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 @.str6746) %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 @.str6747) %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 @.str6748) %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 @.str6749) %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 @.str6750) %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 @.str6751) %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 @.str6752) %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 @.str6753) %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 @.str6754) %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 @.str6755) %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 @.str6756) %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 @.str6757) %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 @.str6758) %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 @.str6759) %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 @.str6760) %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 @.str6761) %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 @.str6762) %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 @.str6763) %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 @.str6764) %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 @.str6765) %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 @.str6766) %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 @.str6767) %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 @.str6768) %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 @.str6769) %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 @.str6770) %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 @.str6771) %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 @.str6772) %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 @.str6773) %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 @.str6774) %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 @.str6775) %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 @.str6776) %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 @.str6777) %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 @.str6778) %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 @.str6779) %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 @.str6780) %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 @.str6781) %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 @.str6782) %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 @.str6783) %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 @.str6784) %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 @.str6785) %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 @.str6786) %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 @.str6787) %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 @.str6788) %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 @.str6789) %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 @.str6790) %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 @.str6791) %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 @.str6792) %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 @.str6793) %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 @.str6794) %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 @.str6795) %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 @.str6796) %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 @.str6797) %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 @.str6798) %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 @.str6799) %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 @.str6800) %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 @.str6801) %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 @.str6802) %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 @.str6803) %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 @.str6804) %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 @.str6805) %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 @.str6806) %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 @.str6807) %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 @.str6808) %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 @.str6809) %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 @.str6810) %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 @.str6811) %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 @.str6812) %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 @.str6813) %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 @.str6814) %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 @.str6815) %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 @.str6816) %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 @.str6817) %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 @.str6818) %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 @.str6819) %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 @.str6820) %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 @.str6821) %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 @.str6822) %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 @.str6823, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6824) %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 @.str6825, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6826) %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 @.str6827) 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 @.str6828, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6829) %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 @.str6830) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str6831) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str6832) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str6833) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str6834) %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 @.str6835) %t88 = load ptr, ptr %t50 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str6836) %t89 = load ptr, ptr %t53 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str6837) %t90 = load ptr, ptr %t40 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str6838) %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 @.str6839) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str6840, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6841) %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 @.str6842) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str6843) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str6844) call void @fn_emit(ptr @.str6845) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str6846) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str6847) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str6848) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str6849) call void @fn_emit(ptr @.str6850) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str6851) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6852) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6853) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6854) call void @fn_emit(ptr @.str6855) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str6856) %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 @.str6857) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str6858) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str6859) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str6860) %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 @.str6861, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str6862) 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 @.str6863, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6864) %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 @.str6865, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6866) %t34 = call ptr @fn_emit_bind(ptr %t33) %t35 = call ptr @fn_val(ptr %t34, ptr @.str6867) 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 @.str6868, ptr @.str6869) 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 @.str6870) 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 @.str6871, 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 @.str6872, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6873) %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 @.str6874, 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 @.str6875, 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 @.str6876, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6877) %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 @.str6878) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str6879) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str6880) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6881) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6882) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6883) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6884) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str6885, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6886) %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 @.str6887, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6888) %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 @.str6889, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6890) %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 @.str6891, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6892) %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 @.str6893, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6894) %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 @.str6895, 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 @.str6896, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6897) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6898) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str6899) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str6900) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str6901) call void @fn_emit(ptr @.str6902) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str6903) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str6904) call void @fn_emit(ptr @.str6905) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str6906) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str6907) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str6908, 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 @.str6909) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str6910) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str6911) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str6912) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6913) call void @fn_emit(ptr @.str6914) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str6915) %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 @.str6916) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str6917) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str6918, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6919) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str6920) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str6921) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str6922) 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 @.str6924) %t54 = call ptr @lp_str_concat(ptr @.str6923, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6925) %t56 = load ptr, ptr %t1 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6926) 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 @.str6927) %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 @.str6928, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6929) %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 @.str6930) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6931, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6932) 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 @.str6933, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6934) %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 @.str6935, 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 @.str6936, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6937) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str6938) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str6939) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str6940) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str6941, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6942) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6943) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6944) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6945) 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 @.str6946, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6947) %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 @.str6948, 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 @.str6949, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6950) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6951) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str6952, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6953) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6954) 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 @.str6955, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6956) %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 @.str6957, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str6958) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str6959, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6960) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6961) 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 @.str6962, ptr %t104, ptr @.str6963) %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 @.str6964, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6965) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6966) 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 @.str6967, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str6968) 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 @.str6969, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6970) %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 @.str6971) 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 @.str6972, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6973) %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 @.str6974, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6975) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6976) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6977) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6978) %t22 = call ptr @fn_lbl(ptr @.str6979) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str6980) 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 @.str6981) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str6982) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6983) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6984) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6985) br label %ifend2 else1: call void @fn_emit(ptr @.str6986) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6987) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str6988) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str6989) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str6990) %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 @.str6991, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6992) %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 @.str6993, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6994) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str6995) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str6996) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str6997) call void @fn_emit(ptr @.str6998) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str6999) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str7000) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str7001, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str7002) 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 @.str7003) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7004, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7005) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7006, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7007) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7008, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7009) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7010, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7011) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7012, ptr %retval br label %ret ifend14: store ptr @.str7013, 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 @.str7014) %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 @.str7015) %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 @.str7016) %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 @.str7017) %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 @.str7018) %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 @.str7019) %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 @.str7020) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7021, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7022) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7023, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7024) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7025, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7026) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7027, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7028) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7029, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7030) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str7031, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7032) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str7033, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7034) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str7035, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7036) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str7037, ptr %retval br label %ret ifend26: store ptr @.str7038, 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 @.str7039) %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 @.str7040, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7041) %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 @.str7042, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str7043) %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 @.str7044) %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 @.str7045, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str7046) %t42 = load ptr, ptr %t1 %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str7047) 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 @.str7048) %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 @.str7049) %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 @.str7050, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7051) %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 @.str7052) %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 @.str7053) %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 @.str7054, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str7055) %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 @.str7056) %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 @.str7057, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str7058) %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 @.str7059) %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 @.str7060, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7061) %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 @.str7062) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str7063) 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 @.str7064, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7065) %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 @.str7066) %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 @.str7067) %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 @.str7068, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str7069) %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 @.str7070, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str7071) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str7072) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str7073) 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 @.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 @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 @.str7076, 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 @.str7077) %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 @.str7078) %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 @.str7079) %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 @.str7080) %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 @.str7081) %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 @.str7082) %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 @.str7083) %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 @.str7084) %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 @.str7085, 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 @.str7086) %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 @.str7087) %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 @.str7088) %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 @.str7089) %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 @.str7090) %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 @.str7091) %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 @.str7092, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str7093) %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 @.str7094) %t115 = load ptr, ptr %t0 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str7095) 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 @.str7096) %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 @.str7097) %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 @.str7098) %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 @.str7099) %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 @.str7100, 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 @.str7101, 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 @.str7102) %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 @.str7103) %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 @.str7104, 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 @.str7105, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str7106) %t232 = load ptr, ptr %t198 %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str7107) %t235 = load ptr, ptr %t193 %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str7108) %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 @.str7109, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str7110) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str7111) 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 @.str7112) %t258 = load ptr, ptr %t251 %t259 = call ptr @lp_str_concat(ptr %t257, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str7113) %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 @.str7114) 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 @.str7115) %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 @.str7116, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str7117) %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 @.str7118, ptr %t281) %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str7119) %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 @.str7120, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str7121) %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 @.str7122, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str7123) %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 @.str7124, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str7125) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = call ptr @fn_val(ptr %t301, ptr @.str7126) store ptr %t302, ptr %retval br label %ret ifend64: %t303 = load ptr, ptr %t0 %t304 = call i32 @lp_str_eq(ptr %t303, ptr @.str7127) %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 @.str7128, ptr %t306) %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str7129) %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 @.str7130, ptr %t311) %t313 = call ptr @lp_str_concat(ptr %t312, ptr @.str7131) %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 @.str7132, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str7133) %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 @.str7134, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7135) %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 @.str7136, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str7137) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str7138) 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 @.str7139) %t336 = load ptr, ptr %t269 %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str7140) %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 @.str7141) 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 @.str7142) %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 @.str7143) %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 @.str7144) 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 @.str7145) 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 @.str7146) 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 @.str7147, 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 @.str7148) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str7149) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str7150, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7151) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7152) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str7153) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7154) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str7155) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7156) %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 @.str7157, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7158) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str7159, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7160) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str7161) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7162) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str7163, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str7164) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str7165) 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 @.str7166) %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 @.str7167) 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 @.str7168, 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 @.str7169, 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 @.str7170, ptr @.str7171) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str7172) %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 @.str7173) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str7174) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str7175, ptr @.str7176, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str7177) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str7178, ptr @.str7179, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str7180) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str7181) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str7182) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str7183) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str7184) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str7185) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str7186) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str7187, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str7188) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str7189, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str7190) %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 @.str7191) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str7192) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str7193) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str7194) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str7195) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str7196, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str7197) %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 @.str7198, 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 @.str7199, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str7200) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str7201) %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 @.str7202, 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 @.str7203, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str7204) %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 @.str7205, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str7206) %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 @.str7207, 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 @.str7208, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str7209) %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 @.str7210, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str7211) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str7212) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str7213) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str7214, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str7215) %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 @.str7216, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str7217) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str7218) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str7219) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str7220, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str7221) 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 @.str7222) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str7223) 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 @.str7224) %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 @.str7225, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str7226) %t268 = load ptr, ptr %t0 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str7227) %t271 = load ptr, ptr %t0 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str7228) %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 @.str7229, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str7230) %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 @.str7231, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str7232) %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 @.str7233) %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 @.str7234, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str7235) %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 @.str7236, 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 @.str7237, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str7238) %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 @.str7239, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str7240) %t321 = load ptr, ptr %t0 %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7241) %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 @.str7242, 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 @.str7243, ptr %t332) %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str7244) %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 @.str7245, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str7246) %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 @.str7247, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str7248) %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 @.str7249, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str7250) %t354 = call ptr @fn_emit_bind(ptr %t353) %t355 = call ptr @fn_val(ptr %t354, ptr @.str7251) 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 @.str7252) %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 @.str7253) 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 %t367 = alloca i32 %t408 = alloca ptr %t410 = alloca ptr %t420 = alloca ptr %t427 = alloca ptr %t3428 = alloca ptr %t3439 = alloca ptr %t3488 = alloca ptr %t3497 = alloca ptr %t3504 = alloca ptr %t3506 = alloca ptr %t3513 = alloca ptr %t3522 = alloca ptr %t3531 = alloca ptr %t3536 = alloca ptr %t3541 = alloca ptr %t3561 = alloca ptr %t3599 = alloca ptr %t15734 = alloca i32 %t15750 = alloca ptr %t15763 = alloca ptr %t15764 = alloca i32 %t15799 = alloca i32 %t15815 = alloca ptr %t15828 = alloca ptr %t15829 = alloca i32 %t15864 = alloca i32 %t15881 = alloca i32 %t15903 = alloca ptr %t15910 = alloca ptr %t15911 = alloca i32 %t15958 = 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 @.str7254) %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 @.str7255) %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 @.str7256) %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 @.str7257) %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 @.str7258) %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 @.str7259) %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 @.str7260, 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 @.str7261) %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 @.str7262, 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 @.str7263) %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 @.str7264, 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 @.str7265) %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 @.str7266, 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 @.str7267) %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 @.str7268) %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 @.str7269) %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 @.str7270, 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 @.str7271) %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 @.str7272, 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 @.str7273) %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 @.str7274, 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 @.str7275) %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 @.str7276, 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 @.str7277) %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 @.str7278, 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 @.str7279) %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 @.str7280, 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 @.str7281) %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 @.str7282, 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 @.str7283) %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 @.str7284, 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 @.str7285) %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 @.str7286, 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 @.str7287) %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 @.str7288, 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 @.str7289) %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 @.str7290, 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 @.str7291) %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 @.str7292, 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 @.str7293) %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 @.str7294, 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 @.str7295) %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 @.str7296, 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 @.str7297) %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 @.str7298, 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 @.str7299) %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 @.str7300, 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 @.str7301) %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 @.str7302, 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 @.str7303) %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 @.str7304, 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 @.str7305) %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 @.str7306, 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 @.str7307) %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 @.str7308, 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 @.str7309) %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 @.str7310, 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 @.str7311) %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 @.str7312) %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 @.str7313) br label %ifend184 ifend184: %t354 = call ptr @fn_val(ptr @.str7314, ptr @.str7315) store ptr %t354, ptr %retval br label %ret ifend181: %t355 = load ptr, ptr %t1 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str7316) %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 @.str7317, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str7318) call void @fn_emit(ptr %t365) br label %ifend190 ifend190: %t366 = call ptr @fn_val(ptr @.str7319, ptr @.str7320) store ptr %t366, ptr %retval br label %ret ifend187: %t368 = load ptr, ptr %t1 %t369 = call i32 @lp_str_eq(ptr %t368, ptr @.str7321) %t370 = icmp ne i32 %t369, 0 %t371 = zext i1 %t370 to i32 store i32 %t371, ptr %t367 br i1 %t370, label %scend192, label %sc191 sc191: %t372 = load ptr, ptr %t1 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str7322) %t374 = icmp ne i32 %t373, 0 %t375 = zext i1 %t374 to i32 store i32 %t375, ptr %t367 br label %scend192 scend192: %t376 = load i32, ptr %t367 %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then193, label %ifend195 then193: call void @fn_use_pak() %t378 = load i32, ptr @g_g_windowed %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then196, label %ifend198 then196: %t380 = load ptr, ptr %t1 %t381 = call ptr @lp_str_concat(ptr @.str7323, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str7324) call void @fn_emit(ptr %t382) br label %ifend198 ifend198: %t383 = call ptr @fn_val(ptr @.str7325, ptr @.str7326) store ptr %t383, ptr %retval br label %ret ifend195: %t384 = load ptr, ptr %t1 %t385 = call ptr @lp_str_concat(ptr @.str7327, ptr %t384) call void @fn_perr(ptr %t385) br label %ifend178 ifend178: %t386 = load ptr, ptr %t0 %t387 = call i32 @lp_str_eq(ptr %t386, ptr @.str7328) %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %then199, label %ifend201 then199: %t389 = load ptr, ptr %t1 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str7329) %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then202, label %ifend204 then202: %t392 = call ptr @fn_itoa(i32 1024) %t393 = call ptr @fn_val(ptr %t392, ptr @.str7330) store ptr %t393, ptr %retval br label %ret ifend204: %t394 = load ptr, ptr %t1 %t395 = call i32 @lp_str_eq(ptr %t394, ptr @.str7331) %t396 = icmp ne i32 %t395, 0 br i1 %t396, label %then205, label %ifend207 then205: %t397 = call ptr @fn_emit_bind(ptr @.str7332) %t398 = call ptr @fn_val(ptr %t397, ptr @.str7333) store ptr %t398, ptr %retval br label %ret ifend207: %t399 = load ptr, ptr %t1 %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str7334) %t401 = icmp ne i32 %t400, 0 br i1 %t401, label %then208, label %ifend210 then208: %t402 = call ptr @fn_emit_bind(ptr @.str7335) %t403 = call ptr @fn_val(ptr %t402, ptr @.str7336) store ptr %t403, ptr %retval br label %ret ifend210: %t404 = load ptr, ptr %t1 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str7337) %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then211, label %ifend213 then211: %t407 = call ptr @fn_emit_bind(ptr @.str7338) store ptr %t407, ptr %t408 %t409 = call ptr @fn_emit_bind(ptr @.str7339) store ptr %t409, ptr %t410 %t411 = load ptr, ptr %t408 %t412 = call ptr @lp_str_concat(ptr @.str7340, ptr %t411) %t413 = call ptr @lp_str_concat(ptr %t412, ptr @.str7341) %t414 = load ptr, ptr %t410 %t415 = call ptr @lp_str_concat(ptr %t413, ptr %t414) %t416 = call ptr @fn_emit_bind(ptr %t415) %t417 = call ptr @fn_val(ptr %t416, ptr @.str7342) store ptr %t417, ptr %retval br label %ret ifend213: %t418 = load ptr, ptr %t1 %t419 = call ptr @lp_str_concat(ptr @.str7343, ptr %t418) call void @fn_perr(ptr %t419) br label %ifend201 ifend201: store ptr null, ptr %t420 %t421 = getelementptr %LSlice, ptr null, i32 1 %t422 = ptrtoint ptr %t421 to i64 %t423 = call ptr @malloc(i64 %t422) %t424 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 0 store ptr null, ptr %t424 %t425 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 1 store i32 0, ptr %t425 %t426 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 2 store i32 0, ptr %t426 store ptr %t423, ptr %t427 %t428 = load ptr, ptr %t0 %t429 = call i32 @lp_str_eq(ptr %t428, ptr @.str7344) %t430 = icmp ne i32 %t429, 0 br i1 %t430, label %then214, label %ifend216 then214: %t431 = load ptr, ptr %t1 %t432 = call i32 @lp_str_eq(ptr %t431, ptr @.str7345) %t433 = icmp ne i32 %t432, 0 br i1 %t433, label %then217, label %ifend219 then217: store ptr @.str7346, ptr %t420 %t434 = load ptr, ptr %t427 %t435 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 1 %t436 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 2 %t437 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 0 %t438 = load i32, ptr %t435 %t439 = load i32, ptr %t436 %t440 = icmp sge i32 %t438, %t439 br i1 %t440, label %grow220, label %put221 grow220: %t441 = mul i32 %t439, 2 %t442 = icmp eq i32 %t439, 0 %t443 = select i1 %t442, i32 8, i32 %t441 %t444 = getelementptr ptr, ptr null, i32 1 %t445 = ptrtoint ptr %t444 to i64 %t446 = zext i32 %t443 to i64 %t447 = mul i64 %t446, %t445 %t448 = load ptr, ptr %t437 %t449 = call ptr @realloc(ptr %t448, i64 %t447) store ptr %t449, ptr %t437 store i32 %t443, ptr %t436 br label %put221 put221: %t450 = load ptr, ptr %t437 %t451 = getelementptr inbounds ptr, ptr %t450, i32 %t438 store ptr @.str7347, ptr %t451 %t452 = add i32 %t438, 1 store i32 %t452, ptr %t435 br label %ifend219 ifend219: %t453 = load ptr, ptr %t1 %t454 = call i32 @lp_str_eq(ptr %t453, ptr @.str7348) %t455 = icmp ne i32 %t454, 0 br i1 %t455, label %then222, label %ifend224 then222: store ptr @.str7349, ptr %t420 %t456 = load ptr, ptr %t427 %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 %grow225, label %put226 grow225: %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 %put226 put226: %t472 = load ptr, ptr %t459 %t473 = getelementptr inbounds ptr, ptr %t472, i32 %t460 store ptr @.str7350, ptr %t473 %t474 = add i32 %t460, 1 store i32 %t474, ptr %t457 %t475 = load ptr, ptr %t427 %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 %grow227, label %put228 grow227: %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 %put228 put228: %t491 = load ptr, ptr %t478 %t492 = getelementptr inbounds ptr, ptr %t491, i32 %t479 store ptr @.str7351, ptr %t492 %t493 = add i32 %t479, 1 store i32 %t493, ptr %t476 %t494 = load ptr, ptr %t427 %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 %grow229, label %put230 grow229: %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 %put230 put230: %t510 = load ptr, ptr %t497 %t511 = getelementptr inbounds ptr, ptr %t510, i32 %t498 store ptr @.str7352, ptr %t511 %t512 = add i32 %t498, 1 store i32 %t512, ptr %t495 %t513 = load ptr, ptr %t427 %t514 = getelementptr inbounds %LSlice, ptr %t513, i32 0, i32 1 %t515 = getelementptr inbounds %LSlice, ptr %t513, i32 0, i32 2 %t516 = getelementptr inbounds %LSlice, ptr %t513, i32 0, i32 0 %t517 = load i32, ptr %t514 %t518 = load i32, ptr %t515 %t519 = icmp sge i32 %t517, %t518 br i1 %t519, label %grow231, label %put232 grow231: %t520 = mul i32 %t518, 2 %t521 = icmp eq i32 %t518, 0 %t522 = select i1 %t521, i32 8, i32 %t520 %t523 = getelementptr ptr, ptr null, i32 1 %t524 = ptrtoint ptr %t523 to i64 %t525 = zext i32 %t522 to i64 %t526 = mul i64 %t525, %t524 %t527 = load ptr, ptr %t516 %t528 = call ptr @realloc(ptr %t527, i64 %t526) store ptr %t528, ptr %t516 store i32 %t522, ptr %t515 br label %put232 put232: %t529 = load ptr, ptr %t516 %t530 = getelementptr inbounds ptr, ptr %t529, i32 %t517 store ptr @.str7353, ptr %t530 %t531 = add i32 %t517, 1 store i32 %t531, ptr %t514 %t532 = load ptr, ptr %t427 %t533 = getelementptr inbounds %LSlice, ptr %t532, i32 0, i32 1 %t534 = getelementptr inbounds %LSlice, ptr %t532, i32 0, i32 2 %t535 = getelementptr inbounds %LSlice, ptr %t532, i32 0, i32 0 %t536 = load i32, ptr %t533 %t537 = load i32, ptr %t534 %t538 = icmp sge i32 %t536, %t537 br i1 %t538, label %grow233, label %put234 grow233: %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 %put234 put234: %t548 = load ptr, ptr %t535 %t549 = getelementptr inbounds ptr, ptr %t548, i32 %t536 store ptr @.str7354, ptr %t549 %t550 = add i32 %t536, 1 store i32 %t550, ptr %t533 br label %ifend224 ifend224: %t551 = load ptr, ptr %t1 %t552 = call i32 @lp_str_eq(ptr %t551, ptr @.str7355) %t553 = icmp ne i32 %t552, 0 br i1 %t553, label %then235, label %ifend237 then235: store ptr @.str7356, ptr %t420 %t554 = load ptr, ptr %t427 %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 1 %t556 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 2 %t557 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t558 = load i32, ptr %t555 %t559 = load i32, ptr %t556 %t560 = icmp sge i32 %t558, %t559 br i1 %t560, label %grow238, label %put239 grow238: %t561 = mul i32 %t559, 2 %t562 = icmp eq i32 %t559, 0 %t563 = select i1 %t562, i32 8, i32 %t561 %t564 = getelementptr ptr, ptr null, i32 1 %t565 = ptrtoint ptr %t564 to i64 %t566 = zext i32 %t563 to i64 %t567 = mul i64 %t566, %t565 %t568 = load ptr, ptr %t557 %t569 = call ptr @realloc(ptr %t568, i64 %t567) store ptr %t569, ptr %t557 store i32 %t563, ptr %t556 br label %put239 put239: %t570 = load ptr, ptr %t557 %t571 = getelementptr inbounds ptr, ptr %t570, i32 %t558 store ptr @.str7357, ptr %t571 %t572 = add i32 %t558, 1 store i32 %t572, ptr %t555 %t573 = load ptr, ptr %t427 %t574 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 1 %t575 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 2 %t576 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 0 %t577 = load i32, ptr %t574 %t578 = load i32, ptr %t575 %t579 = icmp sge i32 %t577, %t578 br i1 %t579, label %grow240, label %put241 grow240: %t580 = mul i32 %t578, 2 %t581 = icmp eq i32 %t578, 0 %t582 = select i1 %t581, i32 8, i32 %t580 %t583 = getelementptr ptr, ptr null, i32 1 %t584 = ptrtoint ptr %t583 to i64 %t585 = zext i32 %t582 to i64 %t586 = mul i64 %t585, %t584 %t587 = load ptr, ptr %t576 %t588 = call ptr @realloc(ptr %t587, i64 %t586) store ptr %t588, ptr %t576 store i32 %t582, ptr %t575 br label %put241 put241: %t589 = load ptr, ptr %t576 %t590 = getelementptr inbounds ptr, ptr %t589, i32 %t577 store ptr @.str7358, ptr %t590 %t591 = add i32 %t577, 1 store i32 %t591, ptr %t574 %t592 = load ptr, ptr %t427 %t593 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 1 %t594 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 2 %t595 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 0 %t596 = load i32, ptr %t593 %t597 = load i32, ptr %t594 %t598 = icmp sge i32 %t596, %t597 br i1 %t598, label %grow242, label %put243 grow242: %t599 = mul i32 %t597, 2 %t600 = icmp eq i32 %t597, 0 %t601 = select i1 %t600, i32 8, i32 %t599 %t602 = getelementptr ptr, ptr null, i32 1 %t603 = ptrtoint ptr %t602 to i64 %t604 = zext i32 %t601 to i64 %t605 = mul i64 %t604, %t603 %t606 = load ptr, ptr %t595 %t607 = call ptr @realloc(ptr %t606, i64 %t605) store ptr %t607, ptr %t595 store i32 %t601, ptr %t594 br label %put243 put243: %t608 = load ptr, ptr %t595 %t609 = getelementptr inbounds ptr, ptr %t608, i32 %t596 store ptr @.str7359, ptr %t609 %t610 = add i32 %t596, 1 store i32 %t610, ptr %t593 %t611 = load ptr, ptr %t427 %t612 = getelementptr inbounds %LSlice, ptr %t611, i32 0, i32 1 %t613 = getelementptr inbounds %LSlice, ptr %t611, i32 0, i32 2 %t614 = getelementptr inbounds %LSlice, ptr %t611, i32 0, i32 0 %t615 = load i32, ptr %t612 %t616 = load i32, ptr %t613 %t617 = icmp sge i32 %t615, %t616 br i1 %t617, label %grow244, label %put245 grow244: %t618 = mul i32 %t616, 2 %t619 = icmp eq i32 %t616, 0 %t620 = select i1 %t619, i32 8, i32 %t618 %t621 = getelementptr ptr, ptr null, i32 1 %t622 = ptrtoint ptr %t621 to i64 %t623 = zext i32 %t620 to i64 %t624 = mul i64 %t623, %t622 %t625 = load ptr, ptr %t614 %t626 = call ptr @realloc(ptr %t625, i64 %t624) store ptr %t626, ptr %t614 store i32 %t620, ptr %t613 br label %put245 put245: %t627 = load ptr, ptr %t614 %t628 = getelementptr inbounds ptr, ptr %t627, i32 %t615 store ptr @.str7360, ptr %t628 %t629 = add i32 %t615, 1 store i32 %t629, ptr %t612 %t630 = load ptr, ptr %t427 %t631 = getelementptr inbounds %LSlice, ptr %t630, i32 0, i32 1 %t632 = getelementptr inbounds %LSlice, ptr %t630, i32 0, i32 2 %t633 = getelementptr inbounds %LSlice, ptr %t630, i32 0, i32 0 %t634 = load i32, ptr %t631 %t635 = load i32, ptr %t632 %t636 = icmp sge i32 %t634, %t635 br i1 %t636, label %grow246, label %put247 grow246: %t637 = mul i32 %t635, 2 %t638 = icmp eq i32 %t635, 0 %t639 = select i1 %t638, i32 8, i32 %t637 %t640 = getelementptr ptr, ptr null, i32 1 %t641 = ptrtoint ptr %t640 to i64 %t642 = zext i32 %t639 to i64 %t643 = mul i64 %t642, %t641 %t644 = load ptr, ptr %t633 %t645 = call ptr @realloc(ptr %t644, i64 %t643) store ptr %t645, ptr %t633 store i32 %t639, ptr %t632 br label %put247 put247: %t646 = load ptr, ptr %t633 %t647 = getelementptr inbounds ptr, ptr %t646, i32 %t634 store ptr @.str7361, ptr %t647 %t648 = add i32 %t634, 1 store i32 %t648, ptr %t631 %t649 = load ptr, ptr %t427 %t650 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 1 %t651 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 2 %t652 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 0 %t653 = load i32, ptr %t650 %t654 = load i32, ptr %t651 %t655 = icmp sge i32 %t653, %t654 br i1 %t655, label %grow248, label %put249 grow248: %t656 = mul i32 %t654, 2 %t657 = icmp eq i32 %t654, 0 %t658 = select i1 %t657, i32 8, i32 %t656 %t659 = getelementptr ptr, ptr null, i32 1 %t660 = ptrtoint ptr %t659 to i64 %t661 = zext i32 %t658 to i64 %t662 = mul i64 %t661, %t660 %t663 = load ptr, ptr %t652 %t664 = call ptr @realloc(ptr %t663, i64 %t662) store ptr %t664, ptr %t652 store i32 %t658, ptr %t651 br label %put249 put249: %t665 = load ptr, ptr %t652 %t666 = getelementptr inbounds ptr, ptr %t665, i32 %t653 store ptr @.str7362, ptr %t666 %t667 = add i32 %t653, 1 store i32 %t667, ptr %t650 %t668 = load ptr, ptr %t427 %t669 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 1 %t670 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 2 %t671 = getelementptr inbounds %LSlice, ptr %t668, i32 0, i32 0 %t672 = load i32, ptr %t669 %t673 = load i32, ptr %t670 %t674 = icmp sge i32 %t672, %t673 br i1 %t674, label %grow250, label %put251 grow250: %t675 = mul i32 %t673, 2 %t676 = icmp eq i32 %t673, 0 %t677 = select i1 %t676, i32 8, i32 %t675 %t678 = getelementptr ptr, ptr null, i32 1 %t679 = ptrtoint ptr %t678 to i64 %t680 = zext i32 %t677 to i64 %t681 = mul i64 %t680, %t679 %t682 = load ptr, ptr %t671 %t683 = call ptr @realloc(ptr %t682, i64 %t681) store ptr %t683, ptr %t671 store i32 %t677, ptr %t670 br label %put251 put251: %t684 = load ptr, ptr %t671 %t685 = getelementptr inbounds ptr, ptr %t684, i32 %t672 store ptr @.str7363, ptr %t685 %t686 = add i32 %t672, 1 store i32 %t686, ptr %t669 %t687 = load ptr, ptr %t427 %t688 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 1 %t689 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 2 %t690 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 0 %t691 = load i32, ptr %t688 %t692 = load i32, ptr %t689 %t693 = icmp sge i32 %t691, %t692 br i1 %t693, label %grow252, label %put253 grow252: %t694 = mul i32 %t692, 2 %t695 = icmp eq i32 %t692, 0 %t696 = select i1 %t695, i32 8, i32 %t694 %t697 = getelementptr ptr, ptr null, i32 1 %t698 = ptrtoint ptr %t697 to i64 %t699 = zext i32 %t696 to i64 %t700 = mul i64 %t699, %t698 %t701 = load ptr, ptr %t690 %t702 = call ptr @realloc(ptr %t701, i64 %t700) store ptr %t702, ptr %t690 store i32 %t696, ptr %t689 br label %put253 put253: %t703 = load ptr, ptr %t690 %t704 = getelementptr inbounds ptr, ptr %t703, i32 %t691 store ptr @.str7364, ptr %t704 %t705 = add i32 %t691, 1 store i32 %t705, ptr %t688 br label %ifend237 ifend237: %t706 = load ptr, ptr %t1 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str7365) %t708 = icmp ne i32 %t707, 0 br i1 %t708, label %then254, label %ifend256 then254: store ptr @.str7366, ptr %t420 %t709 = load ptr, ptr %t427 %t710 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 1 %t711 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 2 %t712 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 0 %t713 = load i32, ptr %t710 %t714 = load i32, ptr %t711 %t715 = icmp sge i32 %t713, %t714 br i1 %t715, label %grow257, label %put258 grow257: %t716 = mul i32 %t714, 2 %t717 = icmp eq i32 %t714, 0 %t718 = select i1 %t717, i32 8, i32 %t716 %t719 = getelementptr ptr, ptr null, i32 1 %t720 = ptrtoint ptr %t719 to i64 %t721 = zext i32 %t718 to i64 %t722 = mul i64 %t721, %t720 %t723 = load ptr, ptr %t712 %t724 = call ptr @realloc(ptr %t723, i64 %t722) store ptr %t724, ptr %t712 store i32 %t718, ptr %t711 br label %put258 put258: %t725 = load ptr, ptr %t712 %t726 = getelementptr inbounds ptr, ptr %t725, i32 %t713 store ptr @.str7367, ptr %t726 %t727 = add i32 %t713, 1 store i32 %t727, ptr %t710 %t728 = load ptr, ptr %t427 %t729 = getelementptr inbounds %LSlice, ptr %t728, i32 0, i32 1 %t730 = getelementptr inbounds %LSlice, ptr %t728, i32 0, i32 2 %t731 = getelementptr inbounds %LSlice, ptr %t728, 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 @.str7368, ptr %t745 %t746 = add i32 %t732, 1 store i32 %t746, ptr %t729 %t747 = load ptr, ptr %t427 %t748 = getelementptr inbounds %LSlice, ptr %t747, i32 0, i32 1 %t749 = getelementptr inbounds %LSlice, ptr %t747, i32 0, i32 2 %t750 = getelementptr inbounds %LSlice, ptr %t747, i32 0, i32 0 %t751 = load i32, ptr %t748 %t752 = load i32, ptr %t749 %t753 = icmp sge i32 %t751, %t752 br i1 %t753, label %grow261, label %put262 grow261: %t754 = mul i32 %t752, 2 %t755 = icmp eq i32 %t752, 0 %t756 = select i1 %t755, i32 8, i32 %t754 %t757 = getelementptr ptr, ptr null, i32 1 %t758 = ptrtoint ptr %t757 to i64 %t759 = zext i32 %t756 to i64 %t760 = mul i64 %t759, %t758 %t761 = load ptr, ptr %t750 %t762 = call ptr @realloc(ptr %t761, i64 %t760) store ptr %t762, ptr %t750 store i32 %t756, ptr %t749 br label %put262 put262: %t763 = load ptr, ptr %t750 %t764 = getelementptr inbounds ptr, ptr %t763, i32 %t751 store ptr @.str7369, ptr %t764 %t765 = add i32 %t751, 1 store i32 %t765, ptr %t748 %t766 = load ptr, ptr %t427 %t767 = getelementptr inbounds %LSlice, ptr %t766, i32 0, i32 1 %t768 = getelementptr inbounds %LSlice, ptr %t766, i32 0, i32 2 %t769 = getelementptr inbounds %LSlice, ptr %t766, i32 0, i32 0 %t770 = load i32, ptr %t767 %t771 = load i32, ptr %t768 %t772 = icmp sge i32 %t770, %t771 br i1 %t772, label %grow263, label %put264 grow263: %t773 = mul i32 %t771, 2 %t774 = icmp eq i32 %t771, 0 %t775 = select i1 %t774, i32 8, i32 %t773 %t776 = getelementptr ptr, ptr null, i32 1 %t777 = ptrtoint ptr %t776 to i64 %t778 = zext i32 %t775 to i64 %t779 = mul i64 %t778, %t777 %t780 = load ptr, ptr %t769 %t781 = call ptr @realloc(ptr %t780, i64 %t779) store ptr %t781, ptr %t769 store i32 %t775, ptr %t768 br label %put264 put264: %t782 = load ptr, ptr %t769 %t783 = getelementptr inbounds ptr, ptr %t782, i32 %t770 store ptr @.str7370, ptr %t783 %t784 = add i32 %t770, 1 store i32 %t784, ptr %t767 %t785 = load ptr, ptr %t427 %t786 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 1 %t787 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 2 %t788 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 0 %t789 = load i32, ptr %t786 %t790 = load i32, ptr %t787 %t791 = icmp sge i32 %t789, %t790 br i1 %t791, label %grow265, label %put266 grow265: %t792 = mul i32 %t790, 2 %t793 = icmp eq i32 %t790, 0 %t794 = select i1 %t793, i32 8, i32 %t792 %t795 = getelementptr ptr, ptr null, i32 1 %t796 = ptrtoint ptr %t795 to i64 %t797 = zext i32 %t794 to i64 %t798 = mul i64 %t797, %t796 %t799 = load ptr, ptr %t788 %t800 = call ptr @realloc(ptr %t799, i64 %t798) store ptr %t800, ptr %t788 store i32 %t794, ptr %t787 br label %put266 put266: %t801 = load ptr, ptr %t788 %t802 = getelementptr inbounds ptr, ptr %t801, i32 %t789 store ptr @.str7371, ptr %t802 %t803 = add i32 %t789, 1 store i32 %t803, ptr %t786 br label %ifend256 ifend256: %t804 = load ptr, ptr %t1 %t805 = call i32 @lp_str_eq(ptr %t804, ptr @.str7372) %t806 = icmp ne i32 %t805, 0 br i1 %t806, label %then267, label %ifend269 then267: store ptr @.str7373, ptr %t420 %t807 = load ptr, ptr %t427 %t808 = getelementptr inbounds %LSlice, ptr %t807, i32 0, i32 1 %t809 = getelementptr inbounds %LSlice, ptr %t807, i32 0, i32 2 %t810 = getelementptr inbounds %LSlice, ptr %t807, i32 0, i32 0 %t811 = load i32, ptr %t808 %t812 = load i32, ptr %t809 %t813 = icmp sge i32 %t811, %t812 br i1 %t813, label %grow270, label %put271 grow270: %t814 = mul i32 %t812, 2 %t815 = icmp eq i32 %t812, 0 %t816 = select i1 %t815, i32 8, i32 %t814 %t817 = getelementptr ptr, ptr null, i32 1 %t818 = ptrtoint ptr %t817 to i64 %t819 = zext i32 %t816 to i64 %t820 = mul i64 %t819, %t818 %t821 = load ptr, ptr %t810 %t822 = call ptr @realloc(ptr %t821, i64 %t820) store ptr %t822, ptr %t810 store i32 %t816, ptr %t809 br label %put271 put271: %t823 = load ptr, ptr %t810 %t824 = getelementptr inbounds ptr, ptr %t823, i32 %t811 store ptr @.str7374, ptr %t824 %t825 = add i32 %t811, 1 store i32 %t825, ptr %t808 %t826 = load ptr, ptr %t427 %t827 = getelementptr inbounds %LSlice, ptr %t826, i32 0, i32 1 %t828 = getelementptr inbounds %LSlice, ptr %t826, i32 0, i32 2 %t829 = getelementptr inbounds %LSlice, ptr %t826, i32 0, i32 0 %t830 = load i32, ptr %t827 %t831 = load i32, ptr %t828 %t832 = icmp sge i32 %t830, %t831 br i1 %t832, label %grow272, label %put273 grow272: %t833 = mul i32 %t831, 2 %t834 = icmp eq i32 %t831, 0 %t835 = select i1 %t834, i32 8, i32 %t833 %t836 = getelementptr ptr, ptr null, i32 1 %t837 = ptrtoint ptr %t836 to i64 %t838 = zext i32 %t835 to i64 %t839 = mul i64 %t838, %t837 %t840 = load ptr, ptr %t829 %t841 = call ptr @realloc(ptr %t840, i64 %t839) store ptr %t841, ptr %t829 store i32 %t835, ptr %t828 br label %put273 put273: %t842 = load ptr, ptr %t829 %t843 = getelementptr inbounds ptr, ptr %t842, i32 %t830 store ptr @.str7375, ptr %t843 %t844 = add i32 %t830, 1 store i32 %t844, ptr %t827 %t845 = load ptr, ptr %t427 %t846 = getelementptr inbounds %LSlice, ptr %t845, i32 0, i32 1 %t847 = getelementptr inbounds %LSlice, ptr %t845, i32 0, i32 2 %t848 = getelementptr inbounds %LSlice, ptr %t845, i32 0, i32 0 %t849 = load i32, ptr %t846 %t850 = load i32, ptr %t847 %t851 = icmp sge i32 %t849, %t850 br i1 %t851, label %grow274, label %put275 grow274: %t852 = mul i32 %t850, 2 %t853 = icmp eq i32 %t850, 0 %t854 = select i1 %t853, i32 8, i32 %t852 %t855 = getelementptr ptr, ptr null, i32 1 %t856 = ptrtoint ptr %t855 to i64 %t857 = zext i32 %t854 to i64 %t858 = mul i64 %t857, %t856 %t859 = load ptr, ptr %t848 %t860 = call ptr @realloc(ptr %t859, i64 %t858) store ptr %t860, ptr %t848 store i32 %t854, ptr %t847 br label %put275 put275: %t861 = load ptr, ptr %t848 %t862 = getelementptr inbounds ptr, ptr %t861, i32 %t849 store ptr @.str7376, ptr %t862 %t863 = add i32 %t849, 1 store i32 %t863, ptr %t846 br label %ifend269 ifend269: %t864 = load ptr, ptr %t1 %t865 = call i32 @lp_str_eq(ptr %t864, ptr @.str7377) %t866 = icmp ne i32 %t865, 0 br i1 %t866, label %then276, label %ifend278 then276: store ptr @.str7378, ptr %t420 %t867 = load ptr, ptr %t427 %t868 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 1 %t869 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 2 %t870 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 0 %t871 = load i32, ptr %t868 %t872 = load i32, ptr %t869 %t873 = icmp sge i32 %t871, %t872 br i1 %t873, label %grow279, label %put280 grow279: %t874 = mul i32 %t872, 2 %t875 = icmp eq i32 %t872, 0 %t876 = select i1 %t875, i32 8, i32 %t874 %t877 = getelementptr ptr, ptr null, i32 1 %t878 = ptrtoint ptr %t877 to i64 %t879 = zext i32 %t876 to i64 %t880 = mul i64 %t879, %t878 %t881 = load ptr, ptr %t870 %t882 = call ptr @realloc(ptr %t881, i64 %t880) store ptr %t882, ptr %t870 store i32 %t876, ptr %t869 br label %put280 put280: %t883 = load ptr, ptr %t870 %t884 = getelementptr inbounds ptr, ptr %t883, i32 %t871 store ptr @.str7379, ptr %t884 %t885 = add i32 %t871, 1 store i32 %t885, ptr %t868 %t886 = load ptr, ptr %t427 %t887 = getelementptr inbounds %LSlice, ptr %t886, i32 0, i32 1 %t888 = getelementptr inbounds %LSlice, ptr %t886, i32 0, i32 2 %t889 = getelementptr inbounds %LSlice, ptr %t886, i32 0, i32 0 %t890 = load i32, ptr %t887 %t891 = load i32, ptr %t888 %t892 = icmp sge i32 %t890, %t891 br i1 %t892, label %grow281, label %put282 grow281: %t893 = mul i32 %t891, 2 %t894 = icmp eq i32 %t891, 0 %t895 = select i1 %t894, i32 8, i32 %t893 %t896 = getelementptr ptr, ptr null, i32 1 %t897 = ptrtoint ptr %t896 to i64 %t898 = zext i32 %t895 to i64 %t899 = mul i64 %t898, %t897 %t900 = load ptr, ptr %t889 %t901 = call ptr @realloc(ptr %t900, i64 %t899) store ptr %t901, ptr %t889 store i32 %t895, ptr %t888 br label %put282 put282: %t902 = load ptr, ptr %t889 %t903 = getelementptr inbounds ptr, ptr %t902, i32 %t890 store ptr @.str7380, ptr %t903 %t904 = add i32 %t890, 1 store i32 %t904, ptr %t887 %t905 = load ptr, ptr %t427 %t906 = getelementptr inbounds %LSlice, ptr %t905, i32 0, i32 1 %t907 = getelementptr inbounds %LSlice, ptr %t905, i32 0, i32 2 %t908 = getelementptr inbounds %LSlice, ptr %t905, i32 0, i32 0 %t909 = load i32, ptr %t906 %t910 = load i32, ptr %t907 %t911 = icmp sge i32 %t909, %t910 br i1 %t911, label %grow283, label %put284 grow283: %t912 = mul i32 %t910, 2 %t913 = icmp eq i32 %t910, 0 %t914 = select i1 %t913, i32 8, i32 %t912 %t915 = getelementptr ptr, ptr null, i32 1 %t916 = ptrtoint ptr %t915 to i64 %t917 = zext i32 %t914 to i64 %t918 = mul i64 %t917, %t916 %t919 = load ptr, ptr %t908 %t920 = call ptr @realloc(ptr %t919, i64 %t918) store ptr %t920, ptr %t908 store i32 %t914, ptr %t907 br label %put284 put284: %t921 = load ptr, ptr %t908 %t922 = getelementptr inbounds ptr, ptr %t921, i32 %t909 store ptr @.str7381, ptr %t922 %t923 = add i32 %t909, 1 store i32 %t923, ptr %t906 %t924 = load ptr, ptr %t427 %t925 = getelementptr inbounds %LSlice, ptr %t924, i32 0, i32 1 %t926 = getelementptr inbounds %LSlice, ptr %t924, i32 0, i32 2 %t927 = getelementptr inbounds %LSlice, ptr %t924, i32 0, i32 0 %t928 = load i32, ptr %t925 %t929 = load i32, ptr %t926 %t930 = icmp sge i32 %t928, %t929 br i1 %t930, label %grow285, label %put286 grow285: %t931 = mul i32 %t929, 2 %t932 = icmp eq i32 %t929, 0 %t933 = select i1 %t932, i32 8, i32 %t931 %t934 = getelementptr ptr, ptr null, i32 1 %t935 = ptrtoint ptr %t934 to i64 %t936 = zext i32 %t933 to i64 %t937 = mul i64 %t936, %t935 %t938 = load ptr, ptr %t927 %t939 = call ptr @realloc(ptr %t938, i64 %t937) store ptr %t939, ptr %t927 store i32 %t933, ptr %t926 br label %put286 put286: %t940 = load ptr, ptr %t927 %t941 = getelementptr inbounds ptr, ptr %t940, i32 %t928 store ptr @.str7382, ptr %t941 %t942 = add i32 %t928, 1 store i32 %t942, ptr %t925 %t943 = load ptr, ptr %t427 %t944 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 1 %t945 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 2 %t946 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 0 %t947 = load i32, ptr %t944 %t948 = load i32, ptr %t945 %t949 = icmp sge i32 %t947, %t948 br i1 %t949, label %grow287, label %put288 grow287: %t950 = mul i32 %t948, 2 %t951 = icmp eq i32 %t948, 0 %t952 = select i1 %t951, i32 8, i32 %t950 %t953 = getelementptr ptr, ptr null, i32 1 %t954 = ptrtoint ptr %t953 to i64 %t955 = zext i32 %t952 to i64 %t956 = mul i64 %t955, %t954 %t957 = load ptr, ptr %t946 %t958 = call ptr @realloc(ptr %t957, i64 %t956) store ptr %t958, ptr %t946 store i32 %t952, ptr %t945 br label %put288 put288: %t959 = load ptr, ptr %t946 %t960 = getelementptr inbounds ptr, ptr %t959, i32 %t947 store ptr @.str7383, ptr %t960 %t961 = add i32 %t947, 1 store i32 %t961, ptr %t944 br label %ifend278 ifend278: %t962 = load ptr, ptr %t1 %t963 = call i32 @lp_str_eq(ptr %t962, ptr @.str7384) %t964 = icmp ne i32 %t963, 0 br i1 %t964, label %then289, label %ifend291 then289: store ptr @.str7385, ptr %t420 %t965 = load ptr, ptr %t427 %t966 = getelementptr inbounds %LSlice, ptr %t965, i32 0, i32 1 %t967 = getelementptr inbounds %LSlice, ptr %t965, i32 0, i32 2 %t968 = getelementptr inbounds %LSlice, ptr %t965, i32 0, i32 0 %t969 = load i32, ptr %t966 %t970 = load i32, ptr %t967 %t971 = icmp sge i32 %t969, %t970 br i1 %t971, label %grow292, label %put293 grow292: %t972 = mul i32 %t970, 2 %t973 = icmp eq i32 %t970, 0 %t974 = select i1 %t973, i32 8, i32 %t972 %t975 = getelementptr ptr, ptr null, i32 1 %t976 = ptrtoint ptr %t975 to i64 %t977 = zext i32 %t974 to i64 %t978 = mul i64 %t977, %t976 %t979 = load ptr, ptr %t968 %t980 = call ptr @realloc(ptr %t979, i64 %t978) store ptr %t980, ptr %t968 store i32 %t974, ptr %t967 br label %put293 put293: %t981 = load ptr, ptr %t968 %t982 = getelementptr inbounds ptr, ptr %t981, i32 %t969 store ptr @.str7386, ptr %t982 %t983 = add i32 %t969, 1 store i32 %t983, ptr %t966 %t984 = load ptr, ptr %t427 %t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 1 %t986 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 2 %t987 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0 %t988 = load i32, ptr %t985 %t989 = load i32, ptr %t986 %t990 = icmp sge i32 %t988, %t989 br i1 %t990, label %grow294, label %put295 grow294: %t991 = mul i32 %t989, 2 %t992 = icmp eq i32 %t989, 0 %t993 = select i1 %t992, i32 8, i32 %t991 %t994 = getelementptr ptr, ptr null, i32 1 %t995 = ptrtoint ptr %t994 to i64 %t996 = zext i32 %t993 to i64 %t997 = mul i64 %t996, %t995 %t998 = load ptr, ptr %t987 %t999 = call ptr @realloc(ptr %t998, i64 %t997) store ptr %t999, ptr %t987 store i32 %t993, ptr %t986 br label %put295 put295: %t1000 = load ptr, ptr %t987 %t1001 = getelementptr inbounds ptr, ptr %t1000, i32 %t988 store ptr @.str7387, ptr %t1001 %t1002 = add i32 %t988, 1 store i32 %t1002, ptr %t985 %t1003 = load ptr, ptr %t427 %t1004 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 1 %t1005 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 2 %t1006 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 0 %t1007 = load i32, ptr %t1004 %t1008 = load i32, ptr %t1005 %t1009 = icmp sge i32 %t1007, %t1008 br i1 %t1009, label %grow296, label %put297 grow296: %t1010 = mul i32 %t1008, 2 %t1011 = icmp eq i32 %t1008, 0 %t1012 = select i1 %t1011, i32 8, i32 %t1010 %t1013 = getelementptr ptr, ptr null, i32 1 %t1014 = ptrtoint ptr %t1013 to i64 %t1015 = zext i32 %t1012 to i64 %t1016 = mul i64 %t1015, %t1014 %t1017 = load ptr, ptr %t1006 %t1018 = call ptr @realloc(ptr %t1017, i64 %t1016) store ptr %t1018, ptr %t1006 store i32 %t1012, ptr %t1005 br label %put297 put297: %t1019 = load ptr, ptr %t1006 %t1020 = getelementptr inbounds ptr, ptr %t1019, i32 %t1007 store ptr @.str7388, ptr %t1020 %t1021 = add i32 %t1007, 1 store i32 %t1021, ptr %t1004 %t1022 = load ptr, ptr %t427 %t1023 = getelementptr inbounds %LSlice, ptr %t1022, i32 0, i32 1 %t1024 = getelementptr inbounds %LSlice, ptr %t1022, i32 0, i32 2 %t1025 = getelementptr inbounds %LSlice, ptr %t1022, i32 0, i32 0 %t1026 = load i32, ptr %t1023 %t1027 = load i32, ptr %t1024 %t1028 = icmp sge i32 %t1026, %t1027 br i1 %t1028, label %grow298, label %put299 grow298: %t1029 = mul i32 %t1027, 2 %t1030 = icmp eq i32 %t1027, 0 %t1031 = select i1 %t1030, i32 8, i32 %t1029 %t1032 = getelementptr ptr, ptr null, i32 1 %t1033 = ptrtoint ptr %t1032 to i64 %t1034 = zext i32 %t1031 to i64 %t1035 = mul i64 %t1034, %t1033 %t1036 = load ptr, ptr %t1025 %t1037 = call ptr @realloc(ptr %t1036, i64 %t1035) store ptr %t1037, ptr %t1025 store i32 %t1031, ptr %t1024 br label %put299 put299: %t1038 = load ptr, ptr %t1025 %t1039 = getelementptr inbounds ptr, ptr %t1038, i32 %t1026 store ptr @.str7389, ptr %t1039 %t1040 = add i32 %t1026, 1 store i32 %t1040, ptr %t1023 %t1041 = load ptr, ptr %t427 %t1042 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 1 %t1043 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 2 %t1044 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 0 %t1045 = load i32, ptr %t1042 %t1046 = load i32, ptr %t1043 %t1047 = icmp sge i32 %t1045, %t1046 br i1 %t1047, label %grow300, label %put301 grow300: %t1048 = mul i32 %t1046, 2 %t1049 = icmp eq i32 %t1046, 0 %t1050 = select i1 %t1049, i32 8, i32 %t1048 %t1051 = getelementptr ptr, ptr null, i32 1 %t1052 = ptrtoint ptr %t1051 to i64 %t1053 = zext i32 %t1050 to i64 %t1054 = mul i64 %t1053, %t1052 %t1055 = load ptr, ptr %t1044 %t1056 = call ptr @realloc(ptr %t1055, i64 %t1054) store ptr %t1056, ptr %t1044 store i32 %t1050, ptr %t1043 br label %put301 put301: %t1057 = load ptr, ptr %t1044 %t1058 = getelementptr inbounds ptr, ptr %t1057, i32 %t1045 store ptr @.str7390, ptr %t1058 %t1059 = add i32 %t1045, 1 store i32 %t1059, ptr %t1042 br label %ifend291 ifend291: %t1060 = load ptr, ptr %t1 %t1061 = call i32 @lp_str_eq(ptr %t1060, ptr @.str7391) %t1062 = icmp ne i32 %t1061, 0 br i1 %t1062, label %then302, label %ifend304 then302: store ptr @.str7392, ptr %t420 br label %ifend304 ifend304: %t1063 = load ptr, ptr %t1 %t1064 = call i32 @lp_str_eq(ptr %t1063, ptr @.str7393) %t1065 = icmp ne i32 %t1064, 0 br i1 %t1065, label %then305, label %ifend307 then305: store ptr @.str7394, ptr %t420 br label %ifend307 ifend307: %t1066 = load ptr, ptr %t1 %t1067 = call i32 @lp_str_eq(ptr %t1066, ptr @.str7395) %t1068 = icmp ne i32 %t1067, 0 br i1 %t1068, label %then308, label %ifend310 then308: store ptr @.str7396, ptr %t420 br label %ifend310 ifend310: %t1069 = load ptr, ptr %t1 %t1070 = call i32 @lp_str_eq(ptr %t1069, ptr @.str7397) %t1071 = icmp ne i32 %t1070, 0 br i1 %t1071, label %then311, label %ifend313 then311: store ptr @.str7398, ptr %t420 %t1072 = load ptr, ptr %t427 %t1073 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 1 %t1074 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 2 %t1075 = getelementptr inbounds %LSlice, ptr %t1072, i32 0, i32 0 %t1076 = load i32, ptr %t1073 %t1077 = load i32, ptr %t1074 %t1078 = icmp sge i32 %t1076, %t1077 br i1 %t1078, label %grow314, label %put315 grow314: %t1079 = mul i32 %t1077, 2 %t1080 = icmp eq i32 %t1077, 0 %t1081 = select i1 %t1080, i32 8, i32 %t1079 %t1082 = getelementptr ptr, ptr null, i32 1 %t1083 = ptrtoint ptr %t1082 to i64 %t1084 = zext i32 %t1081 to i64 %t1085 = mul i64 %t1084, %t1083 %t1086 = load ptr, ptr %t1075 %t1087 = call ptr @realloc(ptr %t1086, i64 %t1085) store ptr %t1087, ptr %t1075 store i32 %t1081, ptr %t1074 br label %put315 put315: %t1088 = load ptr, ptr %t1075 %t1089 = getelementptr inbounds ptr, ptr %t1088, i32 %t1076 store ptr @.str7399, ptr %t1089 %t1090 = add i32 %t1076, 1 store i32 %t1090, ptr %t1073 br label %ifend313 ifend313: %t1091 = load ptr, ptr %t1 %t1092 = call i32 @lp_str_eq(ptr %t1091, ptr @.str7400) %t1093 = icmp ne i32 %t1092, 0 br i1 %t1093, label %then316, label %ifend318 then316: store ptr @.str7401, ptr %t420 %t1094 = load ptr, ptr %t427 %t1095 = getelementptr inbounds %LSlice, ptr %t1094, i32 0, i32 1 %t1096 = getelementptr inbounds %LSlice, ptr %t1094, i32 0, i32 2 %t1097 = getelementptr inbounds %LSlice, ptr %t1094, i32 0, i32 0 %t1098 = load i32, ptr %t1095 %t1099 = load i32, ptr %t1096 %t1100 = icmp sge i32 %t1098, %t1099 br i1 %t1100, label %grow319, label %put320 grow319: %t1101 = mul i32 %t1099, 2 %t1102 = icmp eq i32 %t1099, 0 %t1103 = select i1 %t1102, i32 8, i32 %t1101 %t1104 = getelementptr ptr, ptr null, i32 1 %t1105 = ptrtoint ptr %t1104 to i64 %t1106 = zext i32 %t1103 to i64 %t1107 = mul i64 %t1106, %t1105 %t1108 = load ptr, ptr %t1097 %t1109 = call ptr @realloc(ptr %t1108, i64 %t1107) store ptr %t1109, ptr %t1097 store i32 %t1103, ptr %t1096 br label %put320 put320: %t1110 = load ptr, ptr %t1097 %t1111 = getelementptr inbounds ptr, ptr %t1110, i32 %t1098 store ptr @.str7402, ptr %t1111 %t1112 = add i32 %t1098, 1 store i32 %t1112, ptr %t1095 %t1113 = load ptr, ptr %t427 %t1114 = getelementptr inbounds %LSlice, ptr %t1113, i32 0, i32 1 %t1115 = getelementptr inbounds %LSlice, ptr %t1113, i32 0, i32 2 %t1116 = getelementptr inbounds %LSlice, ptr %t1113, i32 0, i32 0 %t1117 = load i32, ptr %t1114 %t1118 = load i32, ptr %t1115 %t1119 = icmp sge i32 %t1117, %t1118 br i1 %t1119, label %grow321, label %put322 grow321: %t1120 = mul i32 %t1118, 2 %t1121 = icmp eq i32 %t1118, 0 %t1122 = select i1 %t1121, i32 8, i32 %t1120 %t1123 = getelementptr ptr, ptr null, i32 1 %t1124 = ptrtoint ptr %t1123 to i64 %t1125 = zext i32 %t1122 to i64 %t1126 = mul i64 %t1125, %t1124 %t1127 = load ptr, ptr %t1116 %t1128 = call ptr @realloc(ptr %t1127, i64 %t1126) store ptr %t1128, ptr %t1116 store i32 %t1122, ptr %t1115 br label %put322 put322: %t1129 = load ptr, ptr %t1116 %t1130 = getelementptr inbounds ptr, ptr %t1129, i32 %t1117 store ptr @.str7403, ptr %t1130 %t1131 = add i32 %t1117, 1 store i32 %t1131, ptr %t1114 %t1132 = load ptr, ptr %t427 %t1133 = getelementptr inbounds %LSlice, ptr %t1132, i32 0, i32 1 %t1134 = getelementptr inbounds %LSlice, ptr %t1132, i32 0, i32 2 %t1135 = getelementptr inbounds %LSlice, ptr %t1132, i32 0, i32 0 %t1136 = load i32, ptr %t1133 %t1137 = load i32, ptr %t1134 %t1138 = icmp sge i32 %t1136, %t1137 br i1 %t1138, label %grow323, label %put324 grow323: %t1139 = mul i32 %t1137, 2 %t1140 = icmp eq i32 %t1137, 0 %t1141 = select i1 %t1140, i32 8, i32 %t1139 %t1142 = getelementptr ptr, ptr null, i32 1 %t1143 = ptrtoint ptr %t1142 to i64 %t1144 = zext i32 %t1141 to i64 %t1145 = mul i64 %t1144, %t1143 %t1146 = load ptr, ptr %t1135 %t1147 = call ptr @realloc(ptr %t1146, i64 %t1145) store ptr %t1147, ptr %t1135 store i32 %t1141, ptr %t1134 br label %put324 put324: %t1148 = load ptr, ptr %t1135 %t1149 = getelementptr inbounds ptr, ptr %t1148, i32 %t1136 store ptr @.str7404, ptr %t1149 %t1150 = add i32 %t1136, 1 store i32 %t1150, ptr %t1133 %t1151 = load ptr, ptr %t427 %t1152 = getelementptr inbounds %LSlice, ptr %t1151, i32 0, i32 1 %t1153 = getelementptr inbounds %LSlice, ptr %t1151, i32 0, i32 2 %t1154 = getelementptr inbounds %LSlice, ptr %t1151, i32 0, i32 0 %t1155 = load i32, ptr %t1152 %t1156 = load i32, ptr %t1153 %t1157 = icmp sge i32 %t1155, %t1156 br i1 %t1157, label %grow325, label %put326 grow325: %t1158 = mul i32 %t1156, 2 %t1159 = icmp eq i32 %t1156, 0 %t1160 = select i1 %t1159, i32 8, i32 %t1158 %t1161 = getelementptr ptr, ptr null, i32 1 %t1162 = ptrtoint ptr %t1161 to i64 %t1163 = zext i32 %t1160 to i64 %t1164 = mul i64 %t1163, %t1162 %t1165 = load ptr, ptr %t1154 %t1166 = call ptr @realloc(ptr %t1165, i64 %t1164) store ptr %t1166, ptr %t1154 store i32 %t1160, ptr %t1153 br label %put326 put326: %t1167 = load ptr, ptr %t1154 %t1168 = getelementptr inbounds ptr, ptr %t1167, i32 %t1155 store ptr @.str7405, ptr %t1168 %t1169 = add i32 %t1155, 1 store i32 %t1169, ptr %t1152 %t1170 = load ptr, ptr %t427 %t1171 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 1 %t1172 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 2 %t1173 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 0 %t1174 = load i32, ptr %t1171 %t1175 = load i32, ptr %t1172 %t1176 = icmp sge i32 %t1174, %t1175 br i1 %t1176, label %grow327, label %put328 grow327: %t1177 = mul i32 %t1175, 2 %t1178 = icmp eq i32 %t1175, 0 %t1179 = select i1 %t1178, i32 8, i32 %t1177 %t1180 = getelementptr ptr, ptr null, i32 1 %t1181 = ptrtoint ptr %t1180 to i64 %t1182 = zext i32 %t1179 to i64 %t1183 = mul i64 %t1182, %t1181 %t1184 = load ptr, ptr %t1173 %t1185 = call ptr @realloc(ptr %t1184, i64 %t1183) store ptr %t1185, ptr %t1173 store i32 %t1179, ptr %t1172 br label %put328 put328: %t1186 = load ptr, ptr %t1173 %t1187 = getelementptr inbounds ptr, ptr %t1186, i32 %t1174 store ptr @.str7406, ptr %t1187 %t1188 = add i32 %t1174, 1 store i32 %t1188, ptr %t1171 br label %ifend318 ifend318: %t1189 = load ptr, ptr %t1 %t1190 = call i32 @lp_str_eq(ptr %t1189, ptr @.str7407) %t1191 = icmp ne i32 %t1190, 0 br i1 %t1191, label %then329, label %ifend331 then329: store ptr @.str7408, ptr %t420 %t1192 = load ptr, ptr %t427 %t1193 = getelementptr inbounds %LSlice, ptr %t1192, i32 0, i32 1 %t1194 = getelementptr inbounds %LSlice, ptr %t1192, i32 0, i32 2 %t1195 = getelementptr inbounds %LSlice, ptr %t1192, i32 0, i32 0 %t1196 = load i32, ptr %t1193 %t1197 = load i32, ptr %t1194 %t1198 = icmp sge i32 %t1196, %t1197 br i1 %t1198, label %grow332, label %put333 grow332: %t1199 = mul i32 %t1197, 2 %t1200 = icmp eq i32 %t1197, 0 %t1201 = select i1 %t1200, i32 8, i32 %t1199 %t1202 = getelementptr ptr, ptr null, i32 1 %t1203 = ptrtoint ptr %t1202 to i64 %t1204 = zext i32 %t1201 to i64 %t1205 = mul i64 %t1204, %t1203 %t1206 = load ptr, ptr %t1195 %t1207 = call ptr @realloc(ptr %t1206, i64 %t1205) store ptr %t1207, ptr %t1195 store i32 %t1201, ptr %t1194 br label %put333 put333: %t1208 = load ptr, ptr %t1195 %t1209 = getelementptr inbounds ptr, ptr %t1208, i32 %t1196 store ptr @.str7409, ptr %t1209 %t1210 = add i32 %t1196, 1 store i32 %t1210, ptr %t1193 %t1211 = load ptr, ptr %t427 %t1212 = getelementptr inbounds %LSlice, ptr %t1211, i32 0, i32 1 %t1213 = getelementptr inbounds %LSlice, ptr %t1211, i32 0, i32 2 %t1214 = getelementptr inbounds %LSlice, ptr %t1211, i32 0, i32 0 %t1215 = load i32, ptr %t1212 %t1216 = load i32, ptr %t1213 %t1217 = icmp sge i32 %t1215, %t1216 br i1 %t1217, label %grow334, label %put335 grow334: %t1218 = mul i32 %t1216, 2 %t1219 = icmp eq i32 %t1216, 0 %t1220 = select i1 %t1219, i32 8, i32 %t1218 %t1221 = getelementptr ptr, ptr null, i32 1 %t1222 = ptrtoint ptr %t1221 to i64 %t1223 = zext i32 %t1220 to i64 %t1224 = mul i64 %t1223, %t1222 %t1225 = load ptr, ptr %t1214 %t1226 = call ptr @realloc(ptr %t1225, i64 %t1224) store ptr %t1226, ptr %t1214 store i32 %t1220, ptr %t1213 br label %put335 put335: %t1227 = load ptr, ptr %t1214 %t1228 = getelementptr inbounds ptr, ptr %t1227, i32 %t1215 store ptr @.str7410, ptr %t1228 %t1229 = add i32 %t1215, 1 store i32 %t1229, ptr %t1212 %t1230 = load ptr, ptr %t427 %t1231 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 1 %t1232 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 2 %t1233 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 0 %t1234 = load i32, ptr %t1231 %t1235 = load i32, ptr %t1232 %t1236 = icmp sge i32 %t1234, %t1235 br i1 %t1236, label %grow336, label %put337 grow336: %t1237 = mul i32 %t1235, 2 %t1238 = icmp eq i32 %t1235, 0 %t1239 = select i1 %t1238, i32 8, i32 %t1237 %t1240 = getelementptr ptr, ptr null, i32 1 %t1241 = ptrtoint ptr %t1240 to i64 %t1242 = zext i32 %t1239 to i64 %t1243 = mul i64 %t1242, %t1241 %t1244 = load ptr, ptr %t1233 %t1245 = call ptr @realloc(ptr %t1244, i64 %t1243) store ptr %t1245, ptr %t1233 store i32 %t1239, ptr %t1232 br label %put337 put337: %t1246 = load ptr, ptr %t1233 %t1247 = getelementptr inbounds ptr, ptr %t1246, i32 %t1234 store ptr @.str7411, ptr %t1247 %t1248 = add i32 %t1234, 1 store i32 %t1248, ptr %t1231 %t1249 = load ptr, ptr %t427 %t1250 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 1 %t1251 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 2 %t1252 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 0 %t1253 = load i32, ptr %t1250 %t1254 = load i32, ptr %t1251 %t1255 = icmp sge i32 %t1253, %t1254 br i1 %t1255, label %grow338, label %put339 grow338: %t1256 = mul i32 %t1254, 2 %t1257 = icmp eq i32 %t1254, 0 %t1258 = select i1 %t1257, i32 8, i32 %t1256 %t1259 = getelementptr ptr, ptr null, i32 1 %t1260 = ptrtoint ptr %t1259 to i64 %t1261 = zext i32 %t1258 to i64 %t1262 = mul i64 %t1261, %t1260 %t1263 = load ptr, ptr %t1252 %t1264 = call ptr @realloc(ptr %t1263, i64 %t1262) store ptr %t1264, ptr %t1252 store i32 %t1258, ptr %t1251 br label %put339 put339: %t1265 = load ptr, ptr %t1252 %t1266 = getelementptr inbounds ptr, ptr %t1265, i32 %t1253 store ptr @.str7412, ptr %t1266 %t1267 = add i32 %t1253, 1 store i32 %t1267, ptr %t1250 br label %ifend331 ifend331: %t1268 = load ptr, ptr %t1 %t1269 = call i32 @lp_str_eq(ptr %t1268, ptr @.str7413) %t1270 = icmp ne i32 %t1269, 0 br i1 %t1270, label %then340, label %ifend342 then340: store ptr @.str7414, ptr %t420 %t1271 = load ptr, ptr %t427 %t1272 = getelementptr inbounds %LSlice, ptr %t1271, i32 0, i32 1 %t1273 = getelementptr inbounds %LSlice, ptr %t1271, i32 0, i32 2 %t1274 = getelementptr inbounds %LSlice, ptr %t1271, i32 0, i32 0 %t1275 = load i32, ptr %t1272 %t1276 = load i32, ptr %t1273 %t1277 = icmp sge i32 %t1275, %t1276 br i1 %t1277, label %grow343, label %put344 grow343: %t1278 = mul i32 %t1276, 2 %t1279 = icmp eq i32 %t1276, 0 %t1280 = select i1 %t1279, i32 8, i32 %t1278 %t1281 = getelementptr ptr, ptr null, i32 1 %t1282 = ptrtoint ptr %t1281 to i64 %t1283 = zext i32 %t1280 to i64 %t1284 = mul i64 %t1283, %t1282 %t1285 = load ptr, ptr %t1274 %t1286 = call ptr @realloc(ptr %t1285, i64 %t1284) store ptr %t1286, ptr %t1274 store i32 %t1280, ptr %t1273 br label %put344 put344: %t1287 = load ptr, ptr %t1274 %t1288 = getelementptr inbounds ptr, ptr %t1287, i32 %t1275 store ptr @.str7415, ptr %t1288 %t1289 = add i32 %t1275, 1 store i32 %t1289, ptr %t1272 %t1290 = load ptr, ptr %t427 %t1291 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 1 %t1292 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 2 %t1293 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 0 %t1294 = load i32, ptr %t1291 %t1295 = load i32, ptr %t1292 %t1296 = icmp sge i32 %t1294, %t1295 br i1 %t1296, label %grow345, label %put346 grow345: %t1297 = mul i32 %t1295, 2 %t1298 = icmp eq i32 %t1295, 0 %t1299 = select i1 %t1298, i32 8, i32 %t1297 %t1300 = getelementptr ptr, ptr null, i32 1 %t1301 = ptrtoint ptr %t1300 to i64 %t1302 = zext i32 %t1299 to i64 %t1303 = mul i64 %t1302, %t1301 %t1304 = load ptr, ptr %t1293 %t1305 = call ptr @realloc(ptr %t1304, i64 %t1303) store ptr %t1305, ptr %t1293 store i32 %t1299, ptr %t1292 br label %put346 put346: %t1306 = load ptr, ptr %t1293 %t1307 = getelementptr inbounds ptr, ptr %t1306, i32 %t1294 store ptr @.str7416, ptr %t1307 %t1308 = add i32 %t1294, 1 store i32 %t1308, ptr %t1291 %t1309 = load ptr, ptr %t427 %t1310 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 1 %t1311 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 2 %t1312 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 0 %t1313 = load i32, ptr %t1310 %t1314 = load i32, ptr %t1311 %t1315 = icmp sge i32 %t1313, %t1314 br i1 %t1315, label %grow347, label %put348 grow347: %t1316 = mul i32 %t1314, 2 %t1317 = icmp eq i32 %t1314, 0 %t1318 = select i1 %t1317, i32 8, i32 %t1316 %t1319 = getelementptr ptr, ptr null, i32 1 %t1320 = ptrtoint ptr %t1319 to i64 %t1321 = zext i32 %t1318 to i64 %t1322 = mul i64 %t1321, %t1320 %t1323 = load ptr, ptr %t1312 %t1324 = call ptr @realloc(ptr %t1323, i64 %t1322) store ptr %t1324, ptr %t1312 store i32 %t1318, ptr %t1311 br label %put348 put348: %t1325 = load ptr, ptr %t1312 %t1326 = getelementptr inbounds ptr, ptr %t1325, i32 %t1313 store ptr @.str7417, ptr %t1326 %t1327 = add i32 %t1313, 1 store i32 %t1327, ptr %t1310 %t1328 = load ptr, ptr %t427 %t1329 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 1 %t1330 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 2 %t1331 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 0 %t1332 = load i32, ptr %t1329 %t1333 = load i32, ptr %t1330 %t1334 = icmp sge i32 %t1332, %t1333 br i1 %t1334, label %grow349, label %put350 grow349: %t1335 = mul i32 %t1333, 2 %t1336 = icmp eq i32 %t1333, 0 %t1337 = select i1 %t1336, i32 8, i32 %t1335 %t1338 = getelementptr ptr, ptr null, i32 1 %t1339 = ptrtoint ptr %t1338 to i64 %t1340 = zext i32 %t1337 to i64 %t1341 = mul i64 %t1340, %t1339 %t1342 = load ptr, ptr %t1331 %t1343 = call ptr @realloc(ptr %t1342, i64 %t1341) store ptr %t1343, ptr %t1331 store i32 %t1337, ptr %t1330 br label %put350 put350: %t1344 = load ptr, ptr %t1331 %t1345 = getelementptr inbounds ptr, ptr %t1344, i32 %t1332 store ptr @.str7418, ptr %t1345 %t1346 = add i32 %t1332, 1 store i32 %t1346, ptr %t1329 br label %ifend342 ifend342: %t1347 = load ptr, ptr %t1 %t1348 = call i32 @lp_str_eq(ptr %t1347, ptr @.str7419) %t1349 = icmp ne i32 %t1348, 0 br i1 %t1349, label %then351, label %ifend353 then351: store ptr @.str7420, ptr %t420 %t1350 = load ptr, ptr %t427 %t1351 = getelementptr inbounds %LSlice, ptr %t1350, i32 0, i32 1 %t1352 = getelementptr inbounds %LSlice, ptr %t1350, i32 0, i32 2 %t1353 = getelementptr inbounds %LSlice, ptr %t1350, i32 0, i32 0 %t1354 = load i32, ptr %t1351 %t1355 = load i32, ptr %t1352 %t1356 = icmp sge i32 %t1354, %t1355 br i1 %t1356, label %grow354, label %put355 grow354: %t1357 = mul i32 %t1355, 2 %t1358 = icmp eq i32 %t1355, 0 %t1359 = select i1 %t1358, i32 8, i32 %t1357 %t1360 = getelementptr ptr, ptr null, i32 1 %t1361 = ptrtoint ptr %t1360 to i64 %t1362 = zext i32 %t1359 to i64 %t1363 = mul i64 %t1362, %t1361 %t1364 = load ptr, ptr %t1353 %t1365 = call ptr @realloc(ptr %t1364, i64 %t1363) store ptr %t1365, ptr %t1353 store i32 %t1359, ptr %t1352 br label %put355 put355: %t1366 = load ptr, ptr %t1353 %t1367 = getelementptr inbounds ptr, ptr %t1366, i32 %t1354 store ptr @.str7421, ptr %t1367 %t1368 = add i32 %t1354, 1 store i32 %t1368, ptr %t1351 %t1369 = load ptr, ptr %t427 %t1370 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 1 %t1371 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 2 %t1372 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 0 %t1373 = load i32, ptr %t1370 %t1374 = load i32, ptr %t1371 %t1375 = icmp sge i32 %t1373, %t1374 br i1 %t1375, label %grow356, label %put357 grow356: %t1376 = mul i32 %t1374, 2 %t1377 = icmp eq i32 %t1374, 0 %t1378 = select i1 %t1377, i32 8, i32 %t1376 %t1379 = getelementptr ptr, ptr null, i32 1 %t1380 = ptrtoint ptr %t1379 to i64 %t1381 = zext i32 %t1378 to i64 %t1382 = mul i64 %t1381, %t1380 %t1383 = load ptr, ptr %t1372 %t1384 = call ptr @realloc(ptr %t1383, i64 %t1382) store ptr %t1384, ptr %t1372 store i32 %t1378, ptr %t1371 br label %put357 put357: %t1385 = load ptr, ptr %t1372 %t1386 = getelementptr inbounds ptr, ptr %t1385, i32 %t1373 store ptr @.str7422, ptr %t1386 %t1387 = add i32 %t1373, 1 store i32 %t1387, ptr %t1370 %t1388 = load ptr, ptr %t427 %t1389 = getelementptr inbounds %LSlice, ptr %t1388, i32 0, i32 1 %t1390 = getelementptr inbounds %LSlice, ptr %t1388, i32 0, i32 2 %t1391 = getelementptr inbounds %LSlice, ptr %t1388, i32 0, i32 0 %t1392 = load i32, ptr %t1389 %t1393 = load i32, ptr %t1390 %t1394 = icmp sge i32 %t1392, %t1393 br i1 %t1394, label %grow358, label %put359 grow358: %t1395 = mul i32 %t1393, 2 %t1396 = icmp eq i32 %t1393, 0 %t1397 = select i1 %t1396, i32 8, i32 %t1395 %t1398 = getelementptr ptr, ptr null, i32 1 %t1399 = ptrtoint ptr %t1398 to i64 %t1400 = zext i32 %t1397 to i64 %t1401 = mul i64 %t1400, %t1399 %t1402 = load ptr, ptr %t1391 %t1403 = call ptr @realloc(ptr %t1402, i64 %t1401) store ptr %t1403, ptr %t1391 store i32 %t1397, ptr %t1390 br label %put359 put359: %t1404 = load ptr, ptr %t1391 %t1405 = getelementptr inbounds ptr, ptr %t1404, i32 %t1392 store ptr @.str7423, ptr %t1405 %t1406 = add i32 %t1392, 1 store i32 %t1406, ptr %t1389 %t1407 = load ptr, ptr %t427 %t1408 = getelementptr inbounds %LSlice, ptr %t1407, i32 0, i32 1 %t1409 = getelementptr inbounds %LSlice, ptr %t1407, i32 0, i32 2 %t1410 = getelementptr inbounds %LSlice, ptr %t1407, i32 0, i32 0 %t1411 = load i32, ptr %t1408 %t1412 = load i32, ptr %t1409 %t1413 = icmp sge i32 %t1411, %t1412 br i1 %t1413, label %grow360, label %put361 grow360: %t1414 = mul i32 %t1412, 2 %t1415 = icmp eq i32 %t1412, 0 %t1416 = select i1 %t1415, i32 8, i32 %t1414 %t1417 = getelementptr ptr, ptr null, i32 1 %t1418 = ptrtoint ptr %t1417 to i64 %t1419 = zext i32 %t1416 to i64 %t1420 = mul i64 %t1419, %t1418 %t1421 = load ptr, ptr %t1410 %t1422 = call ptr @realloc(ptr %t1421, i64 %t1420) store ptr %t1422, ptr %t1410 store i32 %t1416, ptr %t1409 br label %put361 put361: %t1423 = load ptr, ptr %t1410 %t1424 = getelementptr inbounds ptr, ptr %t1423, i32 %t1411 store ptr @.str7424, ptr %t1424 %t1425 = add i32 %t1411, 1 store i32 %t1425, ptr %t1408 %t1426 = load ptr, ptr %t427 %t1427 = getelementptr inbounds %LSlice, ptr %t1426, i32 0, i32 1 %t1428 = getelementptr inbounds %LSlice, ptr %t1426, i32 0, i32 2 %t1429 = getelementptr inbounds %LSlice, ptr %t1426, i32 0, i32 0 %t1430 = load i32, ptr %t1427 %t1431 = load i32, ptr %t1428 %t1432 = icmp sge i32 %t1430, %t1431 br i1 %t1432, label %grow362, label %put363 grow362: %t1433 = mul i32 %t1431, 2 %t1434 = icmp eq i32 %t1431, 0 %t1435 = select i1 %t1434, i32 8, i32 %t1433 %t1436 = getelementptr ptr, ptr null, i32 1 %t1437 = ptrtoint ptr %t1436 to i64 %t1438 = zext i32 %t1435 to i64 %t1439 = mul i64 %t1438, %t1437 %t1440 = load ptr, ptr %t1429 %t1441 = call ptr @realloc(ptr %t1440, i64 %t1439) store ptr %t1441, ptr %t1429 store i32 %t1435, ptr %t1428 br label %put363 put363: %t1442 = load ptr, ptr %t1429 %t1443 = getelementptr inbounds ptr, ptr %t1442, i32 %t1430 store ptr @.str7425, ptr %t1443 %t1444 = add i32 %t1430, 1 store i32 %t1444, ptr %t1427 %t1445 = load ptr, ptr %t427 %t1446 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 1 %t1447 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 2 %t1448 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 0 %t1449 = load i32, ptr %t1446 %t1450 = load i32, ptr %t1447 %t1451 = icmp sge i32 %t1449, %t1450 br i1 %t1451, label %grow364, label %put365 grow364: %t1452 = mul i32 %t1450, 2 %t1453 = icmp eq i32 %t1450, 0 %t1454 = select i1 %t1453, i32 8, i32 %t1452 %t1455 = getelementptr ptr, ptr null, i32 1 %t1456 = ptrtoint ptr %t1455 to i64 %t1457 = zext i32 %t1454 to i64 %t1458 = mul i64 %t1457, %t1456 %t1459 = load ptr, ptr %t1448 %t1460 = call ptr @realloc(ptr %t1459, i64 %t1458) store ptr %t1460, ptr %t1448 store i32 %t1454, ptr %t1447 br label %put365 put365: %t1461 = load ptr, ptr %t1448 %t1462 = getelementptr inbounds ptr, ptr %t1461, i32 %t1449 store ptr @.str7426, ptr %t1462 %t1463 = add i32 %t1449, 1 store i32 %t1463, ptr %t1446 %t1464 = load ptr, ptr %t427 %t1465 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 1 %t1466 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 2 %t1467 = getelementptr inbounds %LSlice, ptr %t1464, i32 0, i32 0 %t1468 = load i32, ptr %t1465 %t1469 = load i32, ptr %t1466 %t1470 = icmp sge i32 %t1468, %t1469 br i1 %t1470, label %grow366, label %put367 grow366: %t1471 = mul i32 %t1469, 2 %t1472 = icmp eq i32 %t1469, 0 %t1473 = select i1 %t1472, i32 8, i32 %t1471 %t1474 = getelementptr ptr, ptr null, i32 1 %t1475 = ptrtoint ptr %t1474 to i64 %t1476 = zext i32 %t1473 to i64 %t1477 = mul i64 %t1476, %t1475 %t1478 = load ptr, ptr %t1467 %t1479 = call ptr @realloc(ptr %t1478, i64 %t1477) store ptr %t1479, ptr %t1467 store i32 %t1473, ptr %t1466 br label %put367 put367: %t1480 = load ptr, ptr %t1467 %t1481 = getelementptr inbounds ptr, ptr %t1480, i32 %t1468 store ptr @.str7427, ptr %t1481 %t1482 = add i32 %t1468, 1 store i32 %t1482, ptr %t1465 br label %ifend353 ifend353: %t1483 = load ptr, ptr %t1 %t1484 = call i32 @lp_str_eq(ptr %t1483, ptr @.str7428) %t1485 = icmp ne i32 %t1484, 0 br i1 %t1485, label %then368, label %ifend370 then368: store ptr @.str7429, ptr %t420 %t1486 = load ptr, ptr %t427 %t1487 = getelementptr inbounds %LSlice, ptr %t1486, i32 0, i32 1 %t1488 = getelementptr inbounds %LSlice, ptr %t1486, i32 0, i32 2 %t1489 = getelementptr inbounds %LSlice, ptr %t1486, i32 0, i32 0 %t1490 = load i32, ptr %t1487 %t1491 = load i32, ptr %t1488 %t1492 = icmp sge i32 %t1490, %t1491 br i1 %t1492, label %grow371, label %put372 grow371: %t1493 = mul i32 %t1491, 2 %t1494 = icmp eq i32 %t1491, 0 %t1495 = select i1 %t1494, i32 8, i32 %t1493 %t1496 = getelementptr ptr, ptr null, i32 1 %t1497 = ptrtoint ptr %t1496 to i64 %t1498 = zext i32 %t1495 to i64 %t1499 = mul i64 %t1498, %t1497 %t1500 = load ptr, ptr %t1489 %t1501 = call ptr @realloc(ptr %t1500, i64 %t1499) store ptr %t1501, ptr %t1489 store i32 %t1495, ptr %t1488 br label %put372 put372: %t1502 = load ptr, ptr %t1489 %t1503 = getelementptr inbounds ptr, ptr %t1502, i32 %t1490 store ptr @.str7430, ptr %t1503 %t1504 = add i32 %t1490, 1 store i32 %t1504, ptr %t1487 %t1505 = load ptr, ptr %t427 %t1506 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 1 %t1507 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 2 %t1508 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 0 %t1509 = load i32, ptr %t1506 %t1510 = load i32, ptr %t1507 %t1511 = icmp sge i32 %t1509, %t1510 br i1 %t1511, label %grow373, label %put374 grow373: %t1512 = mul i32 %t1510, 2 %t1513 = icmp eq i32 %t1510, 0 %t1514 = select i1 %t1513, i32 8, i32 %t1512 %t1515 = getelementptr ptr, ptr null, i32 1 %t1516 = ptrtoint ptr %t1515 to i64 %t1517 = zext i32 %t1514 to i64 %t1518 = mul i64 %t1517, %t1516 %t1519 = load ptr, ptr %t1508 %t1520 = call ptr @realloc(ptr %t1519, i64 %t1518) store ptr %t1520, ptr %t1508 store i32 %t1514, ptr %t1507 br label %put374 put374: %t1521 = load ptr, ptr %t1508 %t1522 = getelementptr inbounds ptr, ptr %t1521, i32 %t1509 store ptr @.str7431, ptr %t1522 %t1523 = add i32 %t1509, 1 store i32 %t1523, ptr %t1506 %t1524 = load ptr, ptr %t427 %t1525 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 1 %t1526 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 2 %t1527 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 0 %t1528 = load i32, ptr %t1525 %t1529 = load i32, ptr %t1526 %t1530 = icmp sge i32 %t1528, %t1529 br i1 %t1530, label %grow375, label %put376 grow375: %t1531 = mul i32 %t1529, 2 %t1532 = icmp eq i32 %t1529, 0 %t1533 = select i1 %t1532, i32 8, i32 %t1531 %t1534 = getelementptr ptr, ptr null, i32 1 %t1535 = ptrtoint ptr %t1534 to i64 %t1536 = zext i32 %t1533 to i64 %t1537 = mul i64 %t1536, %t1535 %t1538 = load ptr, ptr %t1527 %t1539 = call ptr @realloc(ptr %t1538, i64 %t1537) store ptr %t1539, ptr %t1527 store i32 %t1533, ptr %t1526 br label %put376 put376: %t1540 = load ptr, ptr %t1527 %t1541 = getelementptr inbounds ptr, ptr %t1540, i32 %t1528 store ptr @.str7432, ptr %t1541 %t1542 = add i32 %t1528, 1 store i32 %t1542, ptr %t1525 %t1543 = load ptr, ptr %t427 %t1544 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 1 %t1545 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 2 %t1546 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 0 %t1547 = load i32, ptr %t1544 %t1548 = load i32, ptr %t1545 %t1549 = icmp sge i32 %t1547, %t1548 br i1 %t1549, label %grow377, label %put378 grow377: %t1550 = mul i32 %t1548, 2 %t1551 = icmp eq i32 %t1548, 0 %t1552 = select i1 %t1551, i32 8, i32 %t1550 %t1553 = getelementptr ptr, ptr null, i32 1 %t1554 = ptrtoint ptr %t1553 to i64 %t1555 = zext i32 %t1552 to i64 %t1556 = mul i64 %t1555, %t1554 %t1557 = load ptr, ptr %t1546 %t1558 = call ptr @realloc(ptr %t1557, i64 %t1556) store ptr %t1558, ptr %t1546 store i32 %t1552, ptr %t1545 br label %put378 put378: %t1559 = load ptr, ptr %t1546 %t1560 = getelementptr inbounds ptr, ptr %t1559, i32 %t1547 store ptr @.str7433, ptr %t1560 %t1561 = add i32 %t1547, 1 store i32 %t1561, ptr %t1544 %t1562 = load ptr, ptr %t427 %t1563 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 1 %t1564 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 2 %t1565 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 0 %t1566 = load i32, ptr %t1563 %t1567 = load i32, ptr %t1564 %t1568 = icmp sge i32 %t1566, %t1567 br i1 %t1568, label %grow379, label %put380 grow379: %t1569 = mul i32 %t1567, 2 %t1570 = icmp eq i32 %t1567, 0 %t1571 = select i1 %t1570, i32 8, i32 %t1569 %t1572 = getelementptr ptr, ptr null, i32 1 %t1573 = ptrtoint ptr %t1572 to i64 %t1574 = zext i32 %t1571 to i64 %t1575 = mul i64 %t1574, %t1573 %t1576 = load ptr, ptr %t1565 %t1577 = call ptr @realloc(ptr %t1576, i64 %t1575) store ptr %t1577, ptr %t1565 store i32 %t1571, ptr %t1564 br label %put380 put380: %t1578 = load ptr, ptr %t1565 %t1579 = getelementptr inbounds ptr, ptr %t1578, i32 %t1566 store ptr @.str7434, ptr %t1579 %t1580 = add i32 %t1566, 1 store i32 %t1580, ptr %t1563 %t1581 = load ptr, ptr %t427 %t1582 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 1 %t1583 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 2 %t1584 = getelementptr inbounds %LSlice, ptr %t1581, i32 0, i32 0 %t1585 = load i32, ptr %t1582 %t1586 = load i32, ptr %t1583 %t1587 = icmp sge i32 %t1585, %t1586 br i1 %t1587, label %grow381, label %put382 grow381: %t1588 = mul i32 %t1586, 2 %t1589 = icmp eq i32 %t1586, 0 %t1590 = select i1 %t1589, i32 8, i32 %t1588 %t1591 = getelementptr ptr, ptr null, i32 1 %t1592 = ptrtoint ptr %t1591 to i64 %t1593 = zext i32 %t1590 to i64 %t1594 = mul i64 %t1593, %t1592 %t1595 = load ptr, ptr %t1584 %t1596 = call ptr @realloc(ptr %t1595, i64 %t1594) store ptr %t1596, ptr %t1584 store i32 %t1590, ptr %t1583 br label %put382 put382: %t1597 = load ptr, ptr %t1584 %t1598 = getelementptr inbounds ptr, ptr %t1597, i32 %t1585 store ptr @.str7435, ptr %t1598 %t1599 = add i32 %t1585, 1 store i32 %t1599, ptr %t1582 %t1600 = load ptr, ptr %t427 %t1601 = getelementptr inbounds %LSlice, ptr %t1600, i32 0, i32 1 %t1602 = getelementptr inbounds %LSlice, ptr %t1600, i32 0, i32 2 %t1603 = getelementptr inbounds %LSlice, ptr %t1600, i32 0, i32 0 %t1604 = load i32, ptr %t1601 %t1605 = load i32, ptr %t1602 %t1606 = icmp sge i32 %t1604, %t1605 br i1 %t1606, label %grow383, label %put384 grow383: %t1607 = mul i32 %t1605, 2 %t1608 = icmp eq i32 %t1605, 0 %t1609 = select i1 %t1608, i32 8, i32 %t1607 %t1610 = getelementptr ptr, ptr null, i32 1 %t1611 = ptrtoint ptr %t1610 to i64 %t1612 = zext i32 %t1609 to i64 %t1613 = mul i64 %t1612, %t1611 %t1614 = load ptr, ptr %t1603 %t1615 = call ptr @realloc(ptr %t1614, i64 %t1613) store ptr %t1615, ptr %t1603 store i32 %t1609, ptr %t1602 br label %put384 put384: %t1616 = load ptr, ptr %t1603 %t1617 = getelementptr inbounds ptr, ptr %t1616, i32 %t1604 store ptr @.str7436, ptr %t1617 %t1618 = add i32 %t1604, 1 store i32 %t1618, ptr %t1601 br label %ifend370 ifend370: %t1619 = load ptr, ptr %t1 %t1620 = call i32 @lp_str_eq(ptr %t1619, ptr @.str7437) %t1621 = icmp ne i32 %t1620, 0 br i1 %t1621, label %then385, label %ifend387 then385: store ptr @.str7438, ptr %t420 %t1622 = load ptr, ptr %t427 %t1623 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 1 %t1624 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 2 %t1625 = getelementptr inbounds %LSlice, ptr %t1622, i32 0, i32 0 %t1626 = load i32, ptr %t1623 %t1627 = load i32, ptr %t1624 %t1628 = icmp sge i32 %t1626, %t1627 br i1 %t1628, label %grow388, label %put389 grow388: %t1629 = mul i32 %t1627, 2 %t1630 = icmp eq i32 %t1627, 0 %t1631 = select i1 %t1630, i32 8, i32 %t1629 %t1632 = getelementptr ptr, ptr null, i32 1 %t1633 = ptrtoint ptr %t1632 to i64 %t1634 = zext i32 %t1631 to i64 %t1635 = mul i64 %t1634, %t1633 %t1636 = load ptr, ptr %t1625 %t1637 = call ptr @realloc(ptr %t1636, i64 %t1635) store ptr %t1637, ptr %t1625 store i32 %t1631, ptr %t1624 br label %put389 put389: %t1638 = load ptr, ptr %t1625 %t1639 = getelementptr inbounds ptr, ptr %t1638, i32 %t1626 store ptr @.str7439, ptr %t1639 %t1640 = add i32 %t1626, 1 store i32 %t1640, ptr %t1623 %t1641 = load ptr, ptr %t427 %t1642 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 1 %t1643 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 2 %t1644 = getelementptr inbounds %LSlice, ptr %t1641, i32 0, i32 0 %t1645 = load i32, ptr %t1642 %t1646 = load i32, ptr %t1643 %t1647 = icmp sge i32 %t1645, %t1646 br i1 %t1647, label %grow390, label %put391 grow390: %t1648 = mul i32 %t1646, 2 %t1649 = icmp eq i32 %t1646, 0 %t1650 = select i1 %t1649, i32 8, i32 %t1648 %t1651 = getelementptr ptr, ptr null, i32 1 %t1652 = ptrtoint ptr %t1651 to i64 %t1653 = zext i32 %t1650 to i64 %t1654 = mul i64 %t1653, %t1652 %t1655 = load ptr, ptr %t1644 %t1656 = call ptr @realloc(ptr %t1655, i64 %t1654) store ptr %t1656, ptr %t1644 store i32 %t1650, ptr %t1643 br label %put391 put391: %t1657 = load ptr, ptr %t1644 %t1658 = getelementptr inbounds ptr, ptr %t1657, i32 %t1645 store ptr @.str7440, ptr %t1658 %t1659 = add i32 %t1645, 1 store i32 %t1659, ptr %t1642 %t1660 = load ptr, ptr %t427 %t1661 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 1 %t1662 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 2 %t1663 = getelementptr inbounds %LSlice, ptr %t1660, i32 0, i32 0 %t1664 = load i32, ptr %t1661 %t1665 = load i32, ptr %t1662 %t1666 = icmp sge i32 %t1664, %t1665 br i1 %t1666, label %grow392, label %put393 grow392: %t1667 = mul i32 %t1665, 2 %t1668 = icmp eq i32 %t1665, 0 %t1669 = select i1 %t1668, i32 8, i32 %t1667 %t1670 = getelementptr ptr, ptr null, i32 1 %t1671 = ptrtoint ptr %t1670 to i64 %t1672 = zext i32 %t1669 to i64 %t1673 = mul i64 %t1672, %t1671 %t1674 = load ptr, ptr %t1663 %t1675 = call ptr @realloc(ptr %t1674, i64 %t1673) store ptr %t1675, ptr %t1663 store i32 %t1669, ptr %t1662 br label %put393 put393: %t1676 = load ptr, ptr %t1663 %t1677 = getelementptr inbounds ptr, ptr %t1676, i32 %t1664 store ptr @.str7441, ptr %t1677 %t1678 = add i32 %t1664, 1 store i32 %t1678, ptr %t1661 br label %ifend387 ifend387: %t1679 = load ptr, ptr %t1 %t1680 = call i32 @lp_str_eq(ptr %t1679, ptr @.str7442) %t1681 = icmp ne i32 %t1680, 0 br i1 %t1681, label %then394, label %ifend396 then394: store ptr @.str7443, ptr %t420 %t1682 = load ptr, ptr %t427 %t1683 = getelementptr inbounds %LSlice, ptr %t1682, i32 0, i32 1 %t1684 = getelementptr inbounds %LSlice, ptr %t1682, i32 0, i32 2 %t1685 = getelementptr inbounds %LSlice, ptr %t1682, i32 0, i32 0 %t1686 = load i32, ptr %t1683 %t1687 = load i32, ptr %t1684 %t1688 = icmp sge i32 %t1686, %t1687 br i1 %t1688, label %grow397, label %put398 grow397: %t1689 = mul i32 %t1687, 2 %t1690 = icmp eq i32 %t1687, 0 %t1691 = select i1 %t1690, i32 8, i32 %t1689 %t1692 = getelementptr ptr, ptr null, i32 1 %t1693 = ptrtoint ptr %t1692 to i64 %t1694 = zext i32 %t1691 to i64 %t1695 = mul i64 %t1694, %t1693 %t1696 = load ptr, ptr %t1685 %t1697 = call ptr @realloc(ptr %t1696, i64 %t1695) store ptr %t1697, ptr %t1685 store i32 %t1691, ptr %t1684 br label %put398 put398: %t1698 = load ptr, ptr %t1685 %t1699 = getelementptr inbounds ptr, ptr %t1698, i32 %t1686 store ptr @.str7444, ptr %t1699 %t1700 = add i32 %t1686, 1 store i32 %t1700, ptr %t1683 %t1701 = load ptr, ptr %t427 %t1702 = getelementptr inbounds %LSlice, ptr %t1701, i32 0, i32 1 %t1703 = getelementptr inbounds %LSlice, ptr %t1701, i32 0, i32 2 %t1704 = getelementptr inbounds %LSlice, ptr %t1701, i32 0, i32 0 %t1705 = load i32, ptr %t1702 %t1706 = load i32, ptr %t1703 %t1707 = icmp sge i32 %t1705, %t1706 br i1 %t1707, label %grow399, label %put400 grow399: %t1708 = mul i32 %t1706, 2 %t1709 = icmp eq i32 %t1706, 0 %t1710 = select i1 %t1709, i32 8, i32 %t1708 %t1711 = getelementptr ptr, ptr null, i32 1 %t1712 = ptrtoint ptr %t1711 to i64 %t1713 = zext i32 %t1710 to i64 %t1714 = mul i64 %t1713, %t1712 %t1715 = load ptr, ptr %t1704 %t1716 = call ptr @realloc(ptr %t1715, i64 %t1714) store ptr %t1716, ptr %t1704 store i32 %t1710, ptr %t1703 br label %put400 put400: %t1717 = load ptr, ptr %t1704 %t1718 = getelementptr inbounds ptr, ptr %t1717, i32 %t1705 store ptr @.str7445, ptr %t1718 %t1719 = add i32 %t1705, 1 store i32 %t1719, ptr %t1702 %t1720 = load ptr, ptr %t427 %t1721 = getelementptr inbounds %LSlice, ptr %t1720, i32 0, i32 1 %t1722 = getelementptr inbounds %LSlice, ptr %t1720, i32 0, i32 2 %t1723 = getelementptr inbounds %LSlice, ptr %t1720, i32 0, i32 0 %t1724 = load i32, ptr %t1721 %t1725 = load i32, ptr %t1722 %t1726 = icmp sge i32 %t1724, %t1725 br i1 %t1726, label %grow401, label %put402 grow401: %t1727 = mul i32 %t1725, 2 %t1728 = icmp eq i32 %t1725, 0 %t1729 = select i1 %t1728, i32 8, i32 %t1727 %t1730 = getelementptr ptr, ptr null, i32 1 %t1731 = ptrtoint ptr %t1730 to i64 %t1732 = zext i32 %t1729 to i64 %t1733 = mul i64 %t1732, %t1731 %t1734 = load ptr, ptr %t1723 %t1735 = call ptr @realloc(ptr %t1734, i64 %t1733) store ptr %t1735, ptr %t1723 store i32 %t1729, ptr %t1722 br label %put402 put402: %t1736 = load ptr, ptr %t1723 %t1737 = getelementptr inbounds ptr, ptr %t1736, i32 %t1724 store ptr @.str7446, ptr %t1737 %t1738 = add i32 %t1724, 1 store i32 %t1738, ptr %t1721 %t1739 = load ptr, ptr %t427 %t1740 = getelementptr inbounds %LSlice, ptr %t1739, i32 0, i32 1 %t1741 = getelementptr inbounds %LSlice, ptr %t1739, i32 0, i32 2 %t1742 = getelementptr inbounds %LSlice, ptr %t1739, i32 0, i32 0 %t1743 = load i32, ptr %t1740 %t1744 = load i32, ptr %t1741 %t1745 = icmp sge i32 %t1743, %t1744 br i1 %t1745, label %grow403, label %put404 grow403: %t1746 = mul i32 %t1744, 2 %t1747 = icmp eq i32 %t1744, 0 %t1748 = select i1 %t1747, i32 8, i32 %t1746 %t1749 = getelementptr ptr, ptr null, i32 1 %t1750 = ptrtoint ptr %t1749 to i64 %t1751 = zext i32 %t1748 to i64 %t1752 = mul i64 %t1751, %t1750 %t1753 = load ptr, ptr %t1742 %t1754 = call ptr @realloc(ptr %t1753, i64 %t1752) store ptr %t1754, ptr %t1742 store i32 %t1748, ptr %t1741 br label %put404 put404: %t1755 = load ptr, ptr %t1742 %t1756 = getelementptr inbounds ptr, ptr %t1755, i32 %t1743 store ptr @.str7447, ptr %t1756 %t1757 = add i32 %t1743, 1 store i32 %t1757, ptr %t1740 br label %ifend396 ifend396: %t1758 = load ptr, ptr %t1 %t1759 = call i32 @lp_str_eq(ptr %t1758, ptr @.str7448) %t1760 = icmp ne i32 %t1759, 0 br i1 %t1760, label %then405, label %ifend407 then405: store ptr @.str7449, ptr %t420 %t1761 = load ptr, ptr %t427 %t1762 = getelementptr inbounds %LSlice, ptr %t1761, i32 0, i32 1 %t1763 = getelementptr inbounds %LSlice, ptr %t1761, i32 0, i32 2 %t1764 = getelementptr inbounds %LSlice, ptr %t1761, i32 0, i32 0 %t1765 = load i32, ptr %t1762 %t1766 = load i32, ptr %t1763 %t1767 = icmp sge i32 %t1765, %t1766 br i1 %t1767, label %grow408, label %put409 grow408: %t1768 = mul i32 %t1766, 2 %t1769 = icmp eq i32 %t1766, 0 %t1770 = select i1 %t1769, i32 8, i32 %t1768 %t1771 = getelementptr ptr, ptr null, i32 1 %t1772 = ptrtoint ptr %t1771 to i64 %t1773 = zext i32 %t1770 to i64 %t1774 = mul i64 %t1773, %t1772 %t1775 = load ptr, ptr %t1764 %t1776 = call ptr @realloc(ptr %t1775, i64 %t1774) store ptr %t1776, ptr %t1764 store i32 %t1770, ptr %t1763 br label %put409 put409: %t1777 = load ptr, ptr %t1764 %t1778 = getelementptr inbounds ptr, ptr %t1777, i32 %t1765 store ptr @.str7450, ptr %t1778 %t1779 = add i32 %t1765, 1 store i32 %t1779, ptr %t1762 %t1780 = load ptr, ptr %t427 %t1781 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 1 %t1782 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 2 %t1783 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 0 %t1784 = load i32, ptr %t1781 %t1785 = load i32, ptr %t1782 %t1786 = icmp sge i32 %t1784, %t1785 br i1 %t1786, label %grow410, label %put411 grow410: %t1787 = mul i32 %t1785, 2 %t1788 = icmp eq i32 %t1785, 0 %t1789 = select i1 %t1788, i32 8, i32 %t1787 %t1790 = getelementptr ptr, ptr null, i32 1 %t1791 = ptrtoint ptr %t1790 to i64 %t1792 = zext i32 %t1789 to i64 %t1793 = mul i64 %t1792, %t1791 %t1794 = load ptr, ptr %t1783 %t1795 = call ptr @realloc(ptr %t1794, i64 %t1793) store ptr %t1795, ptr %t1783 store i32 %t1789, ptr %t1782 br label %put411 put411: %t1796 = load ptr, ptr %t1783 %t1797 = getelementptr inbounds ptr, ptr %t1796, i32 %t1784 store ptr @.str7451, ptr %t1797 %t1798 = add i32 %t1784, 1 store i32 %t1798, ptr %t1781 %t1799 = load ptr, ptr %t427 %t1800 = getelementptr inbounds %LSlice, ptr %t1799, i32 0, i32 1 %t1801 = getelementptr inbounds %LSlice, ptr %t1799, i32 0, i32 2 %t1802 = getelementptr inbounds %LSlice, ptr %t1799, i32 0, i32 0 %t1803 = load i32, ptr %t1800 %t1804 = load i32, ptr %t1801 %t1805 = icmp sge i32 %t1803, %t1804 br i1 %t1805, label %grow412, label %put413 grow412: %t1806 = mul i32 %t1804, 2 %t1807 = icmp eq i32 %t1804, 0 %t1808 = select i1 %t1807, i32 8, i32 %t1806 %t1809 = getelementptr ptr, ptr null, i32 1 %t1810 = ptrtoint ptr %t1809 to i64 %t1811 = zext i32 %t1808 to i64 %t1812 = mul i64 %t1811, %t1810 %t1813 = load ptr, ptr %t1802 %t1814 = call ptr @realloc(ptr %t1813, i64 %t1812) store ptr %t1814, ptr %t1802 store i32 %t1808, ptr %t1801 br label %put413 put413: %t1815 = load ptr, ptr %t1802 %t1816 = getelementptr inbounds ptr, ptr %t1815, i32 %t1803 store ptr @.str7452, ptr %t1816 %t1817 = add i32 %t1803, 1 store i32 %t1817, ptr %t1800 %t1818 = load ptr, ptr %t427 %t1819 = getelementptr inbounds %LSlice, ptr %t1818, i32 0, i32 1 %t1820 = getelementptr inbounds %LSlice, ptr %t1818, i32 0, i32 2 %t1821 = getelementptr inbounds %LSlice, ptr %t1818, i32 0, i32 0 %t1822 = load i32, ptr %t1819 %t1823 = load i32, ptr %t1820 %t1824 = icmp sge i32 %t1822, %t1823 br i1 %t1824, label %grow414, label %put415 grow414: %t1825 = mul i32 %t1823, 2 %t1826 = icmp eq i32 %t1823, 0 %t1827 = select i1 %t1826, i32 8, i32 %t1825 %t1828 = getelementptr ptr, ptr null, i32 1 %t1829 = ptrtoint ptr %t1828 to i64 %t1830 = zext i32 %t1827 to i64 %t1831 = mul i64 %t1830, %t1829 %t1832 = load ptr, ptr %t1821 %t1833 = call ptr @realloc(ptr %t1832, i64 %t1831) store ptr %t1833, ptr %t1821 store i32 %t1827, ptr %t1820 br label %put415 put415: %t1834 = load ptr, ptr %t1821 %t1835 = getelementptr inbounds ptr, ptr %t1834, i32 %t1822 store ptr @.str7453, ptr %t1835 %t1836 = add i32 %t1822, 1 store i32 %t1836, ptr %t1819 %t1837 = load ptr, ptr %t427 %t1838 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 1 %t1839 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 2 %t1840 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 0 %t1841 = load i32, ptr %t1838 %t1842 = load i32, ptr %t1839 %t1843 = icmp sge i32 %t1841, %t1842 br i1 %t1843, label %grow416, label %put417 grow416: %t1844 = mul i32 %t1842, 2 %t1845 = icmp eq i32 %t1842, 0 %t1846 = select i1 %t1845, i32 8, i32 %t1844 %t1847 = getelementptr ptr, ptr null, i32 1 %t1848 = ptrtoint ptr %t1847 to i64 %t1849 = zext i32 %t1846 to i64 %t1850 = mul i64 %t1849, %t1848 %t1851 = load ptr, ptr %t1840 %t1852 = call ptr @realloc(ptr %t1851, i64 %t1850) store ptr %t1852, ptr %t1840 store i32 %t1846, ptr %t1839 br label %put417 put417: %t1853 = load ptr, ptr %t1840 %t1854 = getelementptr inbounds ptr, ptr %t1853, i32 %t1841 store ptr @.str7454, ptr %t1854 %t1855 = add i32 %t1841, 1 store i32 %t1855, ptr %t1838 br label %ifend407 ifend407: %t1856 = load ptr, ptr %t1 %t1857 = call i32 @lp_str_eq(ptr %t1856, ptr @.str7455) %t1858 = icmp ne i32 %t1857, 0 br i1 %t1858, label %then418, label %ifend420 then418: store ptr @.str7456, ptr %t420 %t1859 = load ptr, ptr %t427 %t1860 = getelementptr inbounds %LSlice, ptr %t1859, i32 0, i32 1 %t1861 = getelementptr inbounds %LSlice, ptr %t1859, i32 0, i32 2 %t1862 = getelementptr inbounds %LSlice, ptr %t1859, i32 0, i32 0 %t1863 = load i32, ptr %t1860 %t1864 = load i32, ptr %t1861 %t1865 = icmp sge i32 %t1863, %t1864 br i1 %t1865, label %grow421, label %put422 grow421: %t1866 = mul i32 %t1864, 2 %t1867 = icmp eq i32 %t1864, 0 %t1868 = select i1 %t1867, i32 8, i32 %t1866 %t1869 = getelementptr ptr, ptr null, i32 1 %t1870 = ptrtoint ptr %t1869 to i64 %t1871 = zext i32 %t1868 to i64 %t1872 = mul i64 %t1871, %t1870 %t1873 = load ptr, ptr %t1862 %t1874 = call ptr @realloc(ptr %t1873, i64 %t1872) store ptr %t1874, ptr %t1862 store i32 %t1868, ptr %t1861 br label %put422 put422: %t1875 = load ptr, ptr %t1862 %t1876 = getelementptr inbounds ptr, ptr %t1875, i32 %t1863 store ptr @.str7457, ptr %t1876 %t1877 = add i32 %t1863, 1 store i32 %t1877, ptr %t1860 %t1878 = load ptr, ptr %t427 %t1879 = getelementptr inbounds %LSlice, ptr %t1878, i32 0, i32 1 %t1880 = getelementptr inbounds %LSlice, ptr %t1878, i32 0, i32 2 %t1881 = getelementptr inbounds %LSlice, ptr %t1878, i32 0, i32 0 %t1882 = load i32, ptr %t1879 %t1883 = load i32, ptr %t1880 %t1884 = icmp sge i32 %t1882, %t1883 br i1 %t1884, label %grow423, label %put424 grow423: %t1885 = mul i32 %t1883, 2 %t1886 = icmp eq i32 %t1883, 0 %t1887 = select i1 %t1886, i32 8, i32 %t1885 %t1888 = getelementptr ptr, ptr null, i32 1 %t1889 = ptrtoint ptr %t1888 to i64 %t1890 = zext i32 %t1887 to i64 %t1891 = mul i64 %t1890, %t1889 %t1892 = load ptr, ptr %t1881 %t1893 = call ptr @realloc(ptr %t1892, i64 %t1891) store ptr %t1893, ptr %t1881 store i32 %t1887, ptr %t1880 br label %put424 put424: %t1894 = load ptr, ptr %t1881 %t1895 = getelementptr inbounds ptr, ptr %t1894, i32 %t1882 store ptr @.str7458, ptr %t1895 %t1896 = add i32 %t1882, 1 store i32 %t1896, ptr %t1879 br label %ifend420 ifend420: %t1897 = load ptr, ptr %t1 %t1898 = call i32 @lp_str_eq(ptr %t1897, ptr @.str7459) %t1899 = icmp ne i32 %t1898, 0 br i1 %t1899, label %then425, label %ifend427 then425: store ptr @.str7460, ptr %t420 %t1900 = load ptr, ptr %t427 %t1901 = getelementptr inbounds %LSlice, ptr %t1900, i32 0, i32 1 %t1902 = getelementptr inbounds %LSlice, ptr %t1900, i32 0, i32 2 %t1903 = getelementptr inbounds %LSlice, ptr %t1900, i32 0, i32 0 %t1904 = load i32, ptr %t1901 %t1905 = load i32, ptr %t1902 %t1906 = icmp sge i32 %t1904, %t1905 br i1 %t1906, label %grow428, label %put429 grow428: %t1907 = mul i32 %t1905, 2 %t1908 = icmp eq i32 %t1905, 0 %t1909 = select i1 %t1908, i32 8, i32 %t1907 %t1910 = getelementptr ptr, ptr null, i32 1 %t1911 = ptrtoint ptr %t1910 to i64 %t1912 = zext i32 %t1909 to i64 %t1913 = mul i64 %t1912, %t1911 %t1914 = load ptr, ptr %t1903 %t1915 = call ptr @realloc(ptr %t1914, i64 %t1913) store ptr %t1915, ptr %t1903 store i32 %t1909, ptr %t1902 br label %put429 put429: %t1916 = load ptr, ptr %t1903 %t1917 = getelementptr inbounds ptr, ptr %t1916, i32 %t1904 store ptr @.str7461, ptr %t1917 %t1918 = add i32 %t1904, 1 store i32 %t1918, ptr %t1901 %t1919 = load ptr, ptr %t427 %t1920 = getelementptr inbounds %LSlice, ptr %t1919, i32 0, i32 1 %t1921 = getelementptr inbounds %LSlice, ptr %t1919, i32 0, i32 2 %t1922 = getelementptr inbounds %LSlice, ptr %t1919, i32 0, i32 0 %t1923 = load i32, ptr %t1920 %t1924 = load i32, ptr %t1921 %t1925 = icmp sge i32 %t1923, %t1924 br i1 %t1925, label %grow430, label %put431 grow430: %t1926 = mul i32 %t1924, 2 %t1927 = icmp eq i32 %t1924, 0 %t1928 = select i1 %t1927, i32 8, i32 %t1926 %t1929 = getelementptr ptr, ptr null, i32 1 %t1930 = ptrtoint ptr %t1929 to i64 %t1931 = zext i32 %t1928 to i64 %t1932 = mul i64 %t1931, %t1930 %t1933 = load ptr, ptr %t1922 %t1934 = call ptr @realloc(ptr %t1933, i64 %t1932) store ptr %t1934, ptr %t1922 store i32 %t1928, ptr %t1921 br label %put431 put431: %t1935 = load ptr, ptr %t1922 %t1936 = getelementptr inbounds ptr, ptr %t1935, i32 %t1923 store ptr @.str7462, ptr %t1936 %t1937 = add i32 %t1923, 1 store i32 %t1937, ptr %t1920 %t1938 = load ptr, ptr %t427 %t1939 = getelementptr inbounds %LSlice, ptr %t1938, i32 0, i32 1 %t1940 = getelementptr inbounds %LSlice, ptr %t1938, i32 0, i32 2 %t1941 = getelementptr inbounds %LSlice, ptr %t1938, i32 0, i32 0 %t1942 = load i32, ptr %t1939 %t1943 = load i32, ptr %t1940 %t1944 = icmp sge i32 %t1942, %t1943 br i1 %t1944, label %grow432, label %put433 grow432: %t1945 = mul i32 %t1943, 2 %t1946 = icmp eq i32 %t1943, 0 %t1947 = select i1 %t1946, i32 8, i32 %t1945 %t1948 = getelementptr ptr, ptr null, i32 1 %t1949 = ptrtoint ptr %t1948 to i64 %t1950 = zext i32 %t1947 to i64 %t1951 = mul i64 %t1950, %t1949 %t1952 = load ptr, ptr %t1941 %t1953 = call ptr @realloc(ptr %t1952, i64 %t1951) store ptr %t1953, ptr %t1941 store i32 %t1947, ptr %t1940 br label %put433 put433: %t1954 = load ptr, ptr %t1941 %t1955 = getelementptr inbounds ptr, ptr %t1954, i32 %t1942 store ptr @.str7463, ptr %t1955 %t1956 = add i32 %t1942, 1 store i32 %t1956, ptr %t1939 %t1957 = load ptr, ptr %t427 %t1958 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 1 %t1959 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 2 %t1960 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 0 %t1961 = load i32, ptr %t1958 %t1962 = load i32, ptr %t1959 %t1963 = icmp sge i32 %t1961, %t1962 br i1 %t1963, label %grow434, label %put435 grow434: %t1964 = mul i32 %t1962, 2 %t1965 = icmp eq i32 %t1962, 0 %t1966 = select i1 %t1965, i32 8, i32 %t1964 %t1967 = getelementptr ptr, ptr null, i32 1 %t1968 = ptrtoint ptr %t1967 to i64 %t1969 = zext i32 %t1966 to i64 %t1970 = mul i64 %t1969, %t1968 %t1971 = load ptr, ptr %t1960 %t1972 = call ptr @realloc(ptr %t1971, i64 %t1970) store ptr %t1972, ptr %t1960 store i32 %t1966, ptr %t1959 br label %put435 put435: %t1973 = load ptr, ptr %t1960 %t1974 = getelementptr inbounds ptr, ptr %t1973, i32 %t1961 store ptr @.str7464, ptr %t1974 %t1975 = add i32 %t1961, 1 store i32 %t1975, ptr %t1958 br label %ifend427 ifend427: %t1976 = load ptr, ptr %t1 %t1977 = call i32 @lp_str_eq(ptr %t1976, ptr @.str7465) %t1978 = icmp ne i32 %t1977, 0 br i1 %t1978, label %then436, label %ifend438 then436: store ptr @.str7466, ptr %t420 br label %ifend438 ifend438: %t1979 = load ptr, ptr %t1 %t1980 = call i32 @lp_str_eq(ptr %t1979, ptr @.str7467) %t1981 = icmp ne i32 %t1980, 0 br i1 %t1981, label %then439, label %ifend441 then439: store ptr @.str7468, ptr %t420 %t1982 = load ptr, ptr %t427 %t1983 = getelementptr inbounds %LSlice, ptr %t1982, i32 0, i32 1 %t1984 = getelementptr inbounds %LSlice, ptr %t1982, i32 0, i32 2 %t1985 = getelementptr inbounds %LSlice, ptr %t1982, i32 0, i32 0 %t1986 = load i32, ptr %t1983 %t1987 = load i32, ptr %t1984 %t1988 = icmp sge i32 %t1986, %t1987 br i1 %t1988, label %grow442, label %put443 grow442: %t1989 = mul i32 %t1987, 2 %t1990 = icmp eq i32 %t1987, 0 %t1991 = select i1 %t1990, i32 8, i32 %t1989 %t1992 = getelementptr ptr, ptr null, i32 1 %t1993 = ptrtoint ptr %t1992 to i64 %t1994 = zext i32 %t1991 to i64 %t1995 = mul i64 %t1994, %t1993 %t1996 = load ptr, ptr %t1985 %t1997 = call ptr @realloc(ptr %t1996, i64 %t1995) store ptr %t1997, ptr %t1985 store i32 %t1991, ptr %t1984 br label %put443 put443: %t1998 = load ptr, ptr %t1985 %t1999 = getelementptr inbounds ptr, ptr %t1998, i32 %t1986 store ptr @.str7469, ptr %t1999 %t2000 = add i32 %t1986, 1 store i32 %t2000, ptr %t1983 br label %ifend441 ifend441: %t2001 = load ptr, ptr %t1 %t2002 = call i32 @lp_str_eq(ptr %t2001, ptr @.str7470) %t2003 = icmp ne i32 %t2002, 0 br i1 %t2003, label %then444, label %ifend446 then444: store ptr @.str7471, ptr %t420 %t2004 = load ptr, ptr %t427 %t2005 = getelementptr inbounds %LSlice, ptr %t2004, i32 0, i32 1 %t2006 = getelementptr inbounds %LSlice, ptr %t2004, i32 0, i32 2 %t2007 = getelementptr inbounds %LSlice, ptr %t2004, i32 0, i32 0 %t2008 = load i32, ptr %t2005 %t2009 = load i32, ptr %t2006 %t2010 = icmp sge i32 %t2008, %t2009 br i1 %t2010, label %grow447, label %put448 grow447: %t2011 = mul i32 %t2009, 2 %t2012 = icmp eq i32 %t2009, 0 %t2013 = select i1 %t2012, i32 8, i32 %t2011 %t2014 = getelementptr ptr, ptr null, i32 1 %t2015 = ptrtoint ptr %t2014 to i64 %t2016 = zext i32 %t2013 to i64 %t2017 = mul i64 %t2016, %t2015 %t2018 = load ptr, ptr %t2007 %t2019 = call ptr @realloc(ptr %t2018, i64 %t2017) store ptr %t2019, ptr %t2007 store i32 %t2013, ptr %t2006 br label %put448 put448: %t2020 = load ptr, ptr %t2007 %t2021 = getelementptr inbounds ptr, ptr %t2020, i32 %t2008 store ptr @.str7472, ptr %t2021 %t2022 = add i32 %t2008, 1 store i32 %t2022, ptr %t2005 br label %ifend446 ifend446: %t2023 = load ptr, ptr %t1 %t2024 = call i32 @lp_str_eq(ptr %t2023, ptr @.str7473) %t2025 = icmp ne i32 %t2024, 0 br i1 %t2025, label %then449, label %ifend451 then449: store ptr @.str7474, ptr %t420 %t2026 = load ptr, ptr %t427 %t2027 = getelementptr inbounds %LSlice, ptr %t2026, i32 0, i32 1 %t2028 = getelementptr inbounds %LSlice, ptr %t2026, i32 0, i32 2 %t2029 = getelementptr inbounds %LSlice, ptr %t2026, i32 0, i32 0 %t2030 = load i32, ptr %t2027 %t2031 = load i32, ptr %t2028 %t2032 = icmp sge i32 %t2030, %t2031 br i1 %t2032, label %grow452, label %put453 grow452: %t2033 = mul i32 %t2031, 2 %t2034 = icmp eq i32 %t2031, 0 %t2035 = select i1 %t2034, i32 8, i32 %t2033 %t2036 = getelementptr ptr, ptr null, i32 1 %t2037 = ptrtoint ptr %t2036 to i64 %t2038 = zext i32 %t2035 to i64 %t2039 = mul i64 %t2038, %t2037 %t2040 = load ptr, ptr %t2029 %t2041 = call ptr @realloc(ptr %t2040, i64 %t2039) store ptr %t2041, ptr %t2029 store i32 %t2035, ptr %t2028 br label %put453 put453: %t2042 = load ptr, ptr %t2029 %t2043 = getelementptr inbounds ptr, ptr %t2042, i32 %t2030 store ptr @.str7475, ptr %t2043 %t2044 = add i32 %t2030, 1 store i32 %t2044, ptr %t2027 %t2045 = load ptr, ptr %t427 %t2046 = getelementptr inbounds %LSlice, ptr %t2045, i32 0, i32 1 %t2047 = getelementptr inbounds %LSlice, ptr %t2045, i32 0, i32 2 %t2048 = getelementptr inbounds %LSlice, ptr %t2045, i32 0, i32 0 %t2049 = load i32, ptr %t2046 %t2050 = load i32, ptr %t2047 %t2051 = icmp sge i32 %t2049, %t2050 br i1 %t2051, label %grow454, label %put455 grow454: %t2052 = mul i32 %t2050, 2 %t2053 = icmp eq i32 %t2050, 0 %t2054 = select i1 %t2053, i32 8, i32 %t2052 %t2055 = getelementptr ptr, ptr null, i32 1 %t2056 = ptrtoint ptr %t2055 to i64 %t2057 = zext i32 %t2054 to i64 %t2058 = mul i64 %t2057, %t2056 %t2059 = load ptr, ptr %t2048 %t2060 = call ptr @realloc(ptr %t2059, i64 %t2058) store ptr %t2060, ptr %t2048 store i32 %t2054, ptr %t2047 br label %put455 put455: %t2061 = load ptr, ptr %t2048 %t2062 = getelementptr inbounds ptr, ptr %t2061, i32 %t2049 store ptr @.str7476, ptr %t2062 %t2063 = add i32 %t2049, 1 store i32 %t2063, ptr %t2046 br label %ifend451 ifend451: br label %ifend216 ifend216: %t2064 = load ptr, ptr %t0 %t2065 = call i32 @lp_str_eq(ptr %t2064, ptr @.str7477) %t2066 = icmp ne i32 %t2065, 0 br i1 %t2066, label %then456, label %ifend458 then456: %t2067 = load ptr, ptr %t1 %t2068 = call i32 @lp_str_eq(ptr %t2067, ptr @.str7478) %t2069 = icmp ne i32 %t2068, 0 br i1 %t2069, label %then459, label %ifend461 then459: store ptr @.str7479, ptr %t420 %t2070 = load ptr, ptr %t427 %t2071 = getelementptr inbounds %LSlice, ptr %t2070, i32 0, i32 1 %t2072 = getelementptr inbounds %LSlice, ptr %t2070, i32 0, i32 2 %t2073 = getelementptr inbounds %LSlice, ptr %t2070, i32 0, i32 0 %t2074 = load i32, ptr %t2071 %t2075 = load i32, ptr %t2072 %t2076 = icmp sge i32 %t2074, %t2075 br i1 %t2076, label %grow462, label %put463 grow462: %t2077 = mul i32 %t2075, 2 %t2078 = icmp eq i32 %t2075, 0 %t2079 = select i1 %t2078, i32 8, i32 %t2077 %t2080 = getelementptr ptr, ptr null, i32 1 %t2081 = ptrtoint ptr %t2080 to i64 %t2082 = zext i32 %t2079 to i64 %t2083 = mul i64 %t2082, %t2081 %t2084 = load ptr, ptr %t2073 %t2085 = call ptr @realloc(ptr %t2084, i64 %t2083) store ptr %t2085, ptr %t2073 store i32 %t2079, ptr %t2072 br label %put463 put463: %t2086 = load ptr, ptr %t2073 %t2087 = getelementptr inbounds ptr, ptr %t2086, i32 %t2074 store ptr @.str7480, ptr %t2087 %t2088 = add i32 %t2074, 1 store i32 %t2088, ptr %t2071 %t2089 = load ptr, ptr %t427 %t2090 = getelementptr inbounds %LSlice, ptr %t2089, i32 0, i32 1 %t2091 = getelementptr inbounds %LSlice, ptr %t2089, i32 0, i32 2 %t2092 = getelementptr inbounds %LSlice, ptr %t2089, i32 0, i32 0 %t2093 = load i32, ptr %t2090 %t2094 = load i32, ptr %t2091 %t2095 = icmp sge i32 %t2093, %t2094 br i1 %t2095, label %grow464, label %put465 grow464: %t2096 = mul i32 %t2094, 2 %t2097 = icmp eq i32 %t2094, 0 %t2098 = select i1 %t2097, i32 8, i32 %t2096 %t2099 = getelementptr ptr, ptr null, i32 1 %t2100 = ptrtoint ptr %t2099 to i64 %t2101 = zext i32 %t2098 to i64 %t2102 = mul i64 %t2101, %t2100 %t2103 = load ptr, ptr %t2092 %t2104 = call ptr @realloc(ptr %t2103, i64 %t2102) store ptr %t2104, ptr %t2092 store i32 %t2098, ptr %t2091 br label %put465 put465: %t2105 = load ptr, ptr %t2092 %t2106 = getelementptr inbounds ptr, ptr %t2105, i32 %t2093 store ptr @.str7481, ptr %t2106 %t2107 = add i32 %t2093, 1 store i32 %t2107, ptr %t2090 %t2108 = load ptr, ptr %t427 %t2109 = getelementptr inbounds %LSlice, ptr %t2108, i32 0, i32 1 %t2110 = getelementptr inbounds %LSlice, ptr %t2108, i32 0, i32 2 %t2111 = getelementptr inbounds %LSlice, ptr %t2108, i32 0, i32 0 %t2112 = load i32, ptr %t2109 %t2113 = load i32, ptr %t2110 %t2114 = icmp sge i32 %t2112, %t2113 br i1 %t2114, label %grow466, label %put467 grow466: %t2115 = mul i32 %t2113, 2 %t2116 = icmp eq i32 %t2113, 0 %t2117 = select i1 %t2116, i32 8, i32 %t2115 %t2118 = getelementptr ptr, ptr null, i32 1 %t2119 = ptrtoint ptr %t2118 to i64 %t2120 = zext i32 %t2117 to i64 %t2121 = mul i64 %t2120, %t2119 %t2122 = load ptr, ptr %t2111 %t2123 = call ptr @realloc(ptr %t2122, i64 %t2121) store ptr %t2123, ptr %t2111 store i32 %t2117, ptr %t2110 br label %put467 put467: %t2124 = load ptr, ptr %t2111 %t2125 = getelementptr inbounds ptr, ptr %t2124, i32 %t2112 store ptr @.str7482, ptr %t2125 %t2126 = add i32 %t2112, 1 store i32 %t2126, ptr %t2109 br label %ifend461 ifend461: %t2127 = load ptr, ptr %t1 %t2128 = call i32 @lp_str_eq(ptr %t2127, ptr @.str7483) %t2129 = icmp ne i32 %t2128, 0 br i1 %t2129, label %then468, label %ifend470 then468: store ptr @.str7484, ptr %t420 %t2130 = load ptr, ptr %t427 %t2131 = getelementptr inbounds %LSlice, ptr %t2130, i32 0, i32 1 %t2132 = getelementptr inbounds %LSlice, ptr %t2130, i32 0, i32 2 %t2133 = getelementptr inbounds %LSlice, ptr %t2130, i32 0, i32 0 %t2134 = load i32, ptr %t2131 %t2135 = load i32, ptr %t2132 %t2136 = icmp sge i32 %t2134, %t2135 br i1 %t2136, label %grow471, label %put472 grow471: %t2137 = mul i32 %t2135, 2 %t2138 = icmp eq i32 %t2135, 0 %t2139 = select i1 %t2138, i32 8, i32 %t2137 %t2140 = getelementptr ptr, ptr null, i32 1 %t2141 = ptrtoint ptr %t2140 to i64 %t2142 = zext i32 %t2139 to i64 %t2143 = mul i64 %t2142, %t2141 %t2144 = load ptr, ptr %t2133 %t2145 = call ptr @realloc(ptr %t2144, i64 %t2143) store ptr %t2145, ptr %t2133 store i32 %t2139, ptr %t2132 br label %put472 put472: %t2146 = load ptr, ptr %t2133 %t2147 = getelementptr inbounds ptr, ptr %t2146, i32 %t2134 store ptr @.str7485, ptr %t2147 %t2148 = add i32 %t2134, 1 store i32 %t2148, ptr %t2131 %t2149 = load ptr, ptr %t427 %t2150 = getelementptr inbounds %LSlice, ptr %t2149, i32 0, i32 1 %t2151 = getelementptr inbounds %LSlice, ptr %t2149, i32 0, i32 2 %t2152 = getelementptr inbounds %LSlice, ptr %t2149, i32 0, i32 0 %t2153 = load i32, ptr %t2150 %t2154 = load i32, ptr %t2151 %t2155 = icmp sge i32 %t2153, %t2154 br i1 %t2155, label %grow473, label %put474 grow473: %t2156 = mul i32 %t2154, 2 %t2157 = icmp eq i32 %t2154, 0 %t2158 = select i1 %t2157, i32 8, i32 %t2156 %t2159 = getelementptr ptr, ptr null, i32 1 %t2160 = ptrtoint ptr %t2159 to i64 %t2161 = zext i32 %t2158 to i64 %t2162 = mul i64 %t2161, %t2160 %t2163 = load ptr, ptr %t2152 %t2164 = call ptr @realloc(ptr %t2163, i64 %t2162) store ptr %t2164, ptr %t2152 store i32 %t2158, ptr %t2151 br label %put474 put474: %t2165 = load ptr, ptr %t2152 %t2166 = getelementptr inbounds ptr, ptr %t2165, i32 %t2153 store ptr @.str7486, ptr %t2166 %t2167 = add i32 %t2153, 1 store i32 %t2167, ptr %t2150 %t2168 = load ptr, ptr %t427 %t2169 = getelementptr inbounds %LSlice, ptr %t2168, i32 0, i32 1 %t2170 = getelementptr inbounds %LSlice, ptr %t2168, i32 0, i32 2 %t2171 = getelementptr inbounds %LSlice, ptr %t2168, i32 0, i32 0 %t2172 = load i32, ptr %t2169 %t2173 = load i32, ptr %t2170 %t2174 = icmp sge i32 %t2172, %t2173 br i1 %t2174, label %grow475, label %put476 grow475: %t2175 = mul i32 %t2173, 2 %t2176 = icmp eq i32 %t2173, 0 %t2177 = select i1 %t2176, i32 8, i32 %t2175 %t2178 = getelementptr ptr, ptr null, i32 1 %t2179 = ptrtoint ptr %t2178 to i64 %t2180 = zext i32 %t2177 to i64 %t2181 = mul i64 %t2180, %t2179 %t2182 = load ptr, ptr %t2171 %t2183 = call ptr @realloc(ptr %t2182, i64 %t2181) store ptr %t2183, ptr %t2171 store i32 %t2177, ptr %t2170 br label %put476 put476: %t2184 = load ptr, ptr %t2171 %t2185 = getelementptr inbounds ptr, ptr %t2184, i32 %t2172 store ptr @.str7487, ptr %t2185 %t2186 = add i32 %t2172, 1 store i32 %t2186, ptr %t2169 br label %ifend470 ifend470: %t2187 = load ptr, ptr %t1 %t2188 = call i32 @lp_str_eq(ptr %t2187, ptr @.str7488) %t2189 = icmp ne i32 %t2188, 0 br i1 %t2189, label %then477, label %ifend479 then477: store ptr @.str7489, ptr %t420 %t2190 = load ptr, ptr %t427 %t2191 = getelementptr inbounds %LSlice, ptr %t2190, i32 0, i32 1 %t2192 = getelementptr inbounds %LSlice, ptr %t2190, i32 0, i32 2 %t2193 = getelementptr inbounds %LSlice, ptr %t2190, i32 0, i32 0 %t2194 = load i32, ptr %t2191 %t2195 = load i32, ptr %t2192 %t2196 = icmp sge i32 %t2194, %t2195 br i1 %t2196, label %grow480, label %put481 grow480: %t2197 = mul i32 %t2195, 2 %t2198 = icmp eq i32 %t2195, 0 %t2199 = select i1 %t2198, i32 8, i32 %t2197 %t2200 = getelementptr ptr, ptr null, i32 1 %t2201 = ptrtoint ptr %t2200 to i64 %t2202 = zext i32 %t2199 to i64 %t2203 = mul i64 %t2202, %t2201 %t2204 = load ptr, ptr %t2193 %t2205 = call ptr @realloc(ptr %t2204, i64 %t2203) store ptr %t2205, ptr %t2193 store i32 %t2199, ptr %t2192 br label %put481 put481: %t2206 = load ptr, ptr %t2193 %t2207 = getelementptr inbounds ptr, ptr %t2206, i32 %t2194 store ptr @.str7490, ptr %t2207 %t2208 = add i32 %t2194, 1 store i32 %t2208, ptr %t2191 %t2209 = load ptr, ptr %t427 %t2210 = getelementptr inbounds %LSlice, ptr %t2209, i32 0, i32 1 %t2211 = getelementptr inbounds %LSlice, ptr %t2209, i32 0, i32 2 %t2212 = getelementptr inbounds %LSlice, ptr %t2209, i32 0, i32 0 %t2213 = load i32, ptr %t2210 %t2214 = load i32, ptr %t2211 %t2215 = icmp sge i32 %t2213, %t2214 br i1 %t2215, label %grow482, label %put483 grow482: %t2216 = mul i32 %t2214, 2 %t2217 = icmp eq i32 %t2214, 0 %t2218 = select i1 %t2217, i32 8, i32 %t2216 %t2219 = getelementptr ptr, ptr null, i32 1 %t2220 = ptrtoint ptr %t2219 to i64 %t2221 = zext i32 %t2218 to i64 %t2222 = mul i64 %t2221, %t2220 %t2223 = load ptr, ptr %t2212 %t2224 = call ptr @realloc(ptr %t2223, i64 %t2222) store ptr %t2224, ptr %t2212 store i32 %t2218, ptr %t2211 br label %put483 put483: %t2225 = load ptr, ptr %t2212 %t2226 = getelementptr inbounds ptr, ptr %t2225, i32 %t2213 store ptr @.str7491, ptr %t2226 %t2227 = add i32 %t2213, 1 store i32 %t2227, ptr %t2210 %t2228 = load ptr, ptr %t427 %t2229 = getelementptr inbounds %LSlice, ptr %t2228, i32 0, i32 1 %t2230 = getelementptr inbounds %LSlice, ptr %t2228, i32 0, i32 2 %t2231 = getelementptr inbounds %LSlice, ptr %t2228, i32 0, i32 0 %t2232 = load i32, ptr %t2229 %t2233 = load i32, ptr %t2230 %t2234 = icmp sge i32 %t2232, %t2233 br i1 %t2234, label %grow484, label %put485 grow484: %t2235 = mul i32 %t2233, 2 %t2236 = icmp eq i32 %t2233, 0 %t2237 = select i1 %t2236, i32 8, i32 %t2235 %t2238 = getelementptr ptr, ptr null, i32 1 %t2239 = ptrtoint ptr %t2238 to i64 %t2240 = zext i32 %t2237 to i64 %t2241 = mul i64 %t2240, %t2239 %t2242 = load ptr, ptr %t2231 %t2243 = call ptr @realloc(ptr %t2242, i64 %t2241) store ptr %t2243, ptr %t2231 store i32 %t2237, ptr %t2230 br label %put485 put485: %t2244 = load ptr, ptr %t2231 %t2245 = getelementptr inbounds ptr, ptr %t2244, i32 %t2232 store ptr @.str7492, ptr %t2245 %t2246 = add i32 %t2232, 1 store i32 %t2246, ptr %t2229 %t2247 = load ptr, ptr %t427 %t2248 = getelementptr inbounds %LSlice, ptr %t2247, i32 0, i32 1 %t2249 = getelementptr inbounds %LSlice, ptr %t2247, i32 0, i32 2 %t2250 = getelementptr inbounds %LSlice, ptr %t2247, i32 0, i32 0 %t2251 = load i32, ptr %t2248 %t2252 = load i32, ptr %t2249 %t2253 = icmp sge i32 %t2251, %t2252 br i1 %t2253, label %grow486, label %put487 grow486: %t2254 = mul i32 %t2252, 2 %t2255 = icmp eq i32 %t2252, 0 %t2256 = select i1 %t2255, i32 8, i32 %t2254 %t2257 = getelementptr ptr, ptr null, i32 1 %t2258 = ptrtoint ptr %t2257 to i64 %t2259 = zext i32 %t2256 to i64 %t2260 = mul i64 %t2259, %t2258 %t2261 = load ptr, ptr %t2250 %t2262 = call ptr @realloc(ptr %t2261, i64 %t2260) store ptr %t2262, ptr %t2250 store i32 %t2256, ptr %t2249 br label %put487 put487: %t2263 = load ptr, ptr %t2250 %t2264 = getelementptr inbounds ptr, ptr %t2263, i32 %t2251 store ptr @.str7493, ptr %t2264 %t2265 = add i32 %t2251, 1 store i32 %t2265, ptr %t2248 %t2266 = load ptr, ptr %t427 %t2267 = getelementptr inbounds %LSlice, ptr %t2266, i32 0, i32 1 %t2268 = getelementptr inbounds %LSlice, ptr %t2266, i32 0, i32 2 %t2269 = getelementptr inbounds %LSlice, ptr %t2266, i32 0, i32 0 %t2270 = load i32, ptr %t2267 %t2271 = load i32, ptr %t2268 %t2272 = icmp sge i32 %t2270, %t2271 br i1 %t2272, label %grow488, label %put489 grow488: %t2273 = mul i32 %t2271, 2 %t2274 = icmp eq i32 %t2271, 0 %t2275 = select i1 %t2274, i32 8, i32 %t2273 %t2276 = getelementptr ptr, ptr null, i32 1 %t2277 = ptrtoint ptr %t2276 to i64 %t2278 = zext i32 %t2275 to i64 %t2279 = mul i64 %t2278, %t2277 %t2280 = load ptr, ptr %t2269 %t2281 = call ptr @realloc(ptr %t2280, i64 %t2279) store ptr %t2281, ptr %t2269 store i32 %t2275, ptr %t2268 br label %put489 put489: %t2282 = load ptr, ptr %t2269 %t2283 = getelementptr inbounds ptr, ptr %t2282, i32 %t2270 store ptr @.str7494, ptr %t2283 %t2284 = add i32 %t2270, 1 store i32 %t2284, ptr %t2267 br label %ifend479 ifend479: %t2285 = load ptr, ptr %t1 %t2286 = call i32 @lp_str_eq(ptr %t2285, ptr @.str7495) %t2287 = icmp ne i32 %t2286, 0 br i1 %t2287, label %then490, label %ifend492 then490: store ptr @.str7496, ptr %t420 %t2288 = load ptr, ptr %t427 %t2289 = getelementptr inbounds %LSlice, ptr %t2288, i32 0, i32 1 %t2290 = getelementptr inbounds %LSlice, ptr %t2288, i32 0, i32 2 %t2291 = getelementptr inbounds %LSlice, ptr %t2288, i32 0, i32 0 %t2292 = load i32, ptr %t2289 %t2293 = load i32, ptr %t2290 %t2294 = icmp sge i32 %t2292, %t2293 br i1 %t2294, label %grow493, label %put494 grow493: %t2295 = mul i32 %t2293, 2 %t2296 = icmp eq i32 %t2293, 0 %t2297 = select i1 %t2296, i32 8, i32 %t2295 %t2298 = getelementptr ptr, ptr null, i32 1 %t2299 = ptrtoint ptr %t2298 to i64 %t2300 = zext i32 %t2297 to i64 %t2301 = mul i64 %t2300, %t2299 %t2302 = load ptr, ptr %t2291 %t2303 = call ptr @realloc(ptr %t2302, i64 %t2301) store ptr %t2303, ptr %t2291 store i32 %t2297, ptr %t2290 br label %put494 put494: %t2304 = load ptr, ptr %t2291 %t2305 = getelementptr inbounds ptr, ptr %t2304, i32 %t2292 store ptr @.str7497, ptr %t2305 %t2306 = add i32 %t2292, 1 store i32 %t2306, ptr %t2289 %t2307 = load ptr, ptr %t427 %t2308 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 1 %t2309 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 2 %t2310 = getelementptr inbounds %LSlice, ptr %t2307, i32 0, i32 0 %t2311 = load i32, ptr %t2308 %t2312 = load i32, ptr %t2309 %t2313 = icmp sge i32 %t2311, %t2312 br i1 %t2313, label %grow495, label %put496 grow495: %t2314 = mul i32 %t2312, 2 %t2315 = icmp eq i32 %t2312, 0 %t2316 = select i1 %t2315, i32 8, i32 %t2314 %t2317 = getelementptr ptr, ptr null, i32 1 %t2318 = ptrtoint ptr %t2317 to i64 %t2319 = zext i32 %t2316 to i64 %t2320 = mul i64 %t2319, %t2318 %t2321 = load ptr, ptr %t2310 %t2322 = call ptr @realloc(ptr %t2321, i64 %t2320) store ptr %t2322, ptr %t2310 store i32 %t2316, ptr %t2309 br label %put496 put496: %t2323 = load ptr, ptr %t2310 %t2324 = getelementptr inbounds ptr, ptr %t2323, i32 %t2311 store ptr @.str7498, ptr %t2324 %t2325 = add i32 %t2311, 1 store i32 %t2325, ptr %t2308 %t2326 = load ptr, ptr %t427 %t2327 = getelementptr inbounds %LSlice, ptr %t2326, i32 0, i32 1 %t2328 = getelementptr inbounds %LSlice, ptr %t2326, i32 0, i32 2 %t2329 = getelementptr inbounds %LSlice, ptr %t2326, i32 0, i32 0 %t2330 = load i32, ptr %t2327 %t2331 = load i32, ptr %t2328 %t2332 = icmp sge i32 %t2330, %t2331 br i1 %t2332, label %grow497, label %put498 grow497: %t2333 = mul i32 %t2331, 2 %t2334 = icmp eq i32 %t2331, 0 %t2335 = select i1 %t2334, i32 8, i32 %t2333 %t2336 = getelementptr ptr, ptr null, i32 1 %t2337 = ptrtoint ptr %t2336 to i64 %t2338 = zext i32 %t2335 to i64 %t2339 = mul i64 %t2338, %t2337 %t2340 = load ptr, ptr %t2329 %t2341 = call ptr @realloc(ptr %t2340, i64 %t2339) store ptr %t2341, ptr %t2329 store i32 %t2335, ptr %t2328 br label %put498 put498: %t2342 = load ptr, ptr %t2329 %t2343 = getelementptr inbounds ptr, ptr %t2342, i32 %t2330 store ptr @.str7499, ptr %t2343 %t2344 = add i32 %t2330, 1 store i32 %t2344, ptr %t2327 %t2345 = load ptr, ptr %t427 %t2346 = getelementptr inbounds %LSlice, ptr %t2345, i32 0, i32 1 %t2347 = getelementptr inbounds %LSlice, ptr %t2345, i32 0, i32 2 %t2348 = getelementptr inbounds %LSlice, ptr %t2345, i32 0, i32 0 %t2349 = load i32, ptr %t2346 %t2350 = load i32, ptr %t2347 %t2351 = icmp sge i32 %t2349, %t2350 br i1 %t2351, label %grow499, label %put500 grow499: %t2352 = mul i32 %t2350, 2 %t2353 = icmp eq i32 %t2350, 0 %t2354 = select i1 %t2353, i32 8, i32 %t2352 %t2355 = getelementptr ptr, ptr null, i32 1 %t2356 = ptrtoint ptr %t2355 to i64 %t2357 = zext i32 %t2354 to i64 %t2358 = mul i64 %t2357, %t2356 %t2359 = load ptr, ptr %t2348 %t2360 = call ptr @realloc(ptr %t2359, i64 %t2358) store ptr %t2360, ptr %t2348 store i32 %t2354, ptr %t2347 br label %put500 put500: %t2361 = load ptr, ptr %t2348 %t2362 = getelementptr inbounds ptr, ptr %t2361, i32 %t2349 store ptr @.str7500, ptr %t2362 %t2363 = add i32 %t2349, 1 store i32 %t2363, ptr %t2346 %t2364 = load ptr, ptr %t427 %t2365 = getelementptr inbounds %LSlice, ptr %t2364, i32 0, i32 1 %t2366 = getelementptr inbounds %LSlice, ptr %t2364, i32 0, i32 2 %t2367 = getelementptr inbounds %LSlice, ptr %t2364, i32 0, i32 0 %t2368 = load i32, ptr %t2365 %t2369 = load i32, ptr %t2366 %t2370 = icmp sge i32 %t2368, %t2369 br i1 %t2370, label %grow501, label %put502 grow501: %t2371 = mul i32 %t2369, 2 %t2372 = icmp eq i32 %t2369, 0 %t2373 = select i1 %t2372, i32 8, i32 %t2371 %t2374 = getelementptr ptr, ptr null, i32 1 %t2375 = ptrtoint ptr %t2374 to i64 %t2376 = zext i32 %t2373 to i64 %t2377 = mul i64 %t2376, %t2375 %t2378 = load ptr, ptr %t2367 %t2379 = call ptr @realloc(ptr %t2378, i64 %t2377) store ptr %t2379, ptr %t2367 store i32 %t2373, ptr %t2366 br label %put502 put502: %t2380 = load ptr, ptr %t2367 %t2381 = getelementptr inbounds ptr, ptr %t2380, i32 %t2368 store ptr @.str7501, ptr %t2381 %t2382 = add i32 %t2368, 1 store i32 %t2382, ptr %t2365 br label %ifend492 ifend492: %t2383 = load ptr, ptr %t1 %t2384 = call i32 @lp_str_eq(ptr %t2383, ptr @.str7502) %t2385 = icmp ne i32 %t2384, 0 br i1 %t2385, label %then503, label %ifend505 then503: store ptr @.str7503, ptr %t420 %t2386 = load ptr, ptr %t427 %t2387 = getelementptr inbounds %LSlice, ptr %t2386, i32 0, i32 1 %t2388 = getelementptr inbounds %LSlice, ptr %t2386, i32 0, i32 2 %t2389 = getelementptr inbounds %LSlice, ptr %t2386, i32 0, i32 0 %t2390 = load i32, ptr %t2387 %t2391 = load i32, ptr %t2388 %t2392 = icmp sge i32 %t2390, %t2391 br i1 %t2392, label %grow506, label %put507 grow506: %t2393 = mul i32 %t2391, 2 %t2394 = icmp eq i32 %t2391, 0 %t2395 = select i1 %t2394, i32 8, i32 %t2393 %t2396 = getelementptr ptr, ptr null, i32 1 %t2397 = ptrtoint ptr %t2396 to i64 %t2398 = zext i32 %t2395 to i64 %t2399 = mul i64 %t2398, %t2397 %t2400 = load ptr, ptr %t2389 %t2401 = call ptr @realloc(ptr %t2400, i64 %t2399) store ptr %t2401, ptr %t2389 store i32 %t2395, ptr %t2388 br label %put507 put507: %t2402 = load ptr, ptr %t2389 %t2403 = getelementptr inbounds ptr, ptr %t2402, i32 %t2390 store ptr @.str7504, ptr %t2403 %t2404 = add i32 %t2390, 1 store i32 %t2404, ptr %t2387 %t2405 = load ptr, ptr %t427 %t2406 = getelementptr inbounds %LSlice, ptr %t2405, i32 0, i32 1 %t2407 = getelementptr inbounds %LSlice, ptr %t2405, i32 0, i32 2 %t2408 = getelementptr inbounds %LSlice, ptr %t2405, i32 0, i32 0 %t2409 = load i32, ptr %t2406 %t2410 = load i32, ptr %t2407 %t2411 = icmp sge i32 %t2409, %t2410 br i1 %t2411, label %grow508, label %put509 grow508: %t2412 = mul i32 %t2410, 2 %t2413 = icmp eq i32 %t2410, 0 %t2414 = select i1 %t2413, i32 8, i32 %t2412 %t2415 = getelementptr ptr, ptr null, i32 1 %t2416 = ptrtoint ptr %t2415 to i64 %t2417 = zext i32 %t2414 to i64 %t2418 = mul i64 %t2417, %t2416 %t2419 = load ptr, ptr %t2408 %t2420 = call ptr @realloc(ptr %t2419, i64 %t2418) store ptr %t2420, ptr %t2408 store i32 %t2414, ptr %t2407 br label %put509 put509: %t2421 = load ptr, ptr %t2408 %t2422 = getelementptr inbounds ptr, ptr %t2421, i32 %t2409 store ptr @.str7505, ptr %t2422 %t2423 = add i32 %t2409, 1 store i32 %t2423, ptr %t2406 %t2424 = load ptr, ptr %t427 %t2425 = getelementptr inbounds %LSlice, ptr %t2424, i32 0, i32 1 %t2426 = getelementptr inbounds %LSlice, ptr %t2424, i32 0, i32 2 %t2427 = getelementptr inbounds %LSlice, ptr %t2424, i32 0, i32 0 %t2428 = load i32, ptr %t2425 %t2429 = load i32, ptr %t2426 %t2430 = icmp sge i32 %t2428, %t2429 br i1 %t2430, label %grow510, label %put511 grow510: %t2431 = mul i32 %t2429, 2 %t2432 = icmp eq i32 %t2429, 0 %t2433 = select i1 %t2432, i32 8, i32 %t2431 %t2434 = getelementptr ptr, ptr null, i32 1 %t2435 = ptrtoint ptr %t2434 to i64 %t2436 = zext i32 %t2433 to i64 %t2437 = mul i64 %t2436, %t2435 %t2438 = load ptr, ptr %t2427 %t2439 = call ptr @realloc(ptr %t2438, i64 %t2437) store ptr %t2439, ptr %t2427 store i32 %t2433, ptr %t2426 br label %put511 put511: %t2440 = load ptr, ptr %t2427 %t2441 = getelementptr inbounds ptr, ptr %t2440, i32 %t2428 store ptr @.str7506, ptr %t2441 %t2442 = add i32 %t2428, 1 store i32 %t2442, ptr %t2425 %t2443 = load ptr, ptr %t427 %t2444 = getelementptr inbounds %LSlice, ptr %t2443, i32 0, i32 1 %t2445 = getelementptr inbounds %LSlice, ptr %t2443, i32 0, i32 2 %t2446 = getelementptr inbounds %LSlice, ptr %t2443, i32 0, i32 0 %t2447 = load i32, ptr %t2444 %t2448 = load i32, ptr %t2445 %t2449 = icmp sge i32 %t2447, %t2448 br i1 %t2449, label %grow512, label %put513 grow512: %t2450 = mul i32 %t2448, 2 %t2451 = icmp eq i32 %t2448, 0 %t2452 = select i1 %t2451, i32 8, i32 %t2450 %t2453 = getelementptr ptr, ptr null, i32 1 %t2454 = ptrtoint ptr %t2453 to i64 %t2455 = zext i32 %t2452 to i64 %t2456 = mul i64 %t2455, %t2454 %t2457 = load ptr, ptr %t2446 %t2458 = call ptr @realloc(ptr %t2457, i64 %t2456) store ptr %t2458, ptr %t2446 store i32 %t2452, ptr %t2445 br label %put513 put513: %t2459 = load ptr, ptr %t2446 %t2460 = getelementptr inbounds ptr, ptr %t2459, i32 %t2447 store ptr @.str7507, ptr %t2460 %t2461 = add i32 %t2447, 1 store i32 %t2461, ptr %t2444 br label %ifend505 ifend505: %t2462 = load ptr, ptr %t1 %t2463 = call i32 @lp_str_eq(ptr %t2462, ptr @.str7508) %t2464 = icmp ne i32 %t2463, 0 br i1 %t2464, label %then514, label %ifend516 then514: store ptr @.str7509, ptr %t420 %t2465 = load ptr, ptr %t427 %t2466 = getelementptr inbounds %LSlice, ptr %t2465, i32 0, i32 1 %t2467 = getelementptr inbounds %LSlice, ptr %t2465, i32 0, i32 2 %t2468 = getelementptr inbounds %LSlice, ptr %t2465, i32 0, i32 0 %t2469 = load i32, ptr %t2466 %t2470 = load i32, ptr %t2467 %t2471 = icmp sge i32 %t2469, %t2470 br i1 %t2471, label %grow517, label %put518 grow517: %t2472 = mul i32 %t2470, 2 %t2473 = icmp eq i32 %t2470, 0 %t2474 = select i1 %t2473, i32 8, i32 %t2472 %t2475 = getelementptr ptr, ptr null, i32 1 %t2476 = ptrtoint ptr %t2475 to i64 %t2477 = zext i32 %t2474 to i64 %t2478 = mul i64 %t2477, %t2476 %t2479 = load ptr, ptr %t2468 %t2480 = call ptr @realloc(ptr %t2479, i64 %t2478) store ptr %t2480, ptr %t2468 store i32 %t2474, ptr %t2467 br label %put518 put518: %t2481 = load ptr, ptr %t2468 %t2482 = getelementptr inbounds ptr, ptr %t2481, i32 %t2469 store ptr @.str7510, ptr %t2482 %t2483 = add i32 %t2469, 1 store i32 %t2483, ptr %t2466 br label %ifend516 ifend516: %t2484 = load ptr, ptr %t1 %t2485 = call i32 @lp_str_eq(ptr %t2484, ptr @.str7511) %t2486 = icmp ne i32 %t2485, 0 br i1 %t2486, label %then519, label %ifend521 then519: store ptr @.str7512, ptr %t420 %t2487 = load ptr, ptr %t427 %t2488 = getelementptr inbounds %LSlice, ptr %t2487, i32 0, i32 1 %t2489 = getelementptr inbounds %LSlice, ptr %t2487, i32 0, i32 2 %t2490 = getelementptr inbounds %LSlice, ptr %t2487, i32 0, i32 0 %t2491 = load i32, ptr %t2488 %t2492 = load i32, ptr %t2489 %t2493 = icmp sge i32 %t2491, %t2492 br i1 %t2493, label %grow522, label %put523 grow522: %t2494 = mul i32 %t2492, 2 %t2495 = icmp eq i32 %t2492, 0 %t2496 = select i1 %t2495, i32 8, i32 %t2494 %t2497 = getelementptr ptr, ptr null, i32 1 %t2498 = ptrtoint ptr %t2497 to i64 %t2499 = zext i32 %t2496 to i64 %t2500 = mul i64 %t2499, %t2498 %t2501 = load ptr, ptr %t2490 %t2502 = call ptr @realloc(ptr %t2501, i64 %t2500) store ptr %t2502, ptr %t2490 store i32 %t2496, ptr %t2489 br label %put523 put523: %t2503 = load ptr, ptr %t2490 %t2504 = getelementptr inbounds ptr, ptr %t2503, i32 %t2491 store ptr @.str7513, ptr %t2504 %t2505 = add i32 %t2491, 1 store i32 %t2505, ptr %t2488 %t2506 = load ptr, ptr %t427 %t2507 = getelementptr inbounds %LSlice, ptr %t2506, i32 0, i32 1 %t2508 = getelementptr inbounds %LSlice, ptr %t2506, i32 0, i32 2 %t2509 = getelementptr inbounds %LSlice, ptr %t2506, i32 0, i32 0 %t2510 = load i32, ptr %t2507 %t2511 = load i32, ptr %t2508 %t2512 = icmp sge i32 %t2510, %t2511 br i1 %t2512, label %grow524, label %put525 grow524: %t2513 = mul i32 %t2511, 2 %t2514 = icmp eq i32 %t2511, 0 %t2515 = select i1 %t2514, i32 8, i32 %t2513 %t2516 = getelementptr ptr, ptr null, i32 1 %t2517 = ptrtoint ptr %t2516 to i64 %t2518 = zext i32 %t2515 to i64 %t2519 = mul i64 %t2518, %t2517 %t2520 = load ptr, ptr %t2509 %t2521 = call ptr @realloc(ptr %t2520, i64 %t2519) store ptr %t2521, ptr %t2509 store i32 %t2515, ptr %t2508 br label %put525 put525: %t2522 = load ptr, ptr %t2509 %t2523 = getelementptr inbounds ptr, ptr %t2522, i32 %t2510 store ptr @.str7514, ptr %t2523 %t2524 = add i32 %t2510, 1 store i32 %t2524, ptr %t2507 %t2525 = load ptr, ptr %t427 %t2526 = getelementptr inbounds %LSlice, ptr %t2525, i32 0, i32 1 %t2527 = getelementptr inbounds %LSlice, ptr %t2525, i32 0, i32 2 %t2528 = getelementptr inbounds %LSlice, ptr %t2525, i32 0, i32 0 %t2529 = load i32, ptr %t2526 %t2530 = load i32, ptr %t2527 %t2531 = icmp sge i32 %t2529, %t2530 br i1 %t2531, label %grow526, label %put527 grow526: %t2532 = mul i32 %t2530, 2 %t2533 = icmp eq i32 %t2530, 0 %t2534 = select i1 %t2533, i32 8, i32 %t2532 %t2535 = getelementptr ptr, ptr null, i32 1 %t2536 = ptrtoint ptr %t2535 to i64 %t2537 = zext i32 %t2534 to i64 %t2538 = mul i64 %t2537, %t2536 %t2539 = load ptr, ptr %t2528 %t2540 = call ptr @realloc(ptr %t2539, i64 %t2538) store ptr %t2540, ptr %t2528 store i32 %t2534, ptr %t2527 br label %put527 put527: %t2541 = load ptr, ptr %t2528 %t2542 = getelementptr inbounds ptr, ptr %t2541, i32 %t2529 store ptr @.str7515, ptr %t2542 %t2543 = add i32 %t2529, 1 store i32 %t2543, ptr %t2526 br label %ifend521 ifend521: %t2544 = load ptr, ptr %t1 %t2545 = call i32 @lp_str_eq(ptr %t2544, ptr @.str7516) %t2546 = icmp ne i32 %t2545, 0 br i1 %t2546, label %then528, label %ifend530 then528: store ptr @.str7517, ptr %t420 %t2547 = load ptr, ptr %t427 %t2548 = getelementptr inbounds %LSlice, ptr %t2547, i32 0, i32 1 %t2549 = getelementptr inbounds %LSlice, ptr %t2547, i32 0, i32 2 %t2550 = getelementptr inbounds %LSlice, ptr %t2547, i32 0, i32 0 %t2551 = load i32, ptr %t2548 %t2552 = load i32, ptr %t2549 %t2553 = icmp sge i32 %t2551, %t2552 br i1 %t2553, label %grow531, label %put532 grow531: %t2554 = mul i32 %t2552, 2 %t2555 = icmp eq i32 %t2552, 0 %t2556 = select i1 %t2555, i32 8, i32 %t2554 %t2557 = getelementptr ptr, ptr null, i32 1 %t2558 = ptrtoint ptr %t2557 to i64 %t2559 = zext i32 %t2556 to i64 %t2560 = mul i64 %t2559, %t2558 %t2561 = load ptr, ptr %t2550 %t2562 = call ptr @realloc(ptr %t2561, i64 %t2560) store ptr %t2562, ptr %t2550 store i32 %t2556, ptr %t2549 br label %put532 put532: %t2563 = load ptr, ptr %t2550 %t2564 = getelementptr inbounds ptr, ptr %t2563, i32 %t2551 store ptr @.str7518, ptr %t2564 %t2565 = add i32 %t2551, 1 store i32 %t2565, ptr %t2548 %t2566 = load ptr, ptr %t427 %t2567 = getelementptr inbounds %LSlice, ptr %t2566, i32 0, i32 1 %t2568 = getelementptr inbounds %LSlice, ptr %t2566, i32 0, i32 2 %t2569 = getelementptr inbounds %LSlice, ptr %t2566, i32 0, i32 0 %t2570 = load i32, ptr %t2567 %t2571 = load i32, ptr %t2568 %t2572 = icmp sge i32 %t2570, %t2571 br i1 %t2572, label %grow533, label %put534 grow533: %t2573 = mul i32 %t2571, 2 %t2574 = icmp eq i32 %t2571, 0 %t2575 = select i1 %t2574, i32 8, i32 %t2573 %t2576 = getelementptr ptr, ptr null, i32 1 %t2577 = ptrtoint ptr %t2576 to i64 %t2578 = zext i32 %t2575 to i64 %t2579 = mul i64 %t2578, %t2577 %t2580 = load ptr, ptr %t2569 %t2581 = call ptr @realloc(ptr %t2580, i64 %t2579) store ptr %t2581, ptr %t2569 store i32 %t2575, ptr %t2568 br label %put534 put534: %t2582 = load ptr, ptr %t2569 %t2583 = getelementptr inbounds ptr, ptr %t2582, i32 %t2570 store ptr @.str7519, ptr %t2583 %t2584 = add i32 %t2570, 1 store i32 %t2584, ptr %t2567 %t2585 = load ptr, ptr %t427 %t2586 = getelementptr inbounds %LSlice, ptr %t2585, i32 0, i32 1 %t2587 = getelementptr inbounds %LSlice, ptr %t2585, i32 0, i32 2 %t2588 = getelementptr inbounds %LSlice, ptr %t2585, i32 0, i32 0 %t2589 = load i32, ptr %t2586 %t2590 = load i32, ptr %t2587 %t2591 = icmp sge i32 %t2589, %t2590 br i1 %t2591, label %grow535, label %put536 grow535: %t2592 = mul i32 %t2590, 2 %t2593 = icmp eq i32 %t2590, 0 %t2594 = select i1 %t2593, i32 8, i32 %t2592 %t2595 = getelementptr ptr, ptr null, i32 1 %t2596 = ptrtoint ptr %t2595 to i64 %t2597 = zext i32 %t2594 to i64 %t2598 = mul i64 %t2597, %t2596 %t2599 = load ptr, ptr %t2588 %t2600 = call ptr @realloc(ptr %t2599, i64 %t2598) store ptr %t2600, ptr %t2588 store i32 %t2594, ptr %t2587 br label %put536 put536: %t2601 = load ptr, ptr %t2588 %t2602 = getelementptr inbounds ptr, ptr %t2601, i32 %t2589 store ptr @.str7520, ptr %t2602 %t2603 = add i32 %t2589, 1 store i32 %t2603, ptr %t2586 %t2604 = load ptr, ptr %t427 %t2605 = getelementptr inbounds %LSlice, ptr %t2604, i32 0, i32 1 %t2606 = getelementptr inbounds %LSlice, ptr %t2604, i32 0, i32 2 %t2607 = getelementptr inbounds %LSlice, ptr %t2604, i32 0, i32 0 %t2608 = load i32, ptr %t2605 %t2609 = load i32, ptr %t2606 %t2610 = icmp sge i32 %t2608, %t2609 br i1 %t2610, label %grow537, label %put538 grow537: %t2611 = mul i32 %t2609, 2 %t2612 = icmp eq i32 %t2609, 0 %t2613 = select i1 %t2612, i32 8, i32 %t2611 %t2614 = getelementptr ptr, ptr null, i32 1 %t2615 = ptrtoint ptr %t2614 to i64 %t2616 = zext i32 %t2613 to i64 %t2617 = mul i64 %t2616, %t2615 %t2618 = load ptr, ptr %t2607 %t2619 = call ptr @realloc(ptr %t2618, i64 %t2617) store ptr %t2619, ptr %t2607 store i32 %t2613, ptr %t2606 br label %put538 put538: %t2620 = load ptr, ptr %t2607 %t2621 = getelementptr inbounds ptr, ptr %t2620, i32 %t2608 store ptr @.str7521, ptr %t2621 %t2622 = add i32 %t2608, 1 store i32 %t2622, ptr %t2605 br label %ifend530 ifend530: %t2623 = load ptr, ptr %t1 %t2624 = call i32 @lp_str_eq(ptr %t2623, ptr @.str7522) %t2625 = icmp ne i32 %t2624, 0 br i1 %t2625, label %then539, label %ifend541 then539: store ptr @.str7523, ptr %t420 %t2626 = load ptr, ptr %t427 %t2627 = getelementptr inbounds %LSlice, ptr %t2626, i32 0, i32 1 %t2628 = getelementptr inbounds %LSlice, ptr %t2626, i32 0, i32 2 %t2629 = getelementptr inbounds %LSlice, ptr %t2626, i32 0, i32 0 %t2630 = load i32, ptr %t2627 %t2631 = load i32, ptr %t2628 %t2632 = icmp sge i32 %t2630, %t2631 br i1 %t2632, label %grow542, label %put543 grow542: %t2633 = mul i32 %t2631, 2 %t2634 = icmp eq i32 %t2631, 0 %t2635 = select i1 %t2634, i32 8, i32 %t2633 %t2636 = getelementptr ptr, ptr null, i32 1 %t2637 = ptrtoint ptr %t2636 to i64 %t2638 = zext i32 %t2635 to i64 %t2639 = mul i64 %t2638, %t2637 %t2640 = load ptr, ptr %t2629 %t2641 = call ptr @realloc(ptr %t2640, i64 %t2639) store ptr %t2641, ptr %t2629 store i32 %t2635, ptr %t2628 br label %put543 put543: %t2642 = load ptr, ptr %t2629 %t2643 = getelementptr inbounds ptr, ptr %t2642, i32 %t2630 store ptr @.str7524, ptr %t2643 %t2644 = add i32 %t2630, 1 store i32 %t2644, ptr %t2627 %t2645 = load ptr, ptr %t427 %t2646 = getelementptr inbounds %LSlice, ptr %t2645, i32 0, i32 1 %t2647 = getelementptr inbounds %LSlice, ptr %t2645, i32 0, i32 2 %t2648 = getelementptr inbounds %LSlice, ptr %t2645, i32 0, i32 0 %t2649 = load i32, ptr %t2646 %t2650 = load i32, ptr %t2647 %t2651 = icmp sge i32 %t2649, %t2650 br i1 %t2651, label %grow544, label %put545 grow544: %t2652 = mul i32 %t2650, 2 %t2653 = icmp eq i32 %t2650, 0 %t2654 = select i1 %t2653, i32 8, i32 %t2652 %t2655 = getelementptr ptr, ptr null, i32 1 %t2656 = ptrtoint ptr %t2655 to i64 %t2657 = zext i32 %t2654 to i64 %t2658 = mul i64 %t2657, %t2656 %t2659 = load ptr, ptr %t2648 %t2660 = call ptr @realloc(ptr %t2659, i64 %t2658) store ptr %t2660, ptr %t2648 store i32 %t2654, ptr %t2647 br label %put545 put545: %t2661 = load ptr, ptr %t2648 %t2662 = getelementptr inbounds ptr, ptr %t2661, i32 %t2649 store ptr @.str7525, ptr %t2662 %t2663 = add i32 %t2649, 1 store i32 %t2663, ptr %t2646 %t2664 = load ptr, ptr %t427 %t2665 = getelementptr inbounds %LSlice, ptr %t2664, i32 0, i32 1 %t2666 = getelementptr inbounds %LSlice, ptr %t2664, i32 0, i32 2 %t2667 = getelementptr inbounds %LSlice, ptr %t2664, i32 0, i32 0 %t2668 = load i32, ptr %t2665 %t2669 = load i32, ptr %t2666 %t2670 = icmp sge i32 %t2668, %t2669 br i1 %t2670, label %grow546, label %put547 grow546: %t2671 = mul i32 %t2669, 2 %t2672 = icmp eq i32 %t2669, 0 %t2673 = select i1 %t2672, i32 8, i32 %t2671 %t2674 = getelementptr ptr, ptr null, i32 1 %t2675 = ptrtoint ptr %t2674 to i64 %t2676 = zext i32 %t2673 to i64 %t2677 = mul i64 %t2676, %t2675 %t2678 = load ptr, ptr %t2667 %t2679 = call ptr @realloc(ptr %t2678, i64 %t2677) store ptr %t2679, ptr %t2667 store i32 %t2673, ptr %t2666 br label %put547 put547: %t2680 = load ptr, ptr %t2667 %t2681 = getelementptr inbounds ptr, ptr %t2680, i32 %t2668 store ptr @.str7526, ptr %t2681 %t2682 = add i32 %t2668, 1 store i32 %t2682, ptr %t2665 %t2683 = load ptr, ptr %t427 %t2684 = getelementptr inbounds %LSlice, ptr %t2683, i32 0, i32 1 %t2685 = getelementptr inbounds %LSlice, ptr %t2683, i32 0, i32 2 %t2686 = getelementptr inbounds %LSlice, ptr %t2683, i32 0, i32 0 %t2687 = load i32, ptr %t2684 %t2688 = load i32, ptr %t2685 %t2689 = icmp sge i32 %t2687, %t2688 br i1 %t2689, label %grow548, label %put549 grow548: %t2690 = mul i32 %t2688, 2 %t2691 = icmp eq i32 %t2688, 0 %t2692 = select i1 %t2691, i32 8, i32 %t2690 %t2693 = getelementptr ptr, ptr null, i32 1 %t2694 = ptrtoint ptr %t2693 to i64 %t2695 = zext i32 %t2692 to i64 %t2696 = mul i64 %t2695, %t2694 %t2697 = load ptr, ptr %t2686 %t2698 = call ptr @realloc(ptr %t2697, i64 %t2696) store ptr %t2698, ptr %t2686 store i32 %t2692, ptr %t2685 br label %put549 put549: %t2699 = load ptr, ptr %t2686 %t2700 = getelementptr inbounds ptr, ptr %t2699, i32 %t2687 store ptr @.str7527, ptr %t2700 %t2701 = add i32 %t2687, 1 store i32 %t2701, ptr %t2684 %t2702 = load ptr, ptr %t427 %t2703 = getelementptr inbounds %LSlice, ptr %t2702, i32 0, i32 1 %t2704 = getelementptr inbounds %LSlice, ptr %t2702, i32 0, i32 2 %t2705 = getelementptr inbounds %LSlice, ptr %t2702, i32 0, i32 0 %t2706 = load i32, ptr %t2703 %t2707 = load i32, ptr %t2704 %t2708 = icmp sge i32 %t2706, %t2707 br i1 %t2708, label %grow550, label %put551 grow550: %t2709 = mul i32 %t2707, 2 %t2710 = icmp eq i32 %t2707, 0 %t2711 = select i1 %t2710, i32 8, i32 %t2709 %t2712 = getelementptr ptr, ptr null, i32 1 %t2713 = ptrtoint ptr %t2712 to i64 %t2714 = zext i32 %t2711 to i64 %t2715 = mul i64 %t2714, %t2713 %t2716 = load ptr, ptr %t2705 %t2717 = call ptr @realloc(ptr %t2716, i64 %t2715) store ptr %t2717, ptr %t2705 store i32 %t2711, ptr %t2704 br label %put551 put551: %t2718 = load ptr, ptr %t2705 %t2719 = getelementptr inbounds ptr, ptr %t2718, i32 %t2706 store ptr @.str7528, ptr %t2719 %t2720 = add i32 %t2706, 1 store i32 %t2720, ptr %t2703 %t2721 = load ptr, ptr %t427 %t2722 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 1 %t2723 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 2 %t2724 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 0 %t2725 = load i32, ptr %t2722 %t2726 = load i32, ptr %t2723 %t2727 = icmp sge i32 %t2725, %t2726 br i1 %t2727, label %grow552, label %put553 grow552: %t2728 = mul i32 %t2726, 2 %t2729 = icmp eq i32 %t2726, 0 %t2730 = select i1 %t2729, i32 8, i32 %t2728 %t2731 = getelementptr ptr, ptr null, i32 1 %t2732 = ptrtoint ptr %t2731 to i64 %t2733 = zext i32 %t2730 to i64 %t2734 = mul i64 %t2733, %t2732 %t2735 = load ptr, ptr %t2724 %t2736 = call ptr @realloc(ptr %t2735, i64 %t2734) store ptr %t2736, ptr %t2724 store i32 %t2730, ptr %t2723 br label %put553 put553: %t2737 = load ptr, ptr %t2724 %t2738 = getelementptr inbounds ptr, ptr %t2737, i32 %t2725 store ptr @.str7529, ptr %t2738 %t2739 = add i32 %t2725, 1 store i32 %t2739, ptr %t2722 %t2740 = load ptr, ptr %t427 %t2741 = getelementptr inbounds %LSlice, ptr %t2740, i32 0, i32 1 %t2742 = getelementptr inbounds %LSlice, ptr %t2740, i32 0, i32 2 %t2743 = getelementptr inbounds %LSlice, ptr %t2740, i32 0, i32 0 %t2744 = load i32, ptr %t2741 %t2745 = load i32, ptr %t2742 %t2746 = icmp sge i32 %t2744, %t2745 br i1 %t2746, label %grow554, label %put555 grow554: %t2747 = mul i32 %t2745, 2 %t2748 = icmp eq i32 %t2745, 0 %t2749 = select i1 %t2748, i32 8, i32 %t2747 %t2750 = getelementptr ptr, ptr null, i32 1 %t2751 = ptrtoint ptr %t2750 to i64 %t2752 = zext i32 %t2749 to i64 %t2753 = mul i64 %t2752, %t2751 %t2754 = load ptr, ptr %t2743 %t2755 = call ptr @realloc(ptr %t2754, i64 %t2753) store ptr %t2755, ptr %t2743 store i32 %t2749, ptr %t2742 br label %put555 put555: %t2756 = load ptr, ptr %t2743 %t2757 = getelementptr inbounds ptr, ptr %t2756, i32 %t2744 store ptr @.str7530, ptr %t2757 %t2758 = add i32 %t2744, 1 store i32 %t2758, ptr %t2741 %t2759 = load ptr, ptr %t427 %t2760 = getelementptr inbounds %LSlice, ptr %t2759, i32 0, i32 1 %t2761 = getelementptr inbounds %LSlice, ptr %t2759, i32 0, i32 2 %t2762 = getelementptr inbounds %LSlice, ptr %t2759, i32 0, i32 0 %t2763 = load i32, ptr %t2760 %t2764 = load i32, ptr %t2761 %t2765 = icmp sge i32 %t2763, %t2764 br i1 %t2765, label %grow556, label %put557 grow556: %t2766 = mul i32 %t2764, 2 %t2767 = icmp eq i32 %t2764, 0 %t2768 = select i1 %t2767, i32 8, i32 %t2766 %t2769 = getelementptr ptr, ptr null, i32 1 %t2770 = ptrtoint ptr %t2769 to i64 %t2771 = zext i32 %t2768 to i64 %t2772 = mul i64 %t2771, %t2770 %t2773 = load ptr, ptr %t2762 %t2774 = call ptr @realloc(ptr %t2773, i64 %t2772) store ptr %t2774, ptr %t2762 store i32 %t2768, ptr %t2761 br label %put557 put557: %t2775 = load ptr, ptr %t2762 %t2776 = getelementptr inbounds ptr, ptr %t2775, i32 %t2763 store ptr @.str7531, ptr %t2776 %t2777 = add i32 %t2763, 1 store i32 %t2777, ptr %t2760 %t2778 = load ptr, ptr %t427 %t2779 = getelementptr inbounds %LSlice, ptr %t2778, i32 0, i32 1 %t2780 = getelementptr inbounds %LSlice, ptr %t2778, i32 0, i32 2 %t2781 = getelementptr inbounds %LSlice, ptr %t2778, i32 0, i32 0 %t2782 = load i32, ptr %t2779 %t2783 = load i32, ptr %t2780 %t2784 = icmp sge i32 %t2782, %t2783 br i1 %t2784, label %grow558, label %put559 grow558: %t2785 = mul i32 %t2783, 2 %t2786 = icmp eq i32 %t2783, 0 %t2787 = select i1 %t2786, i32 8, i32 %t2785 %t2788 = getelementptr ptr, ptr null, i32 1 %t2789 = ptrtoint ptr %t2788 to i64 %t2790 = zext i32 %t2787 to i64 %t2791 = mul i64 %t2790, %t2789 %t2792 = load ptr, ptr %t2781 %t2793 = call ptr @realloc(ptr %t2792, i64 %t2791) store ptr %t2793, ptr %t2781 store i32 %t2787, ptr %t2780 br label %put559 put559: %t2794 = load ptr, ptr %t2781 %t2795 = getelementptr inbounds ptr, ptr %t2794, i32 %t2782 store ptr @.str7532, ptr %t2795 %t2796 = add i32 %t2782, 1 store i32 %t2796, ptr %t2779 br label %ifend541 ifend541: %t2797 = load ptr, ptr %t1 %t2798 = call i32 @lp_str_eq(ptr %t2797, ptr @.str7533) %t2799 = icmp ne i32 %t2798, 0 br i1 %t2799, label %then560, label %ifend562 then560: store ptr @.str7534, ptr %t420 %t2800 = load ptr, ptr %t427 %t2801 = getelementptr inbounds %LSlice, ptr %t2800, i32 0, i32 1 %t2802 = getelementptr inbounds %LSlice, ptr %t2800, i32 0, i32 2 %t2803 = getelementptr inbounds %LSlice, ptr %t2800, i32 0, i32 0 %t2804 = load i32, ptr %t2801 %t2805 = load i32, ptr %t2802 %t2806 = icmp sge i32 %t2804, %t2805 br i1 %t2806, label %grow563, label %put564 grow563: %t2807 = mul i32 %t2805, 2 %t2808 = icmp eq i32 %t2805, 0 %t2809 = select i1 %t2808, i32 8, i32 %t2807 %t2810 = getelementptr ptr, ptr null, i32 1 %t2811 = ptrtoint ptr %t2810 to i64 %t2812 = zext i32 %t2809 to i64 %t2813 = mul i64 %t2812, %t2811 %t2814 = load ptr, ptr %t2803 %t2815 = call ptr @realloc(ptr %t2814, i64 %t2813) store ptr %t2815, ptr %t2803 store i32 %t2809, ptr %t2802 br label %put564 put564: %t2816 = load ptr, ptr %t2803 %t2817 = getelementptr inbounds ptr, ptr %t2816, i32 %t2804 store ptr @.str7535, ptr %t2817 %t2818 = add i32 %t2804, 1 store i32 %t2818, ptr %t2801 br label %ifend562 ifend562: %t2819 = load ptr, ptr %t1 %t2820 = call i32 @lp_str_eq(ptr %t2819, ptr @.str7536) %t2821 = icmp ne i32 %t2820, 0 br i1 %t2821, label %then565, label %ifend567 then565: store ptr @.str7537, ptr %t420 %t2822 = load ptr, ptr %t427 %t2823 = getelementptr inbounds %LSlice, ptr %t2822, i32 0, i32 1 %t2824 = getelementptr inbounds %LSlice, ptr %t2822, i32 0, i32 2 %t2825 = getelementptr inbounds %LSlice, ptr %t2822, i32 0, i32 0 %t2826 = load i32, ptr %t2823 %t2827 = load i32, ptr %t2824 %t2828 = icmp sge i32 %t2826, %t2827 br i1 %t2828, label %grow568, label %put569 grow568: %t2829 = mul i32 %t2827, 2 %t2830 = icmp eq i32 %t2827, 0 %t2831 = select i1 %t2830, i32 8, i32 %t2829 %t2832 = getelementptr ptr, ptr null, i32 1 %t2833 = ptrtoint ptr %t2832 to i64 %t2834 = zext i32 %t2831 to i64 %t2835 = mul i64 %t2834, %t2833 %t2836 = load ptr, ptr %t2825 %t2837 = call ptr @realloc(ptr %t2836, i64 %t2835) store ptr %t2837, ptr %t2825 store i32 %t2831, ptr %t2824 br label %put569 put569: %t2838 = load ptr, ptr %t2825 %t2839 = getelementptr inbounds ptr, ptr %t2838, i32 %t2826 store ptr @.str7538, ptr %t2839 %t2840 = add i32 %t2826, 1 store i32 %t2840, ptr %t2823 br label %ifend567 ifend567: br label %ifend458 ifend458: %t2841 = load ptr, ptr %t0 %t2842 = call i32 @lp_str_eq(ptr %t2841, ptr @.str7539) %t2843 = icmp ne i32 %t2842, 0 br i1 %t2843, label %then570, label %ifend572 then570: %t2844 = load ptr, ptr %t1 %t2845 = call i32 @lp_str_eq(ptr %t2844, ptr @.str7540) %t2846 = icmp ne i32 %t2845, 0 br i1 %t2846, label %then573, label %ifend575 then573: store ptr @.str7541, ptr %t420 %t2847 = load ptr, ptr %t427 %t2848 = getelementptr inbounds %LSlice, ptr %t2847, i32 0, i32 1 %t2849 = getelementptr inbounds %LSlice, ptr %t2847, i32 0, i32 2 %t2850 = getelementptr inbounds %LSlice, ptr %t2847, i32 0, i32 0 %t2851 = load i32, ptr %t2848 %t2852 = load i32, ptr %t2849 %t2853 = icmp sge i32 %t2851, %t2852 br i1 %t2853, label %grow576, label %put577 grow576: %t2854 = mul i32 %t2852, 2 %t2855 = icmp eq i32 %t2852, 0 %t2856 = select i1 %t2855, i32 8, i32 %t2854 %t2857 = getelementptr ptr, ptr null, i32 1 %t2858 = ptrtoint ptr %t2857 to i64 %t2859 = zext i32 %t2856 to i64 %t2860 = mul i64 %t2859, %t2858 %t2861 = load ptr, ptr %t2850 %t2862 = call ptr @realloc(ptr %t2861, i64 %t2860) store ptr %t2862, ptr %t2850 store i32 %t2856, ptr %t2849 br label %put577 put577: %t2863 = load ptr, ptr %t2850 %t2864 = getelementptr inbounds ptr, ptr %t2863, i32 %t2851 store ptr @.str7542, ptr %t2864 %t2865 = add i32 %t2851, 1 store i32 %t2865, ptr %t2848 br label %ifend575 ifend575: br label %ifend572 ifend572: %t2866 = load ptr, ptr %t0 %t2867 = call i32 @lp_str_eq(ptr %t2866, ptr @.str7543) %t2868 = icmp ne i32 %t2867, 0 br i1 %t2868, label %then578, label %ifend580 then578: %t2869 = load ptr, ptr %t1 %t2870 = call i32 @lp_str_eq(ptr %t2869, ptr @.str7544) %t2871 = icmp ne i32 %t2870, 0 br i1 %t2871, label %then581, label %ifend583 then581: store ptr @.str7545, ptr %t420 br label %ifend583 ifend583: %t2872 = load ptr, ptr %t1 %t2873 = call i32 @lp_str_eq(ptr %t2872, ptr @.str7546) %t2874 = icmp ne i32 %t2873, 0 br i1 %t2874, label %then584, label %ifend586 then584: store ptr @.str7547, ptr %t420 %t2875 = load ptr, ptr %t427 %t2876 = getelementptr inbounds %LSlice, ptr %t2875, i32 0, i32 1 %t2877 = getelementptr inbounds %LSlice, ptr %t2875, i32 0, i32 2 %t2878 = getelementptr inbounds %LSlice, ptr %t2875, i32 0, i32 0 %t2879 = load i32, ptr %t2876 %t2880 = load i32, ptr %t2877 %t2881 = icmp sge i32 %t2879, %t2880 br i1 %t2881, label %grow587, label %put588 grow587: %t2882 = mul i32 %t2880, 2 %t2883 = icmp eq i32 %t2880, 0 %t2884 = select i1 %t2883, i32 8, i32 %t2882 %t2885 = getelementptr ptr, ptr null, i32 1 %t2886 = ptrtoint ptr %t2885 to i64 %t2887 = zext i32 %t2884 to i64 %t2888 = mul i64 %t2887, %t2886 %t2889 = load ptr, ptr %t2878 %t2890 = call ptr @realloc(ptr %t2889, i64 %t2888) store ptr %t2890, ptr %t2878 store i32 %t2884, ptr %t2877 br label %put588 put588: %t2891 = load ptr, ptr %t2878 %t2892 = getelementptr inbounds ptr, ptr %t2891, i32 %t2879 store ptr @.str7548, ptr %t2892 %t2893 = add i32 %t2879, 1 store i32 %t2893, ptr %t2876 br label %ifend586 ifend586: %t2894 = load ptr, ptr %t1 %t2895 = call i32 @lp_str_eq(ptr %t2894, ptr @.str7549) %t2896 = icmp ne i32 %t2895, 0 br i1 %t2896, label %then589, label %ifend591 then589: store ptr @.str7550, ptr %t420 br label %ifend591 ifend591: %t2897 = load ptr, ptr %t1 %t2898 = call i32 @lp_str_eq(ptr %t2897, ptr @.str7551) %t2899 = icmp ne i32 %t2898, 0 br i1 %t2899, label %then592, label %ifend594 then592: store ptr @.str7552, ptr %t420 %t2900 = load ptr, ptr %t427 %t2901 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 1 %t2902 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 2 %t2903 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 0 %t2904 = load i32, ptr %t2901 %t2905 = load i32, ptr %t2902 %t2906 = icmp sge i32 %t2904, %t2905 br i1 %t2906, label %grow595, label %put596 grow595: %t2907 = mul i32 %t2905, 2 %t2908 = icmp eq i32 %t2905, 0 %t2909 = select i1 %t2908, i32 8, i32 %t2907 %t2910 = getelementptr ptr, ptr null, i32 1 %t2911 = ptrtoint ptr %t2910 to i64 %t2912 = zext i32 %t2909 to i64 %t2913 = mul i64 %t2912, %t2911 %t2914 = load ptr, ptr %t2903 %t2915 = call ptr @realloc(ptr %t2914, i64 %t2913) store ptr %t2915, ptr %t2903 store i32 %t2909, ptr %t2902 br label %put596 put596: %t2916 = load ptr, ptr %t2903 %t2917 = getelementptr inbounds ptr, ptr %t2916, i32 %t2904 store ptr @.str7553, ptr %t2917 %t2918 = add i32 %t2904, 1 store i32 %t2918, ptr %t2901 br label %ifend594 ifend594: %t2919 = load ptr, ptr %t1 %t2920 = call i32 @lp_str_eq(ptr %t2919, ptr @.str7554) %t2921 = icmp ne i32 %t2920, 0 br i1 %t2921, label %then597, label %ifend599 then597: store ptr @.str7555, ptr %t420 %t2922 = load ptr, ptr %t427 %t2923 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 1 %t2924 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 2 %t2925 = getelementptr inbounds %LSlice, ptr %t2922, i32 0, i32 0 %t2926 = load i32, ptr %t2923 %t2927 = load i32, ptr %t2924 %t2928 = icmp sge i32 %t2926, %t2927 br i1 %t2928, label %grow600, label %put601 grow600: %t2929 = mul i32 %t2927, 2 %t2930 = icmp eq i32 %t2927, 0 %t2931 = select i1 %t2930, i32 8, i32 %t2929 %t2932 = getelementptr ptr, ptr null, i32 1 %t2933 = ptrtoint ptr %t2932 to i64 %t2934 = zext i32 %t2931 to i64 %t2935 = mul i64 %t2934, %t2933 %t2936 = load ptr, ptr %t2925 %t2937 = call ptr @realloc(ptr %t2936, i64 %t2935) store ptr %t2937, ptr %t2925 store i32 %t2931, ptr %t2924 br label %put601 put601: %t2938 = load ptr, ptr %t2925 %t2939 = getelementptr inbounds ptr, ptr %t2938, i32 %t2926 store ptr @.str7556, ptr %t2939 %t2940 = add i32 %t2926, 1 store i32 %t2940, ptr %t2923 br label %ifend599 ifend599: %t2941 = load ptr, ptr %t1 %t2942 = call i32 @lp_str_eq(ptr %t2941, ptr @.str7557) %t2943 = icmp ne i32 %t2942, 0 br i1 %t2943, label %then602, label %ifend604 then602: store ptr @.str7558, ptr %t420 %t2944 = load ptr, ptr %t427 %t2945 = getelementptr inbounds %LSlice, ptr %t2944, i32 0, i32 1 %t2946 = getelementptr inbounds %LSlice, ptr %t2944, i32 0, i32 2 %t2947 = getelementptr inbounds %LSlice, ptr %t2944, i32 0, i32 0 %t2948 = load i32, ptr %t2945 %t2949 = load i32, ptr %t2946 %t2950 = icmp sge i32 %t2948, %t2949 br i1 %t2950, label %grow605, label %put606 grow605: %t2951 = mul i32 %t2949, 2 %t2952 = icmp eq i32 %t2949, 0 %t2953 = select i1 %t2952, i32 8, i32 %t2951 %t2954 = getelementptr ptr, ptr null, i32 1 %t2955 = ptrtoint ptr %t2954 to i64 %t2956 = zext i32 %t2953 to i64 %t2957 = mul i64 %t2956, %t2955 %t2958 = load ptr, ptr %t2947 %t2959 = call ptr @realloc(ptr %t2958, i64 %t2957) store ptr %t2959, ptr %t2947 store i32 %t2953, ptr %t2946 br label %put606 put606: %t2960 = load ptr, ptr %t2947 %t2961 = getelementptr inbounds ptr, ptr %t2960, i32 %t2948 store ptr @.str7559, ptr %t2961 %t2962 = add i32 %t2948, 1 store i32 %t2962, ptr %t2945 %t2963 = load ptr, ptr %t427 %t2964 = getelementptr inbounds %LSlice, ptr %t2963, i32 0, i32 1 %t2965 = getelementptr inbounds %LSlice, ptr %t2963, i32 0, i32 2 %t2966 = getelementptr inbounds %LSlice, ptr %t2963, i32 0, i32 0 %t2967 = load i32, ptr %t2964 %t2968 = load i32, ptr %t2965 %t2969 = icmp sge i32 %t2967, %t2968 br i1 %t2969, label %grow607, label %put608 grow607: %t2970 = mul i32 %t2968, 2 %t2971 = icmp eq i32 %t2968, 0 %t2972 = select i1 %t2971, i32 8, i32 %t2970 %t2973 = getelementptr ptr, ptr null, i32 1 %t2974 = ptrtoint ptr %t2973 to i64 %t2975 = zext i32 %t2972 to i64 %t2976 = mul i64 %t2975, %t2974 %t2977 = load ptr, ptr %t2966 %t2978 = call ptr @realloc(ptr %t2977, i64 %t2976) store ptr %t2978, ptr %t2966 store i32 %t2972, ptr %t2965 br label %put608 put608: %t2979 = load ptr, ptr %t2966 %t2980 = getelementptr inbounds ptr, ptr %t2979, i32 %t2967 store ptr @.str7560, ptr %t2980 %t2981 = add i32 %t2967, 1 store i32 %t2981, ptr %t2964 br label %ifend604 ifend604: %t2982 = load ptr, ptr %t1 %t2983 = call i32 @lp_str_eq(ptr %t2982, ptr @.str7561) %t2984 = icmp ne i32 %t2983, 0 br i1 %t2984, label %then609, label %ifend611 then609: store ptr @.str7562, ptr %t420 br label %ifend611 ifend611: br label %ifend580 ifend580: %t2985 = load ptr, ptr %t0 %t2986 = call i32 @lp_str_eq(ptr %t2985, ptr @.str7563) %t2987 = icmp ne i32 %t2986, 0 br i1 %t2987, label %then612, label %ifend614 then612: %t2988 = load ptr, ptr %t1 %t2989 = call i32 @lp_str_eq(ptr %t2988, ptr @.str7564) %t2990 = icmp ne i32 %t2989, 0 br i1 %t2990, label %then615, label %ifend617 then615: store ptr @.str7565, ptr %t420 %t2991 = load ptr, ptr %t427 %t2992 = getelementptr inbounds %LSlice, ptr %t2991, i32 0, i32 1 %t2993 = getelementptr inbounds %LSlice, ptr %t2991, i32 0, i32 2 %t2994 = getelementptr inbounds %LSlice, ptr %t2991, i32 0, i32 0 %t2995 = load i32, ptr %t2992 %t2996 = load i32, ptr %t2993 %t2997 = icmp sge i32 %t2995, %t2996 br i1 %t2997, label %grow618, label %put619 grow618: %t2998 = mul i32 %t2996, 2 %t2999 = icmp eq i32 %t2996, 0 %t3000 = select i1 %t2999, i32 8, i32 %t2998 %t3001 = getelementptr ptr, ptr null, i32 1 %t3002 = ptrtoint ptr %t3001 to i64 %t3003 = zext i32 %t3000 to i64 %t3004 = mul i64 %t3003, %t3002 %t3005 = load ptr, ptr %t2994 %t3006 = call ptr @realloc(ptr %t3005, i64 %t3004) store ptr %t3006, ptr %t2994 store i32 %t3000, ptr %t2993 br label %put619 put619: %t3007 = load ptr, ptr %t2994 %t3008 = getelementptr inbounds ptr, ptr %t3007, i32 %t2995 store ptr @.str7566, ptr %t3008 %t3009 = add i32 %t2995, 1 store i32 %t3009, ptr %t2992 %t3010 = load ptr, ptr %t427 %t3011 = getelementptr inbounds %LSlice, ptr %t3010, i32 0, i32 1 %t3012 = getelementptr inbounds %LSlice, ptr %t3010, i32 0, i32 2 %t3013 = getelementptr inbounds %LSlice, ptr %t3010, i32 0, i32 0 %t3014 = load i32, ptr %t3011 %t3015 = load i32, ptr %t3012 %t3016 = icmp sge i32 %t3014, %t3015 br i1 %t3016, label %grow620, label %put621 grow620: %t3017 = mul i32 %t3015, 2 %t3018 = icmp eq i32 %t3015, 0 %t3019 = select i1 %t3018, i32 8, i32 %t3017 %t3020 = getelementptr ptr, ptr null, i32 1 %t3021 = ptrtoint ptr %t3020 to i64 %t3022 = zext i32 %t3019 to i64 %t3023 = mul i64 %t3022, %t3021 %t3024 = load ptr, ptr %t3013 %t3025 = call ptr @realloc(ptr %t3024, i64 %t3023) store ptr %t3025, ptr %t3013 store i32 %t3019, ptr %t3012 br label %put621 put621: %t3026 = load ptr, ptr %t3013 %t3027 = getelementptr inbounds ptr, ptr %t3026, i32 %t3014 store ptr @.str7567, ptr %t3027 %t3028 = add i32 %t3014, 1 store i32 %t3028, ptr %t3011 br label %ifend617 ifend617: %t3029 = load ptr, ptr %t1 %t3030 = call i32 @lp_str_eq(ptr %t3029, ptr @.str7568) %t3031 = icmp ne i32 %t3030, 0 br i1 %t3031, label %then622, label %ifend624 then622: store ptr @.str7569, ptr %t420 %t3032 = load ptr, ptr %t427 %t3033 = getelementptr inbounds %LSlice, ptr %t3032, i32 0, i32 1 %t3034 = getelementptr inbounds %LSlice, ptr %t3032, i32 0, i32 2 %t3035 = getelementptr inbounds %LSlice, ptr %t3032, i32 0, i32 0 %t3036 = load i32, ptr %t3033 %t3037 = load i32, ptr %t3034 %t3038 = icmp sge i32 %t3036, %t3037 br i1 %t3038, label %grow625, label %put626 grow625: %t3039 = mul i32 %t3037, 2 %t3040 = icmp eq i32 %t3037, 0 %t3041 = select i1 %t3040, i32 8, i32 %t3039 %t3042 = getelementptr ptr, ptr null, i32 1 %t3043 = ptrtoint ptr %t3042 to i64 %t3044 = zext i32 %t3041 to i64 %t3045 = mul i64 %t3044, %t3043 %t3046 = load ptr, ptr %t3035 %t3047 = call ptr @realloc(ptr %t3046, i64 %t3045) store ptr %t3047, ptr %t3035 store i32 %t3041, ptr %t3034 br label %put626 put626: %t3048 = load ptr, ptr %t3035 %t3049 = getelementptr inbounds ptr, ptr %t3048, i32 %t3036 store ptr @.str7570, ptr %t3049 %t3050 = add i32 %t3036, 1 store i32 %t3050, ptr %t3033 %t3051 = load ptr, ptr %t427 %t3052 = getelementptr inbounds %LSlice, ptr %t3051, i32 0, i32 1 %t3053 = getelementptr inbounds %LSlice, ptr %t3051, i32 0, i32 2 %t3054 = getelementptr inbounds %LSlice, ptr %t3051, i32 0, i32 0 %t3055 = load i32, ptr %t3052 %t3056 = load i32, ptr %t3053 %t3057 = icmp sge i32 %t3055, %t3056 br i1 %t3057, label %grow627, label %put628 grow627: %t3058 = mul i32 %t3056, 2 %t3059 = icmp eq i32 %t3056, 0 %t3060 = select i1 %t3059, i32 8, i32 %t3058 %t3061 = getelementptr ptr, ptr null, i32 1 %t3062 = ptrtoint ptr %t3061 to i64 %t3063 = zext i32 %t3060 to i64 %t3064 = mul i64 %t3063, %t3062 %t3065 = load ptr, ptr %t3054 %t3066 = call ptr @realloc(ptr %t3065, i64 %t3064) store ptr %t3066, ptr %t3054 store i32 %t3060, ptr %t3053 br label %put628 put628: %t3067 = load ptr, ptr %t3054 %t3068 = getelementptr inbounds ptr, ptr %t3067, i32 %t3055 store ptr @.str7571, ptr %t3068 %t3069 = add i32 %t3055, 1 store i32 %t3069, ptr %t3052 %t3070 = load ptr, ptr %t427 %t3071 = getelementptr inbounds %LSlice, ptr %t3070, i32 0, i32 1 %t3072 = getelementptr inbounds %LSlice, ptr %t3070, i32 0, i32 2 %t3073 = getelementptr inbounds %LSlice, ptr %t3070, i32 0, i32 0 %t3074 = load i32, ptr %t3071 %t3075 = load i32, ptr %t3072 %t3076 = icmp sge i32 %t3074, %t3075 br i1 %t3076, label %grow629, label %put630 grow629: %t3077 = mul i32 %t3075, 2 %t3078 = icmp eq i32 %t3075, 0 %t3079 = select i1 %t3078, i32 8, i32 %t3077 %t3080 = getelementptr ptr, ptr null, i32 1 %t3081 = ptrtoint ptr %t3080 to i64 %t3082 = zext i32 %t3079 to i64 %t3083 = mul i64 %t3082, %t3081 %t3084 = load ptr, ptr %t3073 %t3085 = call ptr @realloc(ptr %t3084, i64 %t3083) store ptr %t3085, ptr %t3073 store i32 %t3079, ptr %t3072 br label %put630 put630: %t3086 = load ptr, ptr %t3073 %t3087 = getelementptr inbounds ptr, ptr %t3086, i32 %t3074 store ptr @.str7572, ptr %t3087 %t3088 = add i32 %t3074, 1 store i32 %t3088, ptr %t3071 br label %ifend624 ifend624: %t3089 = load ptr, ptr %t1 %t3090 = call i32 @lp_str_eq(ptr %t3089, ptr @.str7573) %t3091 = icmp ne i32 %t3090, 0 br i1 %t3091, label %then631, label %ifend633 then631: store ptr @.str7574, ptr %t420 %t3092 = load ptr, ptr %t427 %t3093 = getelementptr inbounds %LSlice, ptr %t3092, i32 0, i32 1 %t3094 = getelementptr inbounds %LSlice, ptr %t3092, i32 0, i32 2 %t3095 = getelementptr inbounds %LSlice, ptr %t3092, i32 0, i32 0 %t3096 = load i32, ptr %t3093 %t3097 = load i32, ptr %t3094 %t3098 = icmp sge i32 %t3096, %t3097 br i1 %t3098, label %grow634, label %put635 grow634: %t3099 = mul i32 %t3097, 2 %t3100 = icmp eq i32 %t3097, 0 %t3101 = select i1 %t3100, i32 8, i32 %t3099 %t3102 = getelementptr ptr, ptr null, i32 1 %t3103 = ptrtoint ptr %t3102 to i64 %t3104 = zext i32 %t3101 to i64 %t3105 = mul i64 %t3104, %t3103 %t3106 = load ptr, ptr %t3095 %t3107 = call ptr @realloc(ptr %t3106, i64 %t3105) store ptr %t3107, ptr %t3095 store i32 %t3101, ptr %t3094 br label %put635 put635: %t3108 = load ptr, ptr %t3095 %t3109 = getelementptr inbounds ptr, ptr %t3108, i32 %t3096 store ptr @.str7575, ptr %t3109 %t3110 = add i32 %t3096, 1 store i32 %t3110, ptr %t3093 %t3111 = load ptr, ptr %t427 %t3112 = getelementptr inbounds %LSlice, ptr %t3111, i32 0, i32 1 %t3113 = getelementptr inbounds %LSlice, ptr %t3111, i32 0, i32 2 %t3114 = getelementptr inbounds %LSlice, ptr %t3111, i32 0, i32 0 %t3115 = load i32, ptr %t3112 %t3116 = load i32, ptr %t3113 %t3117 = icmp sge i32 %t3115, %t3116 br i1 %t3117, label %grow636, label %put637 grow636: %t3118 = mul i32 %t3116, 2 %t3119 = icmp eq i32 %t3116, 0 %t3120 = select i1 %t3119, i32 8, i32 %t3118 %t3121 = getelementptr ptr, ptr null, i32 1 %t3122 = ptrtoint ptr %t3121 to i64 %t3123 = zext i32 %t3120 to i64 %t3124 = mul i64 %t3123, %t3122 %t3125 = load ptr, ptr %t3114 %t3126 = call ptr @realloc(ptr %t3125, i64 %t3124) store ptr %t3126, ptr %t3114 store i32 %t3120, ptr %t3113 br label %put637 put637: %t3127 = load ptr, ptr %t3114 %t3128 = getelementptr inbounds ptr, ptr %t3127, i32 %t3115 store ptr @.str7576, ptr %t3128 %t3129 = add i32 %t3115, 1 store i32 %t3129, ptr %t3112 %t3130 = load ptr, ptr %t427 %t3131 = getelementptr inbounds %LSlice, ptr %t3130, i32 0, i32 1 %t3132 = getelementptr inbounds %LSlice, ptr %t3130, i32 0, i32 2 %t3133 = getelementptr inbounds %LSlice, ptr %t3130, i32 0, i32 0 %t3134 = load i32, ptr %t3131 %t3135 = load i32, ptr %t3132 %t3136 = icmp sge i32 %t3134, %t3135 br i1 %t3136, label %grow638, label %put639 grow638: %t3137 = mul i32 %t3135, 2 %t3138 = icmp eq i32 %t3135, 0 %t3139 = select i1 %t3138, i32 8, i32 %t3137 %t3140 = getelementptr ptr, ptr null, i32 1 %t3141 = ptrtoint ptr %t3140 to i64 %t3142 = zext i32 %t3139 to i64 %t3143 = mul i64 %t3142, %t3141 %t3144 = load ptr, ptr %t3133 %t3145 = call ptr @realloc(ptr %t3144, i64 %t3143) store ptr %t3145, ptr %t3133 store i32 %t3139, ptr %t3132 br label %put639 put639: %t3146 = load ptr, ptr %t3133 %t3147 = getelementptr inbounds ptr, ptr %t3146, i32 %t3134 store ptr @.str7577, ptr %t3147 %t3148 = add i32 %t3134, 1 store i32 %t3148, ptr %t3131 br label %ifend633 ifend633: %t3149 = load ptr, ptr %t1 %t3150 = call i32 @lp_str_eq(ptr %t3149, ptr @.str7578) %t3151 = icmp ne i32 %t3150, 0 br i1 %t3151, label %then640, label %ifend642 then640: store ptr @.str7579, ptr %t420 %t3152 = load ptr, ptr %t427 %t3153 = getelementptr inbounds %LSlice, ptr %t3152, i32 0, i32 1 %t3154 = getelementptr inbounds %LSlice, ptr %t3152, i32 0, i32 2 %t3155 = getelementptr inbounds %LSlice, ptr %t3152, i32 0, i32 0 %t3156 = load i32, ptr %t3153 %t3157 = load i32, ptr %t3154 %t3158 = icmp sge i32 %t3156, %t3157 br i1 %t3158, label %grow643, label %put644 grow643: %t3159 = mul i32 %t3157, 2 %t3160 = icmp eq i32 %t3157, 0 %t3161 = select i1 %t3160, i32 8, i32 %t3159 %t3162 = getelementptr ptr, ptr null, i32 1 %t3163 = ptrtoint ptr %t3162 to i64 %t3164 = zext i32 %t3161 to i64 %t3165 = mul i64 %t3164, %t3163 %t3166 = load ptr, ptr %t3155 %t3167 = call ptr @realloc(ptr %t3166, i64 %t3165) store ptr %t3167, ptr %t3155 store i32 %t3161, ptr %t3154 br label %put644 put644: %t3168 = load ptr, ptr %t3155 %t3169 = getelementptr inbounds ptr, ptr %t3168, i32 %t3156 store ptr @.str7580, ptr %t3169 %t3170 = add i32 %t3156, 1 store i32 %t3170, ptr %t3153 %t3171 = load ptr, ptr %t427 %t3172 = getelementptr inbounds %LSlice, ptr %t3171, i32 0, i32 1 %t3173 = getelementptr inbounds %LSlice, ptr %t3171, i32 0, i32 2 %t3174 = getelementptr inbounds %LSlice, ptr %t3171, i32 0, i32 0 %t3175 = load i32, ptr %t3172 %t3176 = load i32, ptr %t3173 %t3177 = icmp sge i32 %t3175, %t3176 br i1 %t3177, label %grow645, label %put646 grow645: %t3178 = mul i32 %t3176, 2 %t3179 = icmp eq i32 %t3176, 0 %t3180 = select i1 %t3179, i32 8, i32 %t3178 %t3181 = getelementptr ptr, ptr null, i32 1 %t3182 = ptrtoint ptr %t3181 to i64 %t3183 = zext i32 %t3180 to i64 %t3184 = mul i64 %t3183, %t3182 %t3185 = load ptr, ptr %t3174 %t3186 = call ptr @realloc(ptr %t3185, i64 %t3184) store ptr %t3186, ptr %t3174 store i32 %t3180, ptr %t3173 br label %put646 put646: %t3187 = load ptr, ptr %t3174 %t3188 = getelementptr inbounds ptr, ptr %t3187, i32 %t3175 store ptr @.str7581, ptr %t3188 %t3189 = add i32 %t3175, 1 store i32 %t3189, ptr %t3172 %t3190 = load ptr, ptr %t427 %t3191 = getelementptr inbounds %LSlice, ptr %t3190, i32 0, i32 1 %t3192 = getelementptr inbounds %LSlice, ptr %t3190, i32 0, i32 2 %t3193 = getelementptr inbounds %LSlice, ptr %t3190, i32 0, i32 0 %t3194 = load i32, ptr %t3191 %t3195 = load i32, ptr %t3192 %t3196 = icmp sge i32 %t3194, %t3195 br i1 %t3196, label %grow647, label %put648 grow647: %t3197 = mul i32 %t3195, 2 %t3198 = icmp eq i32 %t3195, 0 %t3199 = select i1 %t3198, i32 8, i32 %t3197 %t3200 = getelementptr ptr, ptr null, i32 1 %t3201 = ptrtoint ptr %t3200 to i64 %t3202 = zext i32 %t3199 to i64 %t3203 = mul i64 %t3202, %t3201 %t3204 = load ptr, ptr %t3193 %t3205 = call ptr @realloc(ptr %t3204, i64 %t3203) store ptr %t3205, ptr %t3193 store i32 %t3199, ptr %t3192 br label %put648 put648: %t3206 = load ptr, ptr %t3193 %t3207 = getelementptr inbounds ptr, ptr %t3206, i32 %t3194 store ptr @.str7582, ptr %t3207 %t3208 = add i32 %t3194, 1 store i32 %t3208, ptr %t3191 br label %ifend642 ifend642: %t3209 = load ptr, ptr %t1 %t3210 = call i32 @lp_str_eq(ptr %t3209, ptr @.str7583) %t3211 = icmp ne i32 %t3210, 0 br i1 %t3211, label %then649, label %ifend651 then649: store ptr @.str7584, ptr %t420 %t3212 = load ptr, ptr %t427 %t3213 = getelementptr inbounds %LSlice, ptr %t3212, i32 0, i32 1 %t3214 = getelementptr inbounds %LSlice, ptr %t3212, i32 0, i32 2 %t3215 = getelementptr inbounds %LSlice, ptr %t3212, i32 0, i32 0 %t3216 = load i32, ptr %t3213 %t3217 = load i32, ptr %t3214 %t3218 = icmp sge i32 %t3216, %t3217 br i1 %t3218, label %grow652, label %put653 grow652: %t3219 = mul i32 %t3217, 2 %t3220 = icmp eq i32 %t3217, 0 %t3221 = select i1 %t3220, i32 8, i32 %t3219 %t3222 = getelementptr ptr, ptr null, i32 1 %t3223 = ptrtoint ptr %t3222 to i64 %t3224 = zext i32 %t3221 to i64 %t3225 = mul i64 %t3224, %t3223 %t3226 = load ptr, ptr %t3215 %t3227 = call ptr @realloc(ptr %t3226, i64 %t3225) store ptr %t3227, ptr %t3215 store i32 %t3221, ptr %t3214 br label %put653 put653: %t3228 = load ptr, ptr %t3215 %t3229 = getelementptr inbounds ptr, ptr %t3228, i32 %t3216 store ptr @.str7585, ptr %t3229 %t3230 = add i32 %t3216, 1 store i32 %t3230, ptr %t3213 br label %ifend651 ifend651: %t3231 = load ptr, ptr %t1 %t3232 = call i32 @lp_str_eq(ptr %t3231, ptr @.str7586) %t3233 = icmp ne i32 %t3232, 0 br i1 %t3233, label %then654, label %ifend656 then654: store ptr @.str7587, ptr %t420 %t3234 = load ptr, ptr %t427 %t3235 = getelementptr inbounds %LSlice, ptr %t3234, i32 0, i32 1 %t3236 = getelementptr inbounds %LSlice, ptr %t3234, i32 0, i32 2 %t3237 = getelementptr inbounds %LSlice, ptr %t3234, i32 0, i32 0 %t3238 = load i32, ptr %t3235 %t3239 = load i32, ptr %t3236 %t3240 = icmp sge i32 %t3238, %t3239 br i1 %t3240, label %grow657, label %put658 grow657: %t3241 = mul i32 %t3239, 2 %t3242 = icmp eq i32 %t3239, 0 %t3243 = select i1 %t3242, i32 8, i32 %t3241 %t3244 = getelementptr ptr, ptr null, i32 1 %t3245 = ptrtoint ptr %t3244 to i64 %t3246 = zext i32 %t3243 to i64 %t3247 = mul i64 %t3246, %t3245 %t3248 = load ptr, ptr %t3237 %t3249 = call ptr @realloc(ptr %t3248, i64 %t3247) store ptr %t3249, ptr %t3237 store i32 %t3243, ptr %t3236 br label %put658 put658: %t3250 = load ptr, ptr %t3237 %t3251 = getelementptr inbounds ptr, ptr %t3250, i32 %t3238 store ptr @.str7588, ptr %t3251 %t3252 = add i32 %t3238, 1 store i32 %t3252, ptr %t3235 br label %ifend656 ifend656: br label %ifend614 ifend614: %t3253 = load ptr, ptr %t0 %t3254 = call i32 @lp_str_eq(ptr %t3253, ptr @.str7589) %t3255 = icmp ne i32 %t3254, 0 br i1 %t3255, label %then659, label %ifend661 then659: %t3256 = load ptr, ptr %t1 %t3257 = call i32 @lp_str_eq(ptr %t3256, ptr @.str7590) %t3258 = icmp ne i32 %t3257, 0 br i1 %t3258, label %then662, label %ifend664 then662: store ptr @.str7591, ptr %t420 %t3259 = load ptr, ptr %t427 %t3260 = getelementptr inbounds %LSlice, ptr %t3259, i32 0, i32 1 %t3261 = getelementptr inbounds %LSlice, ptr %t3259, i32 0, i32 2 %t3262 = getelementptr inbounds %LSlice, ptr %t3259, i32 0, i32 0 %t3263 = load i32, ptr %t3260 %t3264 = load i32, ptr %t3261 %t3265 = icmp sge i32 %t3263, %t3264 br i1 %t3265, label %grow665, label %put666 grow665: %t3266 = mul i32 %t3264, 2 %t3267 = icmp eq i32 %t3264, 0 %t3268 = select i1 %t3267, i32 8, i32 %t3266 %t3269 = getelementptr ptr, ptr null, i32 1 %t3270 = ptrtoint ptr %t3269 to i64 %t3271 = zext i32 %t3268 to i64 %t3272 = mul i64 %t3271, %t3270 %t3273 = load ptr, ptr %t3262 %t3274 = call ptr @realloc(ptr %t3273, i64 %t3272) store ptr %t3274, ptr %t3262 store i32 %t3268, ptr %t3261 br label %put666 put666: %t3275 = load ptr, ptr %t3262 %t3276 = getelementptr inbounds ptr, ptr %t3275, i32 %t3263 store ptr @.str7592, ptr %t3276 %t3277 = add i32 %t3263, 1 store i32 %t3277, ptr %t3260 %t3278 = load ptr, ptr %t427 %t3279 = getelementptr inbounds %LSlice, ptr %t3278, i32 0, i32 1 %t3280 = getelementptr inbounds %LSlice, ptr %t3278, i32 0, i32 2 %t3281 = getelementptr inbounds %LSlice, ptr %t3278, i32 0, i32 0 %t3282 = load i32, ptr %t3279 %t3283 = load i32, ptr %t3280 %t3284 = icmp sge i32 %t3282, %t3283 br i1 %t3284, label %grow667, label %put668 grow667: %t3285 = mul i32 %t3283, 2 %t3286 = icmp eq i32 %t3283, 0 %t3287 = select i1 %t3286, i32 8, i32 %t3285 %t3288 = getelementptr ptr, ptr null, i32 1 %t3289 = ptrtoint ptr %t3288 to i64 %t3290 = zext i32 %t3287 to i64 %t3291 = mul i64 %t3290, %t3289 %t3292 = load ptr, ptr %t3281 %t3293 = call ptr @realloc(ptr %t3292, i64 %t3291) store ptr %t3293, ptr %t3281 store i32 %t3287, ptr %t3280 br label %put668 put668: %t3294 = load ptr, ptr %t3281 %t3295 = getelementptr inbounds ptr, ptr %t3294, i32 %t3282 store ptr @.str7593, ptr %t3295 %t3296 = add i32 %t3282, 1 store i32 %t3296, ptr %t3279 %t3297 = load ptr, ptr %t427 %t3298 = getelementptr inbounds %LSlice, ptr %t3297, i32 0, i32 1 %t3299 = getelementptr inbounds %LSlice, ptr %t3297, i32 0, i32 2 %t3300 = getelementptr inbounds %LSlice, ptr %t3297, i32 0, i32 0 %t3301 = load i32, ptr %t3298 %t3302 = load i32, ptr %t3299 %t3303 = icmp sge i32 %t3301, %t3302 br i1 %t3303, label %grow669, label %put670 grow669: %t3304 = mul i32 %t3302, 2 %t3305 = icmp eq i32 %t3302, 0 %t3306 = select i1 %t3305, i32 8, i32 %t3304 %t3307 = getelementptr ptr, ptr null, i32 1 %t3308 = ptrtoint ptr %t3307 to i64 %t3309 = zext i32 %t3306 to i64 %t3310 = mul i64 %t3309, %t3308 %t3311 = load ptr, ptr %t3300 %t3312 = call ptr @realloc(ptr %t3311, i64 %t3310) store ptr %t3312, ptr %t3300 store i32 %t3306, ptr %t3299 br label %put670 put670: %t3313 = load ptr, ptr %t3300 %t3314 = getelementptr inbounds ptr, ptr %t3313, i32 %t3301 store ptr @.str7594, ptr %t3314 %t3315 = add i32 %t3301, 1 store i32 %t3315, ptr %t3298 %t3316 = load ptr, ptr %t427 %t3317 = getelementptr inbounds %LSlice, ptr %t3316, i32 0, i32 1 %t3318 = getelementptr inbounds %LSlice, ptr %t3316, i32 0, i32 2 %t3319 = getelementptr inbounds %LSlice, ptr %t3316, i32 0, i32 0 %t3320 = load i32, ptr %t3317 %t3321 = load i32, ptr %t3318 %t3322 = icmp sge i32 %t3320, %t3321 br i1 %t3322, label %grow671, label %put672 grow671: %t3323 = mul i32 %t3321, 2 %t3324 = icmp eq i32 %t3321, 0 %t3325 = select i1 %t3324, i32 8, i32 %t3323 %t3326 = getelementptr ptr, ptr null, i32 1 %t3327 = ptrtoint ptr %t3326 to i64 %t3328 = zext i32 %t3325 to i64 %t3329 = mul i64 %t3328, %t3327 %t3330 = load ptr, ptr %t3319 %t3331 = call ptr @realloc(ptr %t3330, i64 %t3329) store ptr %t3331, ptr %t3319 store i32 %t3325, ptr %t3318 br label %put672 put672: %t3332 = load ptr, ptr %t3319 %t3333 = getelementptr inbounds ptr, ptr %t3332, i32 %t3320 store ptr @.str7595, ptr %t3333 %t3334 = add i32 %t3320, 1 store i32 %t3334, ptr %t3317 br label %ifend664 ifend664: %t3335 = load ptr, ptr %t1 %t3336 = call i32 @lp_str_eq(ptr %t3335, ptr @.str7596) %t3337 = icmp ne i32 %t3336, 0 br i1 %t3337, label %then673, label %ifend675 then673: store ptr @.str7597, ptr %t420 %t3338 = load ptr, ptr %t427 %t3339 = getelementptr inbounds %LSlice, ptr %t3338, i32 0, i32 1 %t3340 = getelementptr inbounds %LSlice, ptr %t3338, i32 0, i32 2 %t3341 = getelementptr inbounds %LSlice, ptr %t3338, i32 0, i32 0 %t3342 = load i32, ptr %t3339 %t3343 = load i32, ptr %t3340 %t3344 = icmp sge i32 %t3342, %t3343 br i1 %t3344, label %grow676, label %put677 grow676: %t3345 = mul i32 %t3343, 2 %t3346 = icmp eq i32 %t3343, 0 %t3347 = select i1 %t3346, i32 8, i32 %t3345 %t3348 = getelementptr ptr, ptr null, i32 1 %t3349 = ptrtoint ptr %t3348 to i64 %t3350 = zext i32 %t3347 to i64 %t3351 = mul i64 %t3350, %t3349 %t3352 = load ptr, ptr %t3341 %t3353 = call ptr @realloc(ptr %t3352, i64 %t3351) store ptr %t3353, ptr %t3341 store i32 %t3347, ptr %t3340 br label %put677 put677: %t3354 = load ptr, ptr %t3341 %t3355 = getelementptr inbounds ptr, ptr %t3354, i32 %t3342 store ptr @.str7598, ptr %t3355 %t3356 = add i32 %t3342, 1 store i32 %t3356, ptr %t3339 %t3357 = load ptr, ptr %t427 %t3358 = getelementptr inbounds %LSlice, ptr %t3357, i32 0, i32 1 %t3359 = getelementptr inbounds %LSlice, ptr %t3357, i32 0, i32 2 %t3360 = getelementptr inbounds %LSlice, ptr %t3357, i32 0, i32 0 %t3361 = load i32, ptr %t3358 %t3362 = load i32, ptr %t3359 %t3363 = icmp sge i32 %t3361, %t3362 br i1 %t3363, label %grow678, label %put679 grow678: %t3364 = mul i32 %t3362, 2 %t3365 = icmp eq i32 %t3362, 0 %t3366 = select i1 %t3365, i32 8, i32 %t3364 %t3367 = getelementptr ptr, ptr null, i32 1 %t3368 = ptrtoint ptr %t3367 to i64 %t3369 = zext i32 %t3366 to i64 %t3370 = mul i64 %t3369, %t3368 %t3371 = load ptr, ptr %t3360 %t3372 = call ptr @realloc(ptr %t3371, i64 %t3370) store ptr %t3372, ptr %t3360 store i32 %t3366, ptr %t3359 br label %put679 put679: %t3373 = load ptr, ptr %t3360 %t3374 = getelementptr inbounds ptr, ptr %t3373, i32 %t3361 store ptr @.str7599, ptr %t3374 %t3375 = add i32 %t3361, 1 store i32 %t3375, ptr %t3358 %t3376 = load ptr, ptr %t427 %t3377 = getelementptr inbounds %LSlice, ptr %t3376, i32 0, i32 1 %t3378 = getelementptr inbounds %LSlice, ptr %t3376, i32 0, i32 2 %t3379 = getelementptr inbounds %LSlice, ptr %t3376, i32 0, i32 0 %t3380 = load i32, ptr %t3377 %t3381 = load i32, ptr %t3378 %t3382 = icmp sge i32 %t3380, %t3381 br i1 %t3382, label %grow680, label %put681 grow680: %t3383 = mul i32 %t3381, 2 %t3384 = icmp eq i32 %t3381, 0 %t3385 = select i1 %t3384, i32 8, i32 %t3383 %t3386 = getelementptr ptr, ptr null, i32 1 %t3387 = ptrtoint ptr %t3386 to i64 %t3388 = zext i32 %t3385 to i64 %t3389 = mul i64 %t3388, %t3387 %t3390 = load ptr, ptr %t3379 %t3391 = call ptr @realloc(ptr %t3390, i64 %t3389) store ptr %t3391, ptr %t3379 store i32 %t3385, ptr %t3378 br label %put681 put681: %t3392 = load ptr, ptr %t3379 %t3393 = getelementptr inbounds ptr, ptr %t3392, i32 %t3380 store ptr @.str7600, ptr %t3393 %t3394 = add i32 %t3380, 1 store i32 %t3394, ptr %t3377 %t3395 = load ptr, ptr %t427 %t3396 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 1 %t3397 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 2 %t3398 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 0 %t3399 = load i32, ptr %t3396 %t3400 = load i32, ptr %t3397 %t3401 = icmp sge i32 %t3399, %t3400 br i1 %t3401, label %grow682, label %put683 grow682: %t3402 = mul i32 %t3400, 2 %t3403 = icmp eq i32 %t3400, 0 %t3404 = select i1 %t3403, i32 8, i32 %t3402 %t3405 = getelementptr ptr, ptr null, i32 1 %t3406 = ptrtoint ptr %t3405 to i64 %t3407 = zext i32 %t3404 to i64 %t3408 = mul i64 %t3407, %t3406 %t3409 = load ptr, ptr %t3398 %t3410 = call ptr @realloc(ptr %t3409, i64 %t3408) store ptr %t3410, ptr %t3398 store i32 %t3404, ptr %t3397 br label %put683 put683: %t3411 = load ptr, ptr %t3398 %t3412 = getelementptr inbounds ptr, ptr %t3411, i32 %t3399 store ptr @.str7601, ptr %t3412 %t3413 = add i32 %t3399, 1 store i32 %t3413, ptr %t3396 br label %ifend675 ifend675: %t3414 = load ptr, ptr %t1 %t3415 = call i32 @lp_str_eq(ptr %t3414, ptr @.str7602) %t3416 = icmp ne i32 %t3415, 0 br i1 %t3416, label %then684, label %ifend686 then684: store ptr @.str7603, ptr %t420 br label %ifend686 ifend686: br label %ifend661 ifend661: %t3417 = load ptr, ptr %t0 %t3418 = call i32 @lp_str_eq(ptr %t3417, ptr @.str7604) %t3419 = icmp ne i32 %t3418, 0 br i1 %t3419, label %then687, label %ifend689 then687: %t3420 = load ptr, ptr %t1 %t3421 = call i32 @lp_str_eq(ptr %t3420, ptr @.str7605) %t3422 = icmp ne i32 %t3421, 0 br i1 %t3422, label %then690, label %ifend692 then690: %t3423 = call i32 @fn_has_prefabs() %t3424 = icmp eq i32 %t3423, 0 %t3425 = zext i1 %t3424 to i32 %t3426 = icmp ne i32 %t3425, 0 br i1 %t3426, label %then693, label %ifend695 then693: call void @fn_perr(ptr @.str7606) br label %ifend695 ifend695: %t3427 = call ptr @fn_find_comp(ptr @.str7607) store ptr %t3427, ptr %t3428 %t3429 = load ptr, ptr %t3428 %t3430 = icmp eq ptr %t3429, null %t3431 = zext i1 %t3430 to i32 %t3432 = icmp ne i32 %t3431, 0 br i1 %t3432, label %then696, label %ifend698 then696: call void @fn_perr(ptr @.str7608) br label %ifend698 ifend698: %t3433 = getelementptr %LSlice, ptr null, i32 1 %t3434 = ptrtoint ptr %t3433 to i64 %t3435 = call ptr @malloc(i64 %t3434) %t3436 = getelementptr inbounds %LSlice, ptr %t3435, i32 0, i32 0 store ptr null, ptr %t3436 %t3437 = getelementptr inbounds %LSlice, ptr %t3435, i32 0, i32 1 store i32 0, ptr %t3437 %t3438 = getelementptr inbounds %LSlice, ptr %t3435, i32 0, i32 2 store i32 0, ptr %t3438 store ptr %t3435, ptr %t3439 %t3440 = load ptr, ptr %t3439 %t3441 = getelementptr inbounds %LSlice, ptr %t3440, i32 0, i32 1 %t3442 = getelementptr inbounds %LSlice, ptr %t3440, i32 0, i32 2 %t3443 = getelementptr inbounds %LSlice, ptr %t3440, i32 0, i32 0 %t3444 = load i32, ptr %t3441 %t3445 = load i32, ptr %t3442 %t3446 = icmp sge i32 %t3444, %t3445 br i1 %t3446, label %grow699, label %put700 grow699: %t3447 = mul i32 %t3445, 2 %t3448 = icmp eq i32 %t3445, 0 %t3449 = select i1 %t3448, i32 8, i32 %t3447 %t3450 = getelementptr ptr, ptr null, i32 1 %t3451 = ptrtoint ptr %t3450 to i64 %t3452 = zext i32 %t3449 to i64 %t3453 = mul i64 %t3452, %t3451 %t3454 = load ptr, ptr %t3443 %t3455 = call ptr @realloc(ptr %t3454, i64 %t3453) store ptr %t3455, ptr %t3443 store i32 %t3449, ptr %t3442 br label %put700 put700: %t3456 = load ptr, ptr %t3443 %t3457 = getelementptr inbounds ptr, ptr %t3456, i32 %t3444 store ptr @.str7609, ptr %t3457 %t3458 = add i32 %t3444, 1 store i32 %t3458, ptr %t3441 %t3459 = load ptr, ptr %t3439 %t3460 = getelementptr inbounds %LSlice, ptr %t3459, i32 0, i32 1 %t3461 = getelementptr inbounds %LSlice, ptr %t3459, i32 0, i32 2 %t3462 = getelementptr inbounds %LSlice, ptr %t3459, i32 0, i32 0 %t3463 = load i32, ptr %t3460 %t3464 = load i32, ptr %t3461 %t3465 = icmp sge i32 %t3463, %t3464 br i1 %t3465, label %grow701, label %put702 grow701: %t3466 = mul i32 %t3464, 2 %t3467 = icmp eq i32 %t3464, 0 %t3468 = select i1 %t3467, i32 8, i32 %t3466 %t3469 = getelementptr ptr, ptr null, i32 1 %t3470 = ptrtoint ptr %t3469 to i64 %t3471 = zext i32 %t3468 to i64 %t3472 = mul i64 %t3471, %t3470 %t3473 = load ptr, ptr %t3462 %t3474 = call ptr @realloc(ptr %t3473, i64 %t3472) store ptr %t3474, ptr %t3462 store i32 %t3468, ptr %t3461 br label %put702 put702: %t3475 = load ptr, ptr %t3462 %t3476 = getelementptr inbounds ptr, ptr %t3475, i32 %t3463 store ptr @.str7610, ptr %t3476 %t3477 = add i32 %t3463, 1 store i32 %t3477, ptr %t3460 %t3478 = load ptr, ptr %t2 %t3479 = load ptr, ptr %t3439 call void @fn_reorder_named(ptr %t3478, ptr %t3479) %t3480 = load ptr, ptr %t2 %t3481 = getelementptr inbounds %Cmp_Node, ptr %t3480, i32 0, i32 7 %t3482 = load ptr, ptr %t3481 %t3483 = getelementptr inbounds %LSlice, ptr %t3482, i32 0, i32 0 %t3484 = load ptr, ptr %t3483 %t3485 = getelementptr inbounds ptr, ptr %t3484, i32 0 %t3486 = load ptr, ptr %t3485 %t3487 = call ptr @fn_emit_expr(ptr %t3486) store ptr %t3487, ptr %t3488 %t3489 = load ptr, ptr %t2 %t3490 = getelementptr inbounds %Cmp_Node, ptr %t3489, i32 0, i32 7 %t3491 = load ptr, ptr %t3490 %t3492 = getelementptr inbounds %LSlice, ptr %t3491, i32 0, i32 0 %t3493 = load ptr, ptr %t3492 %t3494 = getelementptr inbounds ptr, ptr %t3493, i32 1 %t3495 = load ptr, ptr %t3494 %t3496 = call ptr @fn_emit_expr(ptr %t3495) store ptr %t3496, ptr %t3497 %t3498 = load ptr, ptr %t3488 %t3499 = getelementptr inbounds %Cmp_Val, ptr %t3498, i32 0, i32 0 %t3500 = load ptr, ptr %t3499 %t3501 = call ptr @lp_str_concat(ptr @.str7611, ptr %t3500) %t3502 = call ptr @lp_str_concat(ptr %t3501, ptr @.str7612) %t3503 = call ptr @fn_emit_bind(ptr %t3502) store ptr %t3503, ptr %t3504 %t3505 = call ptr @fn_itoa(i32 1024) store ptr %t3505, ptr %t3506 %t3507 = load ptr, ptr %t3506 %t3508 = call ptr @lp_str_concat(ptr @.str7613, ptr %t3507) %t3509 = call ptr @lp_str_concat(ptr %t3508, ptr @.str7614) %t3510 = load ptr, ptr %t3504 %t3511 = call ptr @lp_str_concat(ptr %t3509, ptr %t3510) %t3512 = call ptr @fn_emit_bind(ptr %t3511) store ptr %t3512, ptr %t3513 %t3514 = load ptr, ptr %t3513 %t3515 = call ptr @lp_str_concat(ptr @.str7615, ptr %t3514) %t3516 = call ptr @lp_str_concat(ptr %t3515, ptr @.str7616) %t3517 = load ptr, ptr %t3428 %t3518 = call i32 @fn_field_index(ptr %t3517, ptr @.str7617) %t3519 = call ptr @fn_itoa(i32 %t3518) %t3520 = call ptr @lp_str_concat(ptr %t3516, ptr %t3519) %t3521 = call ptr @fn_emit_bind(ptr %t3520) store ptr %t3521, ptr %t3522 %t3523 = load ptr, ptr %t3513 %t3524 = call ptr @lp_str_concat(ptr @.str7618, ptr %t3523) %t3525 = call ptr @lp_str_concat(ptr %t3524, ptr @.str7619) %t3526 = load ptr, ptr %t3428 %t3527 = call i32 @fn_field_index(ptr %t3526, ptr @.str7620) %t3528 = call ptr @fn_itoa(i32 %t3527) %t3529 = call ptr @lp_str_concat(ptr %t3525, ptr %t3528) %t3530 = call ptr @fn_emit_bind(ptr %t3529) store ptr %t3530, ptr %t3531 %t3532 = load ptr, ptr %t3497 %t3533 = getelementptr inbounds %Cmp_Val, ptr %t3532, i32 0, i32 0 %t3534 = load ptr, ptr %t3533 %t3535 = call ptr @fn_vec_x(ptr %t3534) store ptr %t3535, ptr %t3536 %t3537 = load ptr, ptr %t3497 %t3538 = getelementptr inbounds %Cmp_Val, ptr %t3537, i32 0, i32 0 %t3539 = load ptr, ptr %t3538 %t3540 = call ptr @fn_vec_y(ptr %t3539) store ptr %t3540, ptr %t3541 call void @fn_emit(ptr @.str7621) %t3542 = load ptr, ptr %t3536 call void @fn_emit(ptr %t3542) call void @fn_emit(ptr @.str7622) %t3543 = load ptr, ptr %t3522 call void @fn_emit(ptr %t3543) call void @fn_emit(ptr @.str7623) call void @fn_emit(ptr @.str7624) %t3544 = load ptr, ptr %t3541 call void @fn_emit(ptr %t3544) call void @fn_emit(ptr @.str7625) %t3545 = load ptr, ptr %t3531 call void @fn_emit(ptr %t3545) call void @fn_emit(ptr @.str7626) %t3546 = load ptr, ptr %t3504 %t3547 = call ptr @fn_val(ptr %t3546, ptr @.str7627) store ptr %t3547, ptr %retval br label %ret ifend692: %t3548 = load ptr, ptr %t1 %t3549 = call i32 @lp_str_eq(ptr %t3548, ptr @.str7628) %t3550 = icmp ne i32 %t3549, 0 br i1 %t3550, label %then703, label %ifend705 then703: %t3551 = call i32 @fn_has_prefabs() %t3552 = icmp eq i32 %t3551, 0 %t3553 = zext i1 %t3552 to i32 %t3554 = icmp ne i32 %t3553, 0 br i1 %t3554, label %then706, label %ifend708 then706: call void @fn_perr(ptr @.str7629) br label %ifend708 ifend708: %t3555 = getelementptr %LSlice, ptr null, i32 1 %t3556 = ptrtoint ptr %t3555 to i64 %t3557 = call ptr @malloc(i64 %t3556) %t3558 = getelementptr inbounds %LSlice, ptr %t3557, i32 0, i32 0 store ptr null, ptr %t3558 %t3559 = getelementptr inbounds %LSlice, ptr %t3557, i32 0, i32 1 store i32 0, ptr %t3559 %t3560 = getelementptr inbounds %LSlice, ptr %t3557, i32 0, i32 2 store i32 0, ptr %t3560 store ptr %t3557, ptr %t3561 %t3562 = load ptr, ptr %t3561 %t3563 = getelementptr inbounds %LSlice, ptr %t3562, i32 0, i32 1 %t3564 = getelementptr inbounds %LSlice, ptr %t3562, i32 0, i32 2 %t3565 = getelementptr inbounds %LSlice, ptr %t3562, i32 0, i32 0 %t3566 = load i32, ptr %t3563 %t3567 = load i32, ptr %t3564 %t3568 = icmp sge i32 %t3566, %t3567 br i1 %t3568, label %grow709, label %put710 grow709: %t3569 = mul i32 %t3567, 2 %t3570 = icmp eq i32 %t3567, 0 %t3571 = select i1 %t3570, i32 8, i32 %t3569 %t3572 = getelementptr ptr, ptr null, i32 1 %t3573 = ptrtoint ptr %t3572 to i64 %t3574 = zext i32 %t3571 to i64 %t3575 = mul i64 %t3574, %t3573 %t3576 = load ptr, ptr %t3565 %t3577 = call ptr @realloc(ptr %t3576, i64 %t3575) store ptr %t3577, ptr %t3565 store i32 %t3571, ptr %t3564 br label %put710 put710: %t3578 = load ptr, ptr %t3565 %t3579 = getelementptr inbounds ptr, ptr %t3578, i32 %t3566 store ptr @.str7630, ptr %t3579 %t3580 = add i32 %t3566, 1 store i32 %t3580, ptr %t3563 %t3581 = load ptr, ptr %t2 %t3582 = load ptr, ptr %t3561 call void @fn_reorder_named(ptr %t3581, ptr %t3582) %t3583 = load ptr, ptr %t2 %t3584 = getelementptr inbounds %Cmp_Node, ptr %t3583, i32 0, i32 7 %t3585 = load ptr, ptr %t3584 %t3586 = getelementptr inbounds %LSlice, ptr %t3585, i32 0, i32 1 %t3587 = load i32, ptr %t3586 %t3588 = icmp ne i32 %t3587, 1 %t3589 = zext i1 %t3588 to i32 %t3590 = icmp ne i32 %t3589, 0 br i1 %t3590, label %then711, label %ifend713 then711: call void @fn_perr(ptr @.str7631) br label %ifend713 ifend713: %t3591 = load ptr, ptr %t2 %t3592 = getelementptr inbounds %Cmp_Node, ptr %t3591, i32 0, i32 7 %t3593 = load ptr, ptr %t3592 %t3594 = getelementptr inbounds %LSlice, ptr %t3593, i32 0, i32 0 %t3595 = load ptr, ptr %t3594 %t3596 = getelementptr inbounds ptr, ptr %t3595, i32 0 %t3597 = load ptr, ptr %t3596 %t3598 = call ptr @fn_emit_expr(ptr %t3597) store ptr %t3598, ptr %t3599 %t3600 = load ptr, ptr %t3599 %t3601 = getelementptr inbounds %Cmp_Val, ptr %t3600, i32 0, i32 0 %t3602 = load ptr, ptr %t3601 %t3603 = call ptr @lp_str_concat(ptr @.str7632, ptr %t3602) %t3604 = call ptr @lp_str_concat(ptr %t3603, ptr @.str7633) %t3605 = call ptr @fn_emit_bind(ptr %t3604) %t3606 = call ptr @fn_val(ptr %t3605, ptr @.str7634) store ptr %t3606, ptr %retval br label %ret ifend705: %t3607 = load ptr, ptr %t1 %t3608 = call ptr @lp_str_concat(ptr @.str7635, ptr %t3607) call void @fn_perr(ptr %t3608) br label %ifend689 ifend689: %t3609 = load ptr, ptr %t0 %t3610 = call i32 @lp_str_eq(ptr %t3609, ptr @.str7636) %t3611 = icmp ne i32 %t3610, 0 br i1 %t3611, label %then714, label %ifend716 then714: %t3612 = load ptr, ptr %t1 %t3613 = call i32 @lp_str_eq(ptr %t3612, ptr @.str7637) %t3614 = icmp ne i32 %t3613, 0 br i1 %t3614, label %then717, label %ifend719 then717: store ptr @.str7638, ptr %t420 %t3615 = load ptr, ptr %t427 %t3616 = getelementptr inbounds %LSlice, ptr %t3615, i32 0, i32 1 %t3617 = getelementptr inbounds %LSlice, ptr %t3615, i32 0, i32 2 %t3618 = getelementptr inbounds %LSlice, ptr %t3615, i32 0, i32 0 %t3619 = load i32, ptr %t3616 %t3620 = load i32, ptr %t3617 %t3621 = icmp sge i32 %t3619, %t3620 br i1 %t3621, label %grow720, label %put721 grow720: %t3622 = mul i32 %t3620, 2 %t3623 = icmp eq i32 %t3620, 0 %t3624 = select i1 %t3623, i32 8, i32 %t3622 %t3625 = getelementptr ptr, ptr null, i32 1 %t3626 = ptrtoint ptr %t3625 to i64 %t3627 = zext i32 %t3624 to i64 %t3628 = mul i64 %t3627, %t3626 %t3629 = load ptr, ptr %t3618 %t3630 = call ptr @realloc(ptr %t3629, i64 %t3628) store ptr %t3630, ptr %t3618 store i32 %t3624, ptr %t3617 br label %put721 put721: %t3631 = load ptr, ptr %t3618 %t3632 = getelementptr inbounds ptr, ptr %t3631, i32 %t3619 store ptr @.str7639, ptr %t3632 %t3633 = add i32 %t3619, 1 store i32 %t3633, ptr %t3616 br label %ifend719 ifend719: %t3634 = load ptr, ptr %t1 %t3635 = call i32 @lp_str_eq(ptr %t3634, ptr @.str7640) %t3636 = icmp ne i32 %t3635, 0 br i1 %t3636, label %then722, label %ifend724 then722: store ptr @.str7641, ptr %t420 %t3637 = load ptr, ptr %t427 %t3638 = getelementptr inbounds %LSlice, ptr %t3637, i32 0, i32 1 %t3639 = getelementptr inbounds %LSlice, ptr %t3637, i32 0, i32 2 %t3640 = getelementptr inbounds %LSlice, ptr %t3637, i32 0, i32 0 %t3641 = load i32, ptr %t3638 %t3642 = load i32, ptr %t3639 %t3643 = icmp sge i32 %t3641, %t3642 br i1 %t3643, label %grow725, label %put726 grow725: %t3644 = mul i32 %t3642, 2 %t3645 = icmp eq i32 %t3642, 0 %t3646 = select i1 %t3645, i32 8, i32 %t3644 %t3647 = getelementptr ptr, ptr null, i32 1 %t3648 = ptrtoint ptr %t3647 to i64 %t3649 = zext i32 %t3646 to i64 %t3650 = mul i64 %t3649, %t3648 %t3651 = load ptr, ptr %t3640 %t3652 = call ptr @realloc(ptr %t3651, i64 %t3650) store ptr %t3652, ptr %t3640 store i32 %t3646, ptr %t3639 br label %put726 put726: %t3653 = load ptr, ptr %t3640 %t3654 = getelementptr inbounds ptr, ptr %t3653, i32 %t3641 store ptr @.str7642, ptr %t3654 %t3655 = add i32 %t3641, 1 store i32 %t3655, ptr %t3638 br label %ifend724 ifend724: %t3656 = load ptr, ptr %t1 %t3657 = call i32 @lp_str_eq(ptr %t3656, ptr @.str7643) %t3658 = icmp ne i32 %t3657, 0 br i1 %t3658, label %then727, label %ifend729 then727: store ptr @.str7644, ptr %t420 %t3659 = load ptr, ptr %t427 %t3660 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 1 %t3661 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 2 %t3662 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 0 %t3663 = load i32, ptr %t3660 %t3664 = load i32, ptr %t3661 %t3665 = icmp sge i32 %t3663, %t3664 br i1 %t3665, label %grow730, label %put731 grow730: %t3666 = mul i32 %t3664, 2 %t3667 = icmp eq i32 %t3664, 0 %t3668 = select i1 %t3667, i32 8, i32 %t3666 %t3669 = getelementptr ptr, ptr null, i32 1 %t3670 = ptrtoint ptr %t3669 to i64 %t3671 = zext i32 %t3668 to i64 %t3672 = mul i64 %t3671, %t3670 %t3673 = load ptr, ptr %t3662 %t3674 = call ptr @realloc(ptr %t3673, i64 %t3672) store ptr %t3674, ptr %t3662 store i32 %t3668, ptr %t3661 br label %put731 put731: %t3675 = load ptr, ptr %t3662 %t3676 = getelementptr inbounds ptr, ptr %t3675, i32 %t3663 store ptr @.str7645, ptr %t3676 %t3677 = add i32 %t3663, 1 store i32 %t3677, ptr %t3660 br label %ifend729 ifend729: %t3678 = load ptr, ptr %t1 %t3679 = call i32 @lp_str_eq(ptr %t3678, ptr @.str7646) %t3680 = icmp ne i32 %t3679, 0 br i1 %t3680, label %then732, label %ifend734 then732: store ptr @.str7647, ptr %t420 %t3681 = load ptr, ptr %t427 %t3682 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 1 %t3683 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 2 %t3684 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 0 %t3685 = load i32, ptr %t3682 %t3686 = load i32, ptr %t3683 %t3687 = icmp sge i32 %t3685, %t3686 br i1 %t3687, label %grow735, label %put736 grow735: %t3688 = mul i32 %t3686, 2 %t3689 = icmp eq i32 %t3686, 0 %t3690 = select i1 %t3689, i32 8, i32 %t3688 %t3691 = getelementptr ptr, ptr null, i32 1 %t3692 = ptrtoint ptr %t3691 to i64 %t3693 = zext i32 %t3690 to i64 %t3694 = mul i64 %t3693, %t3692 %t3695 = load ptr, ptr %t3684 %t3696 = call ptr @realloc(ptr %t3695, i64 %t3694) store ptr %t3696, ptr %t3684 store i32 %t3690, ptr %t3683 br label %put736 put736: %t3697 = load ptr, ptr %t3684 %t3698 = getelementptr inbounds ptr, ptr %t3697, i32 %t3685 store ptr @.str7648, ptr %t3698 %t3699 = add i32 %t3685, 1 store i32 %t3699, ptr %t3682 br label %ifend734 ifend734: %t3700 = load ptr, ptr %t1 %t3701 = call i32 @lp_str_eq(ptr %t3700, ptr @.str7649) %t3702 = icmp ne i32 %t3701, 0 br i1 %t3702, label %then737, label %ifend739 then737: store ptr @.str7650, ptr %t420 %t3703 = load ptr, ptr %t427 %t3704 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 1 %t3705 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 2 %t3706 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 0 %t3707 = load i32, ptr %t3704 %t3708 = load i32, ptr %t3705 %t3709 = icmp sge i32 %t3707, %t3708 br i1 %t3709, label %grow740, label %put741 grow740: %t3710 = mul i32 %t3708, 2 %t3711 = icmp eq i32 %t3708, 0 %t3712 = select i1 %t3711, i32 8, i32 %t3710 %t3713 = getelementptr ptr, ptr null, i32 1 %t3714 = ptrtoint ptr %t3713 to i64 %t3715 = zext i32 %t3712 to i64 %t3716 = mul i64 %t3715, %t3714 %t3717 = load ptr, ptr %t3706 %t3718 = call ptr @realloc(ptr %t3717, i64 %t3716) store ptr %t3718, ptr %t3706 store i32 %t3712, ptr %t3705 br label %put741 put741: %t3719 = load ptr, ptr %t3706 %t3720 = getelementptr inbounds ptr, ptr %t3719, i32 %t3707 store ptr @.str7651, ptr %t3720 %t3721 = add i32 %t3707, 1 store i32 %t3721, ptr %t3704 br label %ifend739 ifend739: %t3722 = load ptr, ptr %t1 %t3723 = call i32 @lp_str_eq(ptr %t3722, ptr @.str7652) %t3724 = icmp ne i32 %t3723, 0 br i1 %t3724, label %then742, label %ifend744 then742: store ptr @.str7653, ptr %t420 %t3725 = load ptr, ptr %t427 %t3726 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 1 %t3727 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 2 %t3728 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 0 %t3729 = load i32, ptr %t3726 %t3730 = load i32, ptr %t3727 %t3731 = icmp sge i32 %t3729, %t3730 br i1 %t3731, label %grow745, label %put746 grow745: %t3732 = mul i32 %t3730, 2 %t3733 = icmp eq i32 %t3730, 0 %t3734 = select i1 %t3733, i32 8, i32 %t3732 %t3735 = getelementptr ptr, ptr null, i32 1 %t3736 = ptrtoint ptr %t3735 to i64 %t3737 = zext i32 %t3734 to i64 %t3738 = mul i64 %t3737, %t3736 %t3739 = load ptr, ptr %t3728 %t3740 = call ptr @realloc(ptr %t3739, i64 %t3738) store ptr %t3740, ptr %t3728 store i32 %t3734, ptr %t3727 br label %put746 put746: %t3741 = load ptr, ptr %t3728 %t3742 = getelementptr inbounds ptr, ptr %t3741, i32 %t3729 store ptr @.str7654, ptr %t3742 %t3743 = add i32 %t3729, 1 store i32 %t3743, ptr %t3726 %t3744 = load ptr, ptr %t427 %t3745 = getelementptr inbounds %LSlice, ptr %t3744, i32 0, i32 1 %t3746 = getelementptr inbounds %LSlice, ptr %t3744, i32 0, i32 2 %t3747 = getelementptr inbounds %LSlice, ptr %t3744, i32 0, i32 0 %t3748 = load i32, ptr %t3745 %t3749 = load i32, ptr %t3746 %t3750 = icmp sge i32 %t3748, %t3749 br i1 %t3750, label %grow747, label %put748 grow747: %t3751 = mul i32 %t3749, 2 %t3752 = icmp eq i32 %t3749, 0 %t3753 = select i1 %t3752, i32 8, i32 %t3751 %t3754 = getelementptr ptr, ptr null, i32 1 %t3755 = ptrtoint ptr %t3754 to i64 %t3756 = zext i32 %t3753 to i64 %t3757 = mul i64 %t3756, %t3755 %t3758 = load ptr, ptr %t3747 %t3759 = call ptr @realloc(ptr %t3758, i64 %t3757) store ptr %t3759, ptr %t3747 store i32 %t3753, ptr %t3746 br label %put748 put748: %t3760 = load ptr, ptr %t3747 %t3761 = getelementptr inbounds ptr, ptr %t3760, i32 %t3748 store ptr @.str7655, ptr %t3761 %t3762 = add i32 %t3748, 1 store i32 %t3762, ptr %t3745 br label %ifend744 ifend744: %t3763 = load ptr, ptr %t1 %t3764 = call i32 @lp_str_eq(ptr %t3763, ptr @.str7656) %t3765 = icmp ne i32 %t3764, 0 br i1 %t3765, label %then749, label %ifend751 then749: store ptr @.str7657, ptr %t420 %t3766 = load ptr, ptr %t427 %t3767 = getelementptr inbounds %LSlice, ptr %t3766, i32 0, i32 1 %t3768 = getelementptr inbounds %LSlice, ptr %t3766, i32 0, i32 2 %t3769 = getelementptr inbounds %LSlice, ptr %t3766, i32 0, i32 0 %t3770 = load i32, ptr %t3767 %t3771 = load i32, ptr %t3768 %t3772 = icmp sge i32 %t3770, %t3771 br i1 %t3772, label %grow752, label %put753 grow752: %t3773 = mul i32 %t3771, 2 %t3774 = icmp eq i32 %t3771, 0 %t3775 = select i1 %t3774, i32 8, i32 %t3773 %t3776 = getelementptr ptr, ptr null, i32 1 %t3777 = ptrtoint ptr %t3776 to i64 %t3778 = zext i32 %t3775 to i64 %t3779 = mul i64 %t3778, %t3777 %t3780 = load ptr, ptr %t3769 %t3781 = call ptr @realloc(ptr %t3780, i64 %t3779) store ptr %t3781, ptr %t3769 store i32 %t3775, ptr %t3768 br label %put753 put753: %t3782 = load ptr, ptr %t3769 %t3783 = getelementptr inbounds ptr, ptr %t3782, i32 %t3770 store ptr @.str7658, ptr %t3783 %t3784 = add i32 %t3770, 1 store i32 %t3784, ptr %t3767 br label %ifend751 ifend751: %t3785 = load ptr, ptr %t1 %t3786 = call i32 @lp_str_eq(ptr %t3785, ptr @.str7659) %t3787 = icmp ne i32 %t3786, 0 br i1 %t3787, label %then754, label %ifend756 then754: store ptr @.str7660, ptr %t420 br label %ifend756 ifend756: %t3788 = load ptr, ptr %t1 %t3789 = call i32 @lp_str_eq(ptr %t3788, ptr @.str7661) %t3790 = icmp ne i32 %t3789, 0 br i1 %t3790, label %then757, label %ifend759 then757: store ptr @.str7662, ptr %t420 br label %ifend759 ifend759: %t3791 = load ptr, ptr %t1 %t3792 = call i32 @lp_str_eq(ptr %t3791, ptr @.str7663) %t3793 = icmp ne i32 %t3792, 0 br i1 %t3793, label %then760, label %ifend762 then760: store ptr @.str7664, ptr %t420 br label %ifend762 ifend762: %t3794 = load ptr, ptr %t1 %t3795 = call i32 @lp_str_eq(ptr %t3794, ptr @.str7665) %t3796 = icmp ne i32 %t3795, 0 br i1 %t3796, label %then763, label %ifend765 then763: store ptr @.str7666, ptr %t420 br label %ifend765 ifend765: br label %ifend716 ifend716: %t3797 = load ptr, ptr %t0 %t3798 = call i32 @lp_str_eq(ptr %t3797, ptr @.str7667) %t3799 = icmp ne i32 %t3798, 0 br i1 %t3799, label %then766, label %ifend768 then766: %t3800 = load ptr, ptr %t1 %t3801 = call i32 @lp_str_eq(ptr %t3800, ptr @.str7668) %t3802 = icmp ne i32 %t3801, 0 br i1 %t3802, label %then769, label %ifend771 then769: store ptr @.str7669, ptr %t420 %t3803 = load ptr, ptr %t427 %t3804 = getelementptr inbounds %LSlice, ptr %t3803, i32 0, i32 1 %t3805 = getelementptr inbounds %LSlice, ptr %t3803, i32 0, i32 2 %t3806 = getelementptr inbounds %LSlice, ptr %t3803, i32 0, i32 0 %t3807 = load i32, ptr %t3804 %t3808 = load i32, ptr %t3805 %t3809 = icmp sge i32 %t3807, %t3808 br i1 %t3809, label %grow772, label %put773 grow772: %t3810 = mul i32 %t3808, 2 %t3811 = icmp eq i32 %t3808, 0 %t3812 = select i1 %t3811, i32 8, i32 %t3810 %t3813 = getelementptr ptr, ptr null, i32 1 %t3814 = ptrtoint ptr %t3813 to i64 %t3815 = zext i32 %t3812 to i64 %t3816 = mul i64 %t3815, %t3814 %t3817 = load ptr, ptr %t3806 %t3818 = call ptr @realloc(ptr %t3817, i64 %t3816) store ptr %t3818, ptr %t3806 store i32 %t3812, ptr %t3805 br label %put773 put773: %t3819 = load ptr, ptr %t3806 %t3820 = getelementptr inbounds ptr, ptr %t3819, i32 %t3807 store ptr @.str7670, ptr %t3820 %t3821 = add i32 %t3807, 1 store i32 %t3821, ptr %t3804 %t3822 = load ptr, ptr %t427 %t3823 = getelementptr inbounds %LSlice, ptr %t3822, i32 0, i32 1 %t3824 = getelementptr inbounds %LSlice, ptr %t3822, i32 0, i32 2 %t3825 = getelementptr inbounds %LSlice, ptr %t3822, i32 0, i32 0 %t3826 = load i32, ptr %t3823 %t3827 = load i32, ptr %t3824 %t3828 = icmp sge i32 %t3826, %t3827 br i1 %t3828, label %grow774, label %put775 grow774: %t3829 = mul i32 %t3827, 2 %t3830 = icmp eq i32 %t3827, 0 %t3831 = select i1 %t3830, i32 8, i32 %t3829 %t3832 = getelementptr ptr, ptr null, i32 1 %t3833 = ptrtoint ptr %t3832 to i64 %t3834 = zext i32 %t3831 to i64 %t3835 = mul i64 %t3834, %t3833 %t3836 = load ptr, ptr %t3825 %t3837 = call ptr @realloc(ptr %t3836, i64 %t3835) store ptr %t3837, ptr %t3825 store i32 %t3831, ptr %t3824 br label %put775 put775: %t3838 = load ptr, ptr %t3825 %t3839 = getelementptr inbounds ptr, ptr %t3838, i32 %t3826 store ptr @.str7671, ptr %t3839 %t3840 = add i32 %t3826, 1 store i32 %t3840, ptr %t3823 br label %ifend771 ifend771: %t3841 = load ptr, ptr %t1 %t3842 = call i32 @lp_str_eq(ptr %t3841, ptr @.str7672) %t3843 = icmp ne i32 %t3842, 0 br i1 %t3843, label %then776, label %ifend778 then776: store ptr @.str7673, ptr %t420 %t3844 = load ptr, ptr %t427 %t3845 = getelementptr inbounds %LSlice, ptr %t3844, i32 0, i32 1 %t3846 = getelementptr inbounds %LSlice, ptr %t3844, i32 0, i32 2 %t3847 = getelementptr inbounds %LSlice, ptr %t3844, i32 0, i32 0 %t3848 = load i32, ptr %t3845 %t3849 = load i32, ptr %t3846 %t3850 = icmp sge i32 %t3848, %t3849 br i1 %t3850, label %grow779, label %put780 grow779: %t3851 = mul i32 %t3849, 2 %t3852 = icmp eq i32 %t3849, 0 %t3853 = select i1 %t3852, i32 8, i32 %t3851 %t3854 = getelementptr ptr, ptr null, i32 1 %t3855 = ptrtoint ptr %t3854 to i64 %t3856 = zext i32 %t3853 to i64 %t3857 = mul i64 %t3856, %t3855 %t3858 = load ptr, ptr %t3847 %t3859 = call ptr @realloc(ptr %t3858, i64 %t3857) store ptr %t3859, ptr %t3847 store i32 %t3853, ptr %t3846 br label %put780 put780: %t3860 = load ptr, ptr %t3847 %t3861 = getelementptr inbounds ptr, ptr %t3860, i32 %t3848 store ptr @.str7674, ptr %t3861 %t3862 = add i32 %t3848, 1 store i32 %t3862, ptr %t3845 %t3863 = load ptr, ptr %t427 %t3864 = getelementptr inbounds %LSlice, ptr %t3863, i32 0, i32 1 %t3865 = getelementptr inbounds %LSlice, ptr %t3863, i32 0, i32 2 %t3866 = getelementptr inbounds %LSlice, ptr %t3863, i32 0, i32 0 %t3867 = load i32, ptr %t3864 %t3868 = load i32, ptr %t3865 %t3869 = icmp sge i32 %t3867, %t3868 br i1 %t3869, label %grow781, label %put782 grow781: %t3870 = mul i32 %t3868, 2 %t3871 = icmp eq i32 %t3868, 0 %t3872 = select i1 %t3871, i32 8, i32 %t3870 %t3873 = getelementptr ptr, ptr null, i32 1 %t3874 = ptrtoint ptr %t3873 to i64 %t3875 = zext i32 %t3872 to i64 %t3876 = mul i64 %t3875, %t3874 %t3877 = load ptr, ptr %t3866 %t3878 = call ptr @realloc(ptr %t3877, i64 %t3876) store ptr %t3878, ptr %t3866 store i32 %t3872, ptr %t3865 br label %put782 put782: %t3879 = load ptr, ptr %t3866 %t3880 = getelementptr inbounds ptr, ptr %t3879, i32 %t3867 store ptr @.str7675, ptr %t3880 %t3881 = add i32 %t3867, 1 store i32 %t3881, ptr %t3864 %t3882 = load ptr, ptr %t427 %t3883 = getelementptr inbounds %LSlice, ptr %t3882, i32 0, i32 1 %t3884 = getelementptr inbounds %LSlice, ptr %t3882, i32 0, i32 2 %t3885 = getelementptr inbounds %LSlice, ptr %t3882, i32 0, i32 0 %t3886 = load i32, ptr %t3883 %t3887 = load i32, ptr %t3884 %t3888 = icmp sge i32 %t3886, %t3887 br i1 %t3888, label %grow783, label %put784 grow783: %t3889 = mul i32 %t3887, 2 %t3890 = icmp eq i32 %t3887, 0 %t3891 = select i1 %t3890, i32 8, i32 %t3889 %t3892 = getelementptr ptr, ptr null, i32 1 %t3893 = ptrtoint ptr %t3892 to i64 %t3894 = zext i32 %t3891 to i64 %t3895 = mul i64 %t3894, %t3893 %t3896 = load ptr, ptr %t3885 %t3897 = call ptr @realloc(ptr %t3896, i64 %t3895) store ptr %t3897, ptr %t3885 store i32 %t3891, ptr %t3884 br label %put784 put784: %t3898 = load ptr, ptr %t3885 %t3899 = getelementptr inbounds ptr, ptr %t3898, i32 %t3886 store ptr @.str7676, ptr %t3899 %t3900 = add i32 %t3886, 1 store i32 %t3900, ptr %t3883 br label %ifend778 ifend778: %t3901 = load ptr, ptr %t1 %t3902 = call i32 @lp_str_eq(ptr %t3901, ptr @.str7677) %t3903 = icmp ne i32 %t3902, 0 br i1 %t3903, label %then785, label %ifend787 then785: store ptr @.str7678, ptr %t420 %t3904 = load ptr, ptr %t427 %t3905 = getelementptr inbounds %LSlice, ptr %t3904, i32 0, i32 1 %t3906 = getelementptr inbounds %LSlice, ptr %t3904, i32 0, i32 2 %t3907 = getelementptr inbounds %LSlice, ptr %t3904, i32 0, i32 0 %t3908 = load i32, ptr %t3905 %t3909 = load i32, ptr %t3906 %t3910 = icmp sge i32 %t3908, %t3909 br i1 %t3910, label %grow788, label %put789 grow788: %t3911 = mul i32 %t3909, 2 %t3912 = icmp eq i32 %t3909, 0 %t3913 = select i1 %t3912, i32 8, i32 %t3911 %t3914 = getelementptr ptr, ptr null, i32 1 %t3915 = ptrtoint ptr %t3914 to i64 %t3916 = zext i32 %t3913 to i64 %t3917 = mul i64 %t3916, %t3915 %t3918 = load ptr, ptr %t3907 %t3919 = call ptr @realloc(ptr %t3918, i64 %t3917) store ptr %t3919, ptr %t3907 store i32 %t3913, ptr %t3906 br label %put789 put789: %t3920 = load ptr, ptr %t3907 %t3921 = getelementptr inbounds ptr, ptr %t3920, i32 %t3908 store ptr @.str7679, ptr %t3921 %t3922 = add i32 %t3908, 1 store i32 %t3922, ptr %t3905 br label %ifend787 ifend787: %t3923 = load ptr, ptr %t1 %t3924 = call i32 @lp_str_eq(ptr %t3923, ptr @.str7680) %t3925 = icmp ne i32 %t3924, 0 br i1 %t3925, label %then790, label %ifend792 then790: store ptr @.str7681, ptr %t420 %t3926 = load ptr, ptr %t427 %t3927 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 1 %t3928 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 2 %t3929 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 0 %t3930 = load i32, ptr %t3927 %t3931 = load i32, ptr %t3928 %t3932 = icmp sge i32 %t3930, %t3931 br i1 %t3932, label %grow793, label %put794 grow793: %t3933 = mul i32 %t3931, 2 %t3934 = icmp eq i32 %t3931, 0 %t3935 = select i1 %t3934, i32 8, i32 %t3933 %t3936 = getelementptr ptr, ptr null, i32 1 %t3937 = ptrtoint ptr %t3936 to i64 %t3938 = zext i32 %t3935 to i64 %t3939 = mul i64 %t3938, %t3937 %t3940 = load ptr, ptr %t3929 %t3941 = call ptr @realloc(ptr %t3940, i64 %t3939) store ptr %t3941, ptr %t3929 store i32 %t3935, ptr %t3928 br label %put794 put794: %t3942 = load ptr, ptr %t3929 %t3943 = getelementptr inbounds ptr, ptr %t3942, i32 %t3930 store ptr @.str7682, ptr %t3943 %t3944 = add i32 %t3930, 1 store i32 %t3944, ptr %t3927 %t3945 = load ptr, ptr %t427 %t3946 = getelementptr inbounds %LSlice, ptr %t3945, i32 0, i32 1 %t3947 = getelementptr inbounds %LSlice, ptr %t3945, i32 0, i32 2 %t3948 = getelementptr inbounds %LSlice, ptr %t3945, i32 0, i32 0 %t3949 = load i32, ptr %t3946 %t3950 = load i32, ptr %t3947 %t3951 = icmp sge i32 %t3949, %t3950 br i1 %t3951, label %grow795, label %put796 grow795: %t3952 = mul i32 %t3950, 2 %t3953 = icmp eq i32 %t3950, 0 %t3954 = select i1 %t3953, i32 8, i32 %t3952 %t3955 = getelementptr ptr, ptr null, i32 1 %t3956 = ptrtoint ptr %t3955 to i64 %t3957 = zext i32 %t3954 to i64 %t3958 = mul i64 %t3957, %t3956 %t3959 = load ptr, ptr %t3948 %t3960 = call ptr @realloc(ptr %t3959, i64 %t3958) store ptr %t3960, ptr %t3948 store i32 %t3954, ptr %t3947 br label %put796 put796: %t3961 = load ptr, ptr %t3948 %t3962 = getelementptr inbounds ptr, ptr %t3961, i32 %t3949 store ptr @.str7683, ptr %t3962 %t3963 = add i32 %t3949, 1 store i32 %t3963, ptr %t3946 br label %ifend792 ifend792: %t3964 = load ptr, ptr %t1 %t3965 = call i32 @lp_str_eq(ptr %t3964, ptr @.str7684) %t3966 = icmp ne i32 %t3965, 0 br i1 %t3966, label %then797, label %ifend799 then797: store ptr @.str7685, ptr %t420 %t3967 = load ptr, ptr %t427 %t3968 = getelementptr inbounds %LSlice, ptr %t3967, i32 0, i32 1 %t3969 = getelementptr inbounds %LSlice, ptr %t3967, i32 0, i32 2 %t3970 = getelementptr inbounds %LSlice, ptr %t3967, i32 0, i32 0 %t3971 = load i32, ptr %t3968 %t3972 = load i32, ptr %t3969 %t3973 = icmp sge i32 %t3971, %t3972 br i1 %t3973, label %grow800, label %put801 grow800: %t3974 = mul i32 %t3972, 2 %t3975 = icmp eq i32 %t3972, 0 %t3976 = select i1 %t3975, i32 8, i32 %t3974 %t3977 = getelementptr ptr, ptr null, i32 1 %t3978 = ptrtoint ptr %t3977 to i64 %t3979 = zext i32 %t3976 to i64 %t3980 = mul i64 %t3979, %t3978 %t3981 = load ptr, ptr %t3970 %t3982 = call ptr @realloc(ptr %t3981, i64 %t3980) store ptr %t3982, ptr %t3970 store i32 %t3976, ptr %t3969 br label %put801 put801: %t3983 = load ptr, ptr %t3970 %t3984 = getelementptr inbounds ptr, ptr %t3983, i32 %t3971 store ptr @.str7686, ptr %t3984 %t3985 = add i32 %t3971, 1 store i32 %t3985, ptr %t3968 br label %ifend799 ifend799: br label %ifend768 ifend768: %t3986 = load ptr, ptr %t0 %t3987 = call i32 @lp_str_eq(ptr %t3986, ptr @.str7687) %t3988 = icmp ne i32 %t3987, 0 br i1 %t3988, label %then802, label %ifend804 then802: %t3989 = load ptr, ptr %t1 %t3990 = call i32 @lp_str_eq(ptr %t3989, ptr @.str7688) %t3991 = icmp ne i32 %t3990, 0 br i1 %t3991, label %then805, label %ifend807 then805: store ptr @.str7689, ptr %t420 %t3992 = load ptr, ptr %t427 %t3993 = getelementptr inbounds %LSlice, ptr %t3992, i32 0, i32 1 %t3994 = getelementptr inbounds %LSlice, ptr %t3992, i32 0, i32 2 %t3995 = getelementptr inbounds %LSlice, ptr %t3992, i32 0, i32 0 %t3996 = load i32, ptr %t3993 %t3997 = load i32, ptr %t3994 %t3998 = icmp sge i32 %t3996, %t3997 br i1 %t3998, label %grow808, label %put809 grow808: %t3999 = mul i32 %t3997, 2 %t4000 = icmp eq i32 %t3997, 0 %t4001 = select i1 %t4000, i32 8, i32 %t3999 %t4002 = getelementptr ptr, ptr null, i32 1 %t4003 = ptrtoint ptr %t4002 to i64 %t4004 = zext i32 %t4001 to i64 %t4005 = mul i64 %t4004, %t4003 %t4006 = load ptr, ptr %t3995 %t4007 = call ptr @realloc(ptr %t4006, i64 %t4005) store ptr %t4007, ptr %t3995 store i32 %t4001, ptr %t3994 br label %put809 put809: %t4008 = load ptr, ptr %t3995 %t4009 = getelementptr inbounds ptr, ptr %t4008, i32 %t3996 store ptr @.str7690, ptr %t4009 %t4010 = add i32 %t3996, 1 store i32 %t4010, ptr %t3993 %t4011 = load ptr, ptr %t427 %t4012 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 1 %t4013 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 2 %t4014 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 0 %t4015 = load i32, ptr %t4012 %t4016 = load i32, ptr %t4013 %t4017 = icmp sge i32 %t4015, %t4016 br i1 %t4017, label %grow810, label %put811 grow810: %t4018 = mul i32 %t4016, 2 %t4019 = icmp eq i32 %t4016, 0 %t4020 = select i1 %t4019, i32 8, i32 %t4018 %t4021 = getelementptr ptr, ptr null, i32 1 %t4022 = ptrtoint ptr %t4021 to i64 %t4023 = zext i32 %t4020 to i64 %t4024 = mul i64 %t4023, %t4022 %t4025 = load ptr, ptr %t4014 %t4026 = call ptr @realloc(ptr %t4025, i64 %t4024) store ptr %t4026, ptr %t4014 store i32 %t4020, ptr %t4013 br label %put811 put811: %t4027 = load ptr, ptr %t4014 %t4028 = getelementptr inbounds ptr, ptr %t4027, i32 %t4015 store ptr @.str7691, ptr %t4028 %t4029 = add i32 %t4015, 1 store i32 %t4029, ptr %t4012 br label %ifend807 ifend807: %t4030 = load ptr, ptr %t1 %t4031 = call i32 @lp_str_eq(ptr %t4030, ptr @.str7692) %t4032 = icmp ne i32 %t4031, 0 br i1 %t4032, label %then812, label %ifend814 then812: store ptr @.str7693, ptr %t420 %t4033 = load ptr, ptr %t427 %t4034 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 1 %t4035 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 2 %t4036 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 0 %t4037 = load i32, ptr %t4034 %t4038 = load i32, ptr %t4035 %t4039 = icmp sge i32 %t4037, %t4038 br i1 %t4039, label %grow815, label %put816 grow815: %t4040 = mul i32 %t4038, 2 %t4041 = icmp eq i32 %t4038, 0 %t4042 = select i1 %t4041, i32 8, i32 %t4040 %t4043 = getelementptr ptr, ptr null, i32 1 %t4044 = ptrtoint ptr %t4043 to i64 %t4045 = zext i32 %t4042 to i64 %t4046 = mul i64 %t4045, %t4044 %t4047 = load ptr, ptr %t4036 %t4048 = call ptr @realloc(ptr %t4047, i64 %t4046) store ptr %t4048, ptr %t4036 store i32 %t4042, ptr %t4035 br label %put816 put816: %t4049 = load ptr, ptr %t4036 %t4050 = getelementptr inbounds ptr, ptr %t4049, i32 %t4037 store ptr @.str7694, ptr %t4050 %t4051 = add i32 %t4037, 1 store i32 %t4051, ptr %t4034 %t4052 = load ptr, ptr %t427 %t4053 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 1 %t4054 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 2 %t4055 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 0 %t4056 = load i32, ptr %t4053 %t4057 = load i32, ptr %t4054 %t4058 = icmp sge i32 %t4056, %t4057 br i1 %t4058, label %grow817, label %put818 grow817: %t4059 = mul i32 %t4057, 2 %t4060 = icmp eq i32 %t4057, 0 %t4061 = select i1 %t4060, i32 8, i32 %t4059 %t4062 = getelementptr ptr, ptr null, i32 1 %t4063 = ptrtoint ptr %t4062 to i64 %t4064 = zext i32 %t4061 to i64 %t4065 = mul i64 %t4064, %t4063 %t4066 = load ptr, ptr %t4055 %t4067 = call ptr @realloc(ptr %t4066, i64 %t4065) store ptr %t4067, ptr %t4055 store i32 %t4061, ptr %t4054 br label %put818 put818: %t4068 = load ptr, ptr %t4055 %t4069 = getelementptr inbounds ptr, ptr %t4068, i32 %t4056 store ptr @.str7695, ptr %t4069 %t4070 = add i32 %t4056, 1 store i32 %t4070, ptr %t4053 br label %ifend814 ifend814: %t4071 = load ptr, ptr %t1 %t4072 = call i32 @lp_str_eq(ptr %t4071, ptr @.str7696) %t4073 = icmp ne i32 %t4072, 0 br i1 %t4073, label %then819, label %ifend821 then819: store ptr @.str7697, ptr %t420 %t4074 = load ptr, ptr %t427 %t4075 = getelementptr inbounds %LSlice, ptr %t4074, i32 0, i32 1 %t4076 = getelementptr inbounds %LSlice, ptr %t4074, i32 0, i32 2 %t4077 = getelementptr inbounds %LSlice, ptr %t4074, i32 0, i32 0 %t4078 = load i32, ptr %t4075 %t4079 = load i32, ptr %t4076 %t4080 = icmp sge i32 %t4078, %t4079 br i1 %t4080, label %grow822, label %put823 grow822: %t4081 = mul i32 %t4079, 2 %t4082 = icmp eq i32 %t4079, 0 %t4083 = select i1 %t4082, i32 8, i32 %t4081 %t4084 = getelementptr ptr, ptr null, i32 1 %t4085 = ptrtoint ptr %t4084 to i64 %t4086 = zext i32 %t4083 to i64 %t4087 = mul i64 %t4086, %t4085 %t4088 = load ptr, ptr %t4077 %t4089 = call ptr @realloc(ptr %t4088, i64 %t4087) store ptr %t4089, ptr %t4077 store i32 %t4083, ptr %t4076 br label %put823 put823: %t4090 = load ptr, ptr %t4077 %t4091 = getelementptr inbounds ptr, ptr %t4090, i32 %t4078 store ptr @.str7698, ptr %t4091 %t4092 = add i32 %t4078, 1 store i32 %t4092, ptr %t4075 %t4093 = load ptr, ptr %t427 %t4094 = getelementptr inbounds %LSlice, ptr %t4093, i32 0, i32 1 %t4095 = getelementptr inbounds %LSlice, ptr %t4093, i32 0, i32 2 %t4096 = getelementptr inbounds %LSlice, ptr %t4093, i32 0, i32 0 %t4097 = load i32, ptr %t4094 %t4098 = load i32, ptr %t4095 %t4099 = icmp sge i32 %t4097, %t4098 br i1 %t4099, label %grow824, label %put825 grow824: %t4100 = mul i32 %t4098, 2 %t4101 = icmp eq i32 %t4098, 0 %t4102 = select i1 %t4101, i32 8, i32 %t4100 %t4103 = getelementptr ptr, ptr null, i32 1 %t4104 = ptrtoint ptr %t4103 to i64 %t4105 = zext i32 %t4102 to i64 %t4106 = mul i64 %t4105, %t4104 %t4107 = load ptr, ptr %t4096 %t4108 = call ptr @realloc(ptr %t4107, i64 %t4106) store ptr %t4108, ptr %t4096 store i32 %t4102, ptr %t4095 br label %put825 put825: %t4109 = load ptr, ptr %t4096 %t4110 = getelementptr inbounds ptr, ptr %t4109, i32 %t4097 store ptr @.str7699, ptr %t4110 %t4111 = add i32 %t4097, 1 store i32 %t4111, ptr %t4094 br label %ifend821 ifend821: %t4112 = load ptr, ptr %t1 %t4113 = call i32 @lp_str_eq(ptr %t4112, ptr @.str7700) %t4114 = icmp ne i32 %t4113, 0 br i1 %t4114, label %then826, label %ifend828 then826: store ptr @.str7701, ptr %t420 %t4115 = load ptr, ptr %t427 %t4116 = getelementptr inbounds %LSlice, ptr %t4115, i32 0, i32 1 %t4117 = getelementptr inbounds %LSlice, ptr %t4115, i32 0, i32 2 %t4118 = getelementptr inbounds %LSlice, ptr %t4115, i32 0, i32 0 %t4119 = load i32, ptr %t4116 %t4120 = load i32, ptr %t4117 %t4121 = icmp sge i32 %t4119, %t4120 br i1 %t4121, label %grow829, label %put830 grow829: %t4122 = mul i32 %t4120, 2 %t4123 = icmp eq i32 %t4120, 0 %t4124 = select i1 %t4123, i32 8, i32 %t4122 %t4125 = getelementptr ptr, ptr null, i32 1 %t4126 = ptrtoint ptr %t4125 to i64 %t4127 = zext i32 %t4124 to i64 %t4128 = mul i64 %t4127, %t4126 %t4129 = load ptr, ptr %t4118 %t4130 = call ptr @realloc(ptr %t4129, i64 %t4128) store ptr %t4130, ptr %t4118 store i32 %t4124, ptr %t4117 br label %put830 put830: %t4131 = load ptr, ptr %t4118 %t4132 = getelementptr inbounds ptr, ptr %t4131, i32 %t4119 store ptr @.str7702, ptr %t4132 %t4133 = add i32 %t4119, 1 store i32 %t4133, ptr %t4116 %t4134 = load ptr, ptr %t427 %t4135 = getelementptr inbounds %LSlice, ptr %t4134, i32 0, i32 1 %t4136 = getelementptr inbounds %LSlice, ptr %t4134, i32 0, i32 2 %t4137 = getelementptr inbounds %LSlice, ptr %t4134, i32 0, i32 0 %t4138 = load i32, ptr %t4135 %t4139 = load i32, ptr %t4136 %t4140 = icmp sge i32 %t4138, %t4139 br i1 %t4140, label %grow831, label %put832 grow831: %t4141 = mul i32 %t4139, 2 %t4142 = icmp eq i32 %t4139, 0 %t4143 = select i1 %t4142, i32 8, i32 %t4141 %t4144 = getelementptr ptr, ptr null, i32 1 %t4145 = ptrtoint ptr %t4144 to i64 %t4146 = zext i32 %t4143 to i64 %t4147 = mul i64 %t4146, %t4145 %t4148 = load ptr, ptr %t4137 %t4149 = call ptr @realloc(ptr %t4148, i64 %t4147) store ptr %t4149, ptr %t4137 store i32 %t4143, ptr %t4136 br label %put832 put832: %t4150 = load ptr, ptr %t4137 %t4151 = getelementptr inbounds ptr, ptr %t4150, i32 %t4138 store ptr @.str7703, ptr %t4151 %t4152 = add i32 %t4138, 1 store i32 %t4152, ptr %t4135 br label %ifend828 ifend828: %t4153 = load ptr, ptr %t1 %t4154 = call i32 @lp_str_eq(ptr %t4153, ptr @.str7704) %t4155 = icmp ne i32 %t4154, 0 br i1 %t4155, label %then833, label %ifend835 then833: store ptr @.str7705, ptr %t420 %t4156 = load ptr, ptr %t427 %t4157 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 1 %t4158 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 2 %t4159 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 0 %t4160 = load i32, ptr %t4157 %t4161 = load i32, ptr %t4158 %t4162 = icmp sge i32 %t4160, %t4161 br i1 %t4162, label %grow836, label %put837 grow836: %t4163 = mul i32 %t4161, 2 %t4164 = icmp eq i32 %t4161, 0 %t4165 = select i1 %t4164, i32 8, i32 %t4163 %t4166 = getelementptr ptr, ptr null, i32 1 %t4167 = ptrtoint ptr %t4166 to i64 %t4168 = zext i32 %t4165 to i64 %t4169 = mul i64 %t4168, %t4167 %t4170 = load ptr, ptr %t4159 %t4171 = call ptr @realloc(ptr %t4170, i64 %t4169) store ptr %t4171, ptr %t4159 store i32 %t4165, ptr %t4158 br label %put837 put837: %t4172 = load ptr, ptr %t4159 %t4173 = getelementptr inbounds ptr, ptr %t4172, i32 %t4160 store ptr @.str7706, ptr %t4173 %t4174 = add i32 %t4160, 1 store i32 %t4174, ptr %t4157 %t4175 = load ptr, ptr %t427 %t4176 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 1 %t4177 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 2 %t4178 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 0 %t4179 = load i32, ptr %t4176 %t4180 = load i32, ptr %t4177 %t4181 = icmp sge i32 %t4179, %t4180 br i1 %t4181, label %grow838, label %put839 grow838: %t4182 = mul i32 %t4180, 2 %t4183 = icmp eq i32 %t4180, 0 %t4184 = select i1 %t4183, i32 8, i32 %t4182 %t4185 = getelementptr ptr, ptr null, i32 1 %t4186 = ptrtoint ptr %t4185 to i64 %t4187 = zext i32 %t4184 to i64 %t4188 = mul i64 %t4187, %t4186 %t4189 = load ptr, ptr %t4178 %t4190 = call ptr @realloc(ptr %t4189, i64 %t4188) store ptr %t4190, ptr %t4178 store i32 %t4184, ptr %t4177 br label %put839 put839: %t4191 = load ptr, ptr %t4178 %t4192 = getelementptr inbounds ptr, ptr %t4191, i32 %t4179 store ptr @.str7707, ptr %t4192 %t4193 = add i32 %t4179, 1 store i32 %t4193, ptr %t4176 %t4194 = load ptr, ptr %t427 %t4195 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 1 %t4196 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 2 %t4197 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 0 %t4198 = load i32, ptr %t4195 %t4199 = load i32, ptr %t4196 %t4200 = icmp sge i32 %t4198, %t4199 br i1 %t4200, label %grow840, label %put841 grow840: %t4201 = mul i32 %t4199, 2 %t4202 = icmp eq i32 %t4199, 0 %t4203 = select i1 %t4202, i32 8, i32 %t4201 %t4204 = getelementptr ptr, ptr null, i32 1 %t4205 = ptrtoint ptr %t4204 to i64 %t4206 = zext i32 %t4203 to i64 %t4207 = mul i64 %t4206, %t4205 %t4208 = load ptr, ptr %t4197 %t4209 = call ptr @realloc(ptr %t4208, i64 %t4207) store ptr %t4209, ptr %t4197 store i32 %t4203, ptr %t4196 br label %put841 put841: %t4210 = load ptr, ptr %t4197 %t4211 = getelementptr inbounds ptr, ptr %t4210, i32 %t4198 store ptr @.str7708, ptr %t4211 %t4212 = add i32 %t4198, 1 store i32 %t4212, ptr %t4195 br label %ifend835 ifend835: %t4213 = load ptr, ptr %t1 %t4214 = call i32 @lp_str_eq(ptr %t4213, ptr @.str7709) %t4215 = icmp ne i32 %t4214, 0 br i1 %t4215, label %then842, label %ifend844 then842: store ptr @.str7710, ptr %t420 %t4216 = load ptr, ptr %t427 %t4217 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 1 %t4218 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 2 %t4219 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 0 %t4220 = load i32, ptr %t4217 %t4221 = load i32, ptr %t4218 %t4222 = icmp sge i32 %t4220, %t4221 br i1 %t4222, label %grow845, label %put846 grow845: %t4223 = mul i32 %t4221, 2 %t4224 = icmp eq i32 %t4221, 0 %t4225 = select i1 %t4224, i32 8, i32 %t4223 %t4226 = getelementptr ptr, ptr null, i32 1 %t4227 = ptrtoint ptr %t4226 to i64 %t4228 = zext i32 %t4225 to i64 %t4229 = mul i64 %t4228, %t4227 %t4230 = load ptr, ptr %t4219 %t4231 = call ptr @realloc(ptr %t4230, i64 %t4229) store ptr %t4231, ptr %t4219 store i32 %t4225, ptr %t4218 br label %put846 put846: %t4232 = load ptr, ptr %t4219 %t4233 = getelementptr inbounds ptr, ptr %t4232, i32 %t4220 store ptr @.str7711, ptr %t4233 %t4234 = add i32 %t4220, 1 store i32 %t4234, ptr %t4217 br label %ifend844 ifend844: %t4235 = load ptr, ptr %t1 %t4236 = call i32 @lp_str_eq(ptr %t4235, ptr @.str7712) %t4237 = icmp ne i32 %t4236, 0 br i1 %t4237, label %then847, label %ifend849 then847: store ptr @.str7713, ptr %t420 %t4238 = load ptr, ptr %t427 %t4239 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 1 %t4240 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 2 %t4241 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 0 %t4242 = load i32, ptr %t4239 %t4243 = load i32, ptr %t4240 %t4244 = icmp sge i32 %t4242, %t4243 br i1 %t4244, label %grow850, label %put851 grow850: %t4245 = mul i32 %t4243, 2 %t4246 = icmp eq i32 %t4243, 0 %t4247 = select i1 %t4246, i32 8, i32 %t4245 %t4248 = getelementptr ptr, ptr null, i32 1 %t4249 = ptrtoint ptr %t4248 to i64 %t4250 = zext i32 %t4247 to i64 %t4251 = mul i64 %t4250, %t4249 %t4252 = load ptr, ptr %t4241 %t4253 = call ptr @realloc(ptr %t4252, i64 %t4251) store ptr %t4253, ptr %t4241 store i32 %t4247, ptr %t4240 br label %put851 put851: %t4254 = load ptr, ptr %t4241 %t4255 = getelementptr inbounds ptr, ptr %t4254, i32 %t4242 store ptr @.str7714, ptr %t4255 %t4256 = add i32 %t4242, 1 store i32 %t4256, ptr %t4239 %t4257 = load ptr, ptr %t427 %t4258 = getelementptr inbounds %LSlice, ptr %t4257, i32 0, i32 1 %t4259 = getelementptr inbounds %LSlice, ptr %t4257, i32 0, i32 2 %t4260 = getelementptr inbounds %LSlice, ptr %t4257, i32 0, i32 0 %t4261 = load i32, ptr %t4258 %t4262 = load i32, ptr %t4259 %t4263 = icmp sge i32 %t4261, %t4262 br i1 %t4263, label %grow852, label %put853 grow852: %t4264 = mul i32 %t4262, 2 %t4265 = icmp eq i32 %t4262, 0 %t4266 = select i1 %t4265, i32 8, i32 %t4264 %t4267 = getelementptr ptr, ptr null, i32 1 %t4268 = ptrtoint ptr %t4267 to i64 %t4269 = zext i32 %t4266 to i64 %t4270 = mul i64 %t4269, %t4268 %t4271 = load ptr, ptr %t4260 %t4272 = call ptr @realloc(ptr %t4271, i64 %t4270) store ptr %t4272, ptr %t4260 store i32 %t4266, ptr %t4259 br label %put853 put853: %t4273 = load ptr, ptr %t4260 %t4274 = getelementptr inbounds ptr, ptr %t4273, i32 %t4261 store ptr @.str7715, ptr %t4274 %t4275 = add i32 %t4261, 1 store i32 %t4275, ptr %t4258 %t4276 = load ptr, ptr %t427 %t4277 = getelementptr inbounds %LSlice, ptr %t4276, i32 0, i32 1 %t4278 = getelementptr inbounds %LSlice, ptr %t4276, i32 0, i32 2 %t4279 = getelementptr inbounds %LSlice, ptr %t4276, i32 0, i32 0 %t4280 = load i32, ptr %t4277 %t4281 = load i32, ptr %t4278 %t4282 = icmp sge i32 %t4280, %t4281 br i1 %t4282, label %grow854, label %put855 grow854: %t4283 = mul i32 %t4281, 2 %t4284 = icmp eq i32 %t4281, 0 %t4285 = select i1 %t4284, i32 8, i32 %t4283 %t4286 = getelementptr ptr, ptr null, i32 1 %t4287 = ptrtoint ptr %t4286 to i64 %t4288 = zext i32 %t4285 to i64 %t4289 = mul i64 %t4288, %t4287 %t4290 = load ptr, ptr %t4279 %t4291 = call ptr @realloc(ptr %t4290, i64 %t4289) store ptr %t4291, ptr %t4279 store i32 %t4285, ptr %t4278 br label %put855 put855: %t4292 = load ptr, ptr %t4279 %t4293 = getelementptr inbounds ptr, ptr %t4292, i32 %t4280 store ptr @.str7716, ptr %t4293 %t4294 = add i32 %t4280, 1 store i32 %t4294, ptr %t4277 %t4295 = load ptr, ptr %t427 %t4296 = getelementptr inbounds %LSlice, ptr %t4295, i32 0, i32 1 %t4297 = getelementptr inbounds %LSlice, ptr %t4295, i32 0, i32 2 %t4298 = getelementptr inbounds %LSlice, ptr %t4295, i32 0, i32 0 %t4299 = load i32, ptr %t4296 %t4300 = load i32, ptr %t4297 %t4301 = icmp sge i32 %t4299, %t4300 br i1 %t4301, label %grow856, label %put857 grow856: %t4302 = mul i32 %t4300, 2 %t4303 = icmp eq i32 %t4300, 0 %t4304 = select i1 %t4303, i32 8, i32 %t4302 %t4305 = getelementptr ptr, ptr null, i32 1 %t4306 = ptrtoint ptr %t4305 to i64 %t4307 = zext i32 %t4304 to i64 %t4308 = mul i64 %t4307, %t4306 %t4309 = load ptr, ptr %t4298 %t4310 = call ptr @realloc(ptr %t4309, i64 %t4308) store ptr %t4310, ptr %t4298 store i32 %t4304, ptr %t4297 br label %put857 put857: %t4311 = load ptr, ptr %t4298 %t4312 = getelementptr inbounds ptr, ptr %t4311, i32 %t4299 store ptr @.str7717, ptr %t4312 %t4313 = add i32 %t4299, 1 store i32 %t4313, ptr %t4296 %t4314 = load ptr, ptr %t427 %t4315 = getelementptr inbounds %LSlice, ptr %t4314, i32 0, i32 1 %t4316 = getelementptr inbounds %LSlice, ptr %t4314, i32 0, i32 2 %t4317 = getelementptr inbounds %LSlice, ptr %t4314, i32 0, i32 0 %t4318 = load i32, ptr %t4315 %t4319 = load i32, ptr %t4316 %t4320 = icmp sge i32 %t4318, %t4319 br i1 %t4320, label %grow858, label %put859 grow858: %t4321 = mul i32 %t4319, 2 %t4322 = icmp eq i32 %t4319, 0 %t4323 = select i1 %t4322, i32 8, i32 %t4321 %t4324 = getelementptr ptr, ptr null, i32 1 %t4325 = ptrtoint ptr %t4324 to i64 %t4326 = zext i32 %t4323 to i64 %t4327 = mul i64 %t4326, %t4325 %t4328 = load ptr, ptr %t4317 %t4329 = call ptr @realloc(ptr %t4328, i64 %t4327) store ptr %t4329, ptr %t4317 store i32 %t4323, ptr %t4316 br label %put859 put859: %t4330 = load ptr, ptr %t4317 %t4331 = getelementptr inbounds ptr, ptr %t4330, i32 %t4318 store ptr @.str7718, ptr %t4331 %t4332 = add i32 %t4318, 1 store i32 %t4332, ptr %t4315 br label %ifend849 ifend849: %t4333 = load ptr, ptr %t1 %t4334 = call i32 @lp_str_eq(ptr %t4333, ptr @.str7719) %t4335 = icmp ne i32 %t4334, 0 br i1 %t4335, label %then860, label %ifend862 then860: store ptr @.str7720, ptr %t420 %t4336 = load ptr, ptr %t427 %t4337 = getelementptr inbounds %LSlice, ptr %t4336, i32 0, i32 1 %t4338 = getelementptr inbounds %LSlice, ptr %t4336, i32 0, i32 2 %t4339 = getelementptr inbounds %LSlice, ptr %t4336, i32 0, i32 0 %t4340 = load i32, ptr %t4337 %t4341 = load i32, ptr %t4338 %t4342 = icmp sge i32 %t4340, %t4341 br i1 %t4342, label %grow863, label %put864 grow863: %t4343 = mul i32 %t4341, 2 %t4344 = icmp eq i32 %t4341, 0 %t4345 = select i1 %t4344, i32 8, i32 %t4343 %t4346 = getelementptr ptr, ptr null, i32 1 %t4347 = ptrtoint ptr %t4346 to i64 %t4348 = zext i32 %t4345 to i64 %t4349 = mul i64 %t4348, %t4347 %t4350 = load ptr, ptr %t4339 %t4351 = call ptr @realloc(ptr %t4350, i64 %t4349) store ptr %t4351, ptr %t4339 store i32 %t4345, ptr %t4338 br label %put864 put864: %t4352 = load ptr, ptr %t4339 %t4353 = getelementptr inbounds ptr, ptr %t4352, i32 %t4340 store ptr @.str7721, ptr %t4353 %t4354 = add i32 %t4340, 1 store i32 %t4354, ptr %t4337 br label %ifend862 ifend862: %t4355 = load ptr, ptr %t1 %t4356 = call i32 @lp_str_eq(ptr %t4355, ptr @.str7722) %t4357 = icmp ne i32 %t4356, 0 br i1 %t4357, label %then865, label %ifend867 then865: store ptr @.str7723, ptr %t420 %t4358 = load ptr, ptr %t427 %t4359 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 1 %t4360 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 2 %t4361 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 0 %t4362 = load i32, ptr %t4359 %t4363 = load i32, ptr %t4360 %t4364 = icmp sge i32 %t4362, %t4363 br i1 %t4364, label %grow868, label %put869 grow868: %t4365 = mul i32 %t4363, 2 %t4366 = icmp eq i32 %t4363, 0 %t4367 = select i1 %t4366, i32 8, i32 %t4365 %t4368 = getelementptr ptr, ptr null, i32 1 %t4369 = ptrtoint ptr %t4368 to i64 %t4370 = zext i32 %t4367 to i64 %t4371 = mul i64 %t4370, %t4369 %t4372 = load ptr, ptr %t4361 %t4373 = call ptr @realloc(ptr %t4372, i64 %t4371) store ptr %t4373, ptr %t4361 store i32 %t4367, ptr %t4360 br label %put869 put869: %t4374 = load ptr, ptr %t4361 %t4375 = getelementptr inbounds ptr, ptr %t4374, i32 %t4362 store ptr @.str7724, ptr %t4375 %t4376 = add i32 %t4362, 1 store i32 %t4376, ptr %t4359 br label %ifend867 ifend867: %t4377 = load ptr, ptr %t1 %t4378 = call i32 @lp_str_eq(ptr %t4377, ptr @.str7725) %t4379 = icmp ne i32 %t4378, 0 br i1 %t4379, label %then870, label %ifend872 then870: store ptr @.str7726, ptr %t420 %t4380 = load ptr, ptr %t427 %t4381 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 1 %t4382 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 2 %t4383 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 0 %t4384 = load i32, ptr %t4381 %t4385 = load i32, ptr %t4382 %t4386 = icmp sge i32 %t4384, %t4385 br i1 %t4386, label %grow873, label %put874 grow873: %t4387 = mul i32 %t4385, 2 %t4388 = icmp eq i32 %t4385, 0 %t4389 = select i1 %t4388, i32 8, i32 %t4387 %t4390 = getelementptr ptr, ptr null, i32 1 %t4391 = ptrtoint ptr %t4390 to i64 %t4392 = zext i32 %t4389 to i64 %t4393 = mul i64 %t4392, %t4391 %t4394 = load ptr, ptr %t4383 %t4395 = call ptr @realloc(ptr %t4394, i64 %t4393) store ptr %t4395, ptr %t4383 store i32 %t4389, ptr %t4382 br label %put874 put874: %t4396 = load ptr, ptr %t4383 %t4397 = getelementptr inbounds ptr, ptr %t4396, i32 %t4384 store ptr @.str7727, ptr %t4397 %t4398 = add i32 %t4384, 1 store i32 %t4398, ptr %t4381 %t4399 = load ptr, ptr %t427 %t4400 = getelementptr inbounds %LSlice, ptr %t4399, i32 0, i32 1 %t4401 = getelementptr inbounds %LSlice, ptr %t4399, i32 0, i32 2 %t4402 = getelementptr inbounds %LSlice, ptr %t4399, i32 0, i32 0 %t4403 = load i32, ptr %t4400 %t4404 = load i32, ptr %t4401 %t4405 = icmp sge i32 %t4403, %t4404 br i1 %t4405, label %grow875, label %put876 grow875: %t4406 = mul i32 %t4404, 2 %t4407 = icmp eq i32 %t4404, 0 %t4408 = select i1 %t4407, i32 8, i32 %t4406 %t4409 = getelementptr ptr, ptr null, i32 1 %t4410 = ptrtoint ptr %t4409 to i64 %t4411 = zext i32 %t4408 to i64 %t4412 = mul i64 %t4411, %t4410 %t4413 = load ptr, ptr %t4402 %t4414 = call ptr @realloc(ptr %t4413, i64 %t4412) store ptr %t4414, ptr %t4402 store i32 %t4408, ptr %t4401 br label %put876 put876: %t4415 = load ptr, ptr %t4402 %t4416 = getelementptr inbounds ptr, ptr %t4415, i32 %t4403 store ptr @.str7728, ptr %t4416 %t4417 = add i32 %t4403, 1 store i32 %t4417, ptr %t4400 %t4418 = load ptr, ptr %t427 %t4419 = getelementptr inbounds %LSlice, ptr %t4418, i32 0, i32 1 %t4420 = getelementptr inbounds %LSlice, ptr %t4418, i32 0, i32 2 %t4421 = getelementptr inbounds %LSlice, ptr %t4418, i32 0, i32 0 %t4422 = load i32, ptr %t4419 %t4423 = load i32, ptr %t4420 %t4424 = icmp sge i32 %t4422, %t4423 br i1 %t4424, label %grow877, label %put878 grow877: %t4425 = mul i32 %t4423, 2 %t4426 = icmp eq i32 %t4423, 0 %t4427 = select i1 %t4426, i32 8, i32 %t4425 %t4428 = getelementptr ptr, ptr null, i32 1 %t4429 = ptrtoint ptr %t4428 to i64 %t4430 = zext i32 %t4427 to i64 %t4431 = mul i64 %t4430, %t4429 %t4432 = load ptr, ptr %t4421 %t4433 = call ptr @realloc(ptr %t4432, i64 %t4431) store ptr %t4433, ptr %t4421 store i32 %t4427, ptr %t4420 br label %put878 put878: %t4434 = load ptr, ptr %t4421 %t4435 = getelementptr inbounds ptr, ptr %t4434, i32 %t4422 store ptr @.str7729, ptr %t4435 %t4436 = add i32 %t4422, 1 store i32 %t4436, ptr %t4419 br label %ifend872 ifend872: %t4437 = load ptr, ptr %t1 %t4438 = call i32 @lp_str_eq(ptr %t4437, ptr @.str7730) %t4439 = icmp ne i32 %t4438, 0 br i1 %t4439, label %then879, label %ifend881 then879: store ptr @.str7731, ptr %t420 %t4440 = load ptr, ptr %t427 %t4441 = getelementptr inbounds %LSlice, ptr %t4440, i32 0, i32 1 %t4442 = getelementptr inbounds %LSlice, ptr %t4440, i32 0, i32 2 %t4443 = getelementptr inbounds %LSlice, ptr %t4440, i32 0, i32 0 %t4444 = load i32, ptr %t4441 %t4445 = load i32, ptr %t4442 %t4446 = icmp sge i32 %t4444, %t4445 br i1 %t4446, label %grow882, label %put883 grow882: %t4447 = mul i32 %t4445, 2 %t4448 = icmp eq i32 %t4445, 0 %t4449 = select i1 %t4448, i32 8, i32 %t4447 %t4450 = getelementptr ptr, ptr null, i32 1 %t4451 = ptrtoint ptr %t4450 to i64 %t4452 = zext i32 %t4449 to i64 %t4453 = mul i64 %t4452, %t4451 %t4454 = load ptr, ptr %t4443 %t4455 = call ptr @realloc(ptr %t4454, i64 %t4453) store ptr %t4455, ptr %t4443 store i32 %t4449, ptr %t4442 br label %put883 put883: %t4456 = load ptr, ptr %t4443 %t4457 = getelementptr inbounds ptr, ptr %t4456, i32 %t4444 store ptr @.str7732, ptr %t4457 %t4458 = add i32 %t4444, 1 store i32 %t4458, ptr %t4441 %t4459 = load ptr, ptr %t427 %t4460 = getelementptr inbounds %LSlice, ptr %t4459, i32 0, i32 1 %t4461 = getelementptr inbounds %LSlice, ptr %t4459, i32 0, i32 2 %t4462 = getelementptr inbounds %LSlice, ptr %t4459, i32 0, i32 0 %t4463 = load i32, ptr %t4460 %t4464 = load i32, ptr %t4461 %t4465 = icmp sge i32 %t4463, %t4464 br i1 %t4465, label %grow884, label %put885 grow884: %t4466 = mul i32 %t4464, 2 %t4467 = icmp eq i32 %t4464, 0 %t4468 = select i1 %t4467, i32 8, i32 %t4466 %t4469 = getelementptr ptr, ptr null, i32 1 %t4470 = ptrtoint ptr %t4469 to i64 %t4471 = zext i32 %t4468 to i64 %t4472 = mul i64 %t4471, %t4470 %t4473 = load ptr, ptr %t4462 %t4474 = call ptr @realloc(ptr %t4473, i64 %t4472) store ptr %t4474, ptr %t4462 store i32 %t4468, ptr %t4461 br label %put885 put885: %t4475 = load ptr, ptr %t4462 %t4476 = getelementptr inbounds ptr, ptr %t4475, i32 %t4463 store ptr @.str7733, ptr %t4476 %t4477 = add i32 %t4463, 1 store i32 %t4477, ptr %t4460 br label %ifend881 ifend881: %t4478 = load ptr, ptr %t1 %t4479 = call i32 @lp_str_eq(ptr %t4478, ptr @.str7734) %t4480 = icmp ne i32 %t4479, 0 br i1 %t4480, label %then886, label %ifend888 then886: store ptr @.str7735, ptr %t420 %t4481 = load ptr, ptr %t427 %t4482 = getelementptr inbounds %LSlice, ptr %t4481, i32 0, i32 1 %t4483 = getelementptr inbounds %LSlice, ptr %t4481, i32 0, i32 2 %t4484 = getelementptr inbounds %LSlice, ptr %t4481, i32 0, i32 0 %t4485 = load i32, ptr %t4482 %t4486 = load i32, ptr %t4483 %t4487 = icmp sge i32 %t4485, %t4486 br i1 %t4487, label %grow889, label %put890 grow889: %t4488 = mul i32 %t4486, 2 %t4489 = icmp eq i32 %t4486, 0 %t4490 = select i1 %t4489, i32 8, i32 %t4488 %t4491 = getelementptr ptr, ptr null, i32 1 %t4492 = ptrtoint ptr %t4491 to i64 %t4493 = zext i32 %t4490 to i64 %t4494 = mul i64 %t4493, %t4492 %t4495 = load ptr, ptr %t4484 %t4496 = call ptr @realloc(ptr %t4495, i64 %t4494) store ptr %t4496, ptr %t4484 store i32 %t4490, ptr %t4483 br label %put890 put890: %t4497 = load ptr, ptr %t4484 %t4498 = getelementptr inbounds ptr, ptr %t4497, i32 %t4485 store ptr @.str7736, ptr %t4498 %t4499 = add i32 %t4485, 1 store i32 %t4499, ptr %t4482 %t4500 = load ptr, ptr %t427 %t4501 = getelementptr inbounds %LSlice, ptr %t4500, i32 0, i32 1 %t4502 = getelementptr inbounds %LSlice, ptr %t4500, i32 0, i32 2 %t4503 = getelementptr inbounds %LSlice, ptr %t4500, i32 0, i32 0 %t4504 = load i32, ptr %t4501 %t4505 = load i32, ptr %t4502 %t4506 = icmp sge i32 %t4504, %t4505 br i1 %t4506, label %grow891, label %put892 grow891: %t4507 = mul i32 %t4505, 2 %t4508 = icmp eq i32 %t4505, 0 %t4509 = select i1 %t4508, i32 8, i32 %t4507 %t4510 = getelementptr ptr, ptr null, i32 1 %t4511 = ptrtoint ptr %t4510 to i64 %t4512 = zext i32 %t4509 to i64 %t4513 = mul i64 %t4512, %t4511 %t4514 = load ptr, ptr %t4503 %t4515 = call ptr @realloc(ptr %t4514, i64 %t4513) store ptr %t4515, ptr %t4503 store i32 %t4509, ptr %t4502 br label %put892 put892: %t4516 = load ptr, ptr %t4503 %t4517 = getelementptr inbounds ptr, ptr %t4516, i32 %t4504 store ptr @.str7737, ptr %t4517 %t4518 = add i32 %t4504, 1 store i32 %t4518, ptr %t4501 br label %ifend888 ifend888: %t4519 = load ptr, ptr %t1 %t4520 = call i32 @lp_str_eq(ptr %t4519, ptr @.str7738) %t4521 = icmp ne i32 %t4520, 0 br i1 %t4521, label %then893, label %ifend895 then893: store ptr @.str7739, ptr %t420 %t4522 = load ptr, ptr %t427 %t4523 = getelementptr inbounds %LSlice, ptr %t4522, i32 0, i32 1 %t4524 = getelementptr inbounds %LSlice, ptr %t4522, i32 0, i32 2 %t4525 = getelementptr inbounds %LSlice, ptr %t4522, i32 0, i32 0 %t4526 = load i32, ptr %t4523 %t4527 = load i32, ptr %t4524 %t4528 = icmp sge i32 %t4526, %t4527 br i1 %t4528, label %grow896, label %put897 grow896: %t4529 = mul i32 %t4527, 2 %t4530 = icmp eq i32 %t4527, 0 %t4531 = select i1 %t4530, i32 8, i32 %t4529 %t4532 = getelementptr ptr, ptr null, i32 1 %t4533 = ptrtoint ptr %t4532 to i64 %t4534 = zext i32 %t4531 to i64 %t4535 = mul i64 %t4534, %t4533 %t4536 = load ptr, ptr %t4525 %t4537 = call ptr @realloc(ptr %t4536, i64 %t4535) store ptr %t4537, ptr %t4525 store i32 %t4531, ptr %t4524 br label %put897 put897: %t4538 = load ptr, ptr %t4525 %t4539 = getelementptr inbounds ptr, ptr %t4538, i32 %t4526 store ptr @.str7740, ptr %t4539 %t4540 = add i32 %t4526, 1 store i32 %t4540, ptr %t4523 br label %ifend895 ifend895: %t4541 = load ptr, ptr %t1 %t4542 = call i32 @lp_str_eq(ptr %t4541, ptr @.str7741) %t4543 = icmp ne i32 %t4542, 0 br i1 %t4543, label %then898, label %ifend900 then898: store ptr @.str7742, ptr %t420 br label %ifend900 ifend900: %t4544 = load ptr, ptr %t1 %t4545 = call i32 @lp_str_eq(ptr %t4544, ptr @.str7743) %t4546 = icmp ne i32 %t4545, 0 br i1 %t4546, label %then901, label %ifend903 then901: store ptr @.str7744, ptr %t420 br label %ifend903 ifend903: br label %ifend804 ifend804: %t4547 = load ptr, ptr %t0 %t4548 = call i32 @lp_str_eq(ptr %t4547, ptr @.str7745) %t4549 = icmp ne i32 %t4548, 0 br i1 %t4549, label %then904, label %ifend906 then904: %t4550 = load ptr, ptr %t1 %t4551 = call i32 @lp_str_eq(ptr %t4550, ptr @.str7746) %t4552 = icmp ne i32 %t4551, 0 br i1 %t4552, label %then907, label %ifend909 then907: store ptr @.str7747, ptr %t420 %t4553 = load ptr, ptr %t427 %t4554 = getelementptr inbounds %LSlice, ptr %t4553, i32 0, i32 1 %t4555 = getelementptr inbounds %LSlice, ptr %t4553, i32 0, i32 2 %t4556 = getelementptr inbounds %LSlice, ptr %t4553, i32 0, i32 0 %t4557 = load i32, ptr %t4554 %t4558 = load i32, ptr %t4555 %t4559 = icmp sge i32 %t4557, %t4558 br i1 %t4559, label %grow910, label %put911 grow910: %t4560 = mul i32 %t4558, 2 %t4561 = icmp eq i32 %t4558, 0 %t4562 = select i1 %t4561, i32 8, i32 %t4560 %t4563 = getelementptr ptr, ptr null, i32 1 %t4564 = ptrtoint ptr %t4563 to i64 %t4565 = zext i32 %t4562 to i64 %t4566 = mul i64 %t4565, %t4564 %t4567 = load ptr, ptr %t4556 %t4568 = call ptr @realloc(ptr %t4567, i64 %t4566) store ptr %t4568, ptr %t4556 store i32 %t4562, ptr %t4555 br label %put911 put911: %t4569 = load ptr, ptr %t4556 %t4570 = getelementptr inbounds ptr, ptr %t4569, i32 %t4557 store ptr @.str7748, ptr %t4570 %t4571 = add i32 %t4557, 1 store i32 %t4571, ptr %t4554 %t4572 = load ptr, ptr %t427 %t4573 = getelementptr inbounds %LSlice, ptr %t4572, i32 0, i32 1 %t4574 = getelementptr inbounds %LSlice, ptr %t4572, i32 0, i32 2 %t4575 = getelementptr inbounds %LSlice, ptr %t4572, i32 0, i32 0 %t4576 = load i32, ptr %t4573 %t4577 = load i32, ptr %t4574 %t4578 = icmp sge i32 %t4576, %t4577 br i1 %t4578, label %grow912, label %put913 grow912: %t4579 = mul i32 %t4577, 2 %t4580 = icmp eq i32 %t4577, 0 %t4581 = select i1 %t4580, i32 8, i32 %t4579 %t4582 = getelementptr ptr, ptr null, i32 1 %t4583 = ptrtoint ptr %t4582 to i64 %t4584 = zext i32 %t4581 to i64 %t4585 = mul i64 %t4584, %t4583 %t4586 = load ptr, ptr %t4575 %t4587 = call ptr @realloc(ptr %t4586, i64 %t4585) store ptr %t4587, ptr %t4575 store i32 %t4581, ptr %t4574 br label %put913 put913: %t4588 = load ptr, ptr %t4575 %t4589 = getelementptr inbounds ptr, ptr %t4588, i32 %t4576 store ptr @.str7749, ptr %t4589 %t4590 = add i32 %t4576, 1 store i32 %t4590, ptr %t4573 br label %ifend909 ifend909: %t4591 = load ptr, ptr %t1 %t4592 = call i32 @lp_str_eq(ptr %t4591, ptr @.str7750) %t4593 = icmp ne i32 %t4592, 0 br i1 %t4593, label %then914, label %ifend916 then914: store ptr @.str7751, ptr %t420 %t4594 = load ptr, ptr %t427 %t4595 = getelementptr inbounds %LSlice, ptr %t4594, i32 0, i32 1 %t4596 = getelementptr inbounds %LSlice, ptr %t4594, i32 0, i32 2 %t4597 = getelementptr inbounds %LSlice, ptr %t4594, i32 0, i32 0 %t4598 = load i32, ptr %t4595 %t4599 = load i32, ptr %t4596 %t4600 = icmp sge i32 %t4598, %t4599 br i1 %t4600, label %grow917, label %put918 grow917: %t4601 = mul i32 %t4599, 2 %t4602 = icmp eq i32 %t4599, 0 %t4603 = select i1 %t4602, i32 8, i32 %t4601 %t4604 = getelementptr ptr, ptr null, i32 1 %t4605 = ptrtoint ptr %t4604 to i64 %t4606 = zext i32 %t4603 to i64 %t4607 = mul i64 %t4606, %t4605 %t4608 = load ptr, ptr %t4597 %t4609 = call ptr @realloc(ptr %t4608, i64 %t4607) store ptr %t4609, ptr %t4597 store i32 %t4603, ptr %t4596 br label %put918 put918: %t4610 = load ptr, ptr %t4597 %t4611 = getelementptr inbounds ptr, ptr %t4610, i32 %t4598 store ptr @.str7752, ptr %t4611 %t4612 = add i32 %t4598, 1 store i32 %t4612, ptr %t4595 br label %ifend916 ifend916: %t4613 = load ptr, ptr %t1 %t4614 = call i32 @lp_str_eq(ptr %t4613, ptr @.str7753) %t4615 = icmp ne i32 %t4614, 0 br i1 %t4615, label %then919, label %ifend921 then919: store ptr @.str7754, ptr %t420 %t4616 = load ptr, ptr %t427 %t4617 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 1 %t4618 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 2 %t4619 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 0 %t4620 = load i32, ptr %t4617 %t4621 = load i32, ptr %t4618 %t4622 = icmp sge i32 %t4620, %t4621 br i1 %t4622, label %grow922, label %put923 grow922: %t4623 = mul i32 %t4621, 2 %t4624 = icmp eq i32 %t4621, 0 %t4625 = select i1 %t4624, i32 8, i32 %t4623 %t4626 = getelementptr ptr, ptr null, i32 1 %t4627 = ptrtoint ptr %t4626 to i64 %t4628 = zext i32 %t4625 to i64 %t4629 = mul i64 %t4628, %t4627 %t4630 = load ptr, ptr %t4619 %t4631 = call ptr @realloc(ptr %t4630, i64 %t4629) store ptr %t4631, ptr %t4619 store i32 %t4625, ptr %t4618 br label %put923 put923: %t4632 = load ptr, ptr %t4619 %t4633 = getelementptr inbounds ptr, ptr %t4632, i32 %t4620 store ptr @.str7755, ptr %t4633 %t4634 = add i32 %t4620, 1 store i32 %t4634, ptr %t4617 br label %ifend921 ifend921: %t4635 = load ptr, ptr %t1 %t4636 = call i32 @lp_str_eq(ptr %t4635, ptr @.str7756) %t4637 = icmp ne i32 %t4636, 0 br i1 %t4637, label %then924, label %ifend926 then924: store ptr @.str7757, ptr %t420 %t4638 = load ptr, ptr %t427 %t4639 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 1 %t4640 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 2 %t4641 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 0 %t4642 = load i32, ptr %t4639 %t4643 = load i32, ptr %t4640 %t4644 = icmp sge i32 %t4642, %t4643 br i1 %t4644, label %grow927, label %put928 grow927: %t4645 = mul i32 %t4643, 2 %t4646 = icmp eq i32 %t4643, 0 %t4647 = select i1 %t4646, i32 8, i32 %t4645 %t4648 = getelementptr ptr, ptr null, i32 1 %t4649 = ptrtoint ptr %t4648 to i64 %t4650 = zext i32 %t4647 to i64 %t4651 = mul i64 %t4650, %t4649 %t4652 = load ptr, ptr %t4641 %t4653 = call ptr @realloc(ptr %t4652, i64 %t4651) store ptr %t4653, ptr %t4641 store i32 %t4647, ptr %t4640 br label %put928 put928: %t4654 = load ptr, ptr %t4641 %t4655 = getelementptr inbounds ptr, ptr %t4654, i32 %t4642 store ptr @.str7758, ptr %t4655 %t4656 = add i32 %t4642, 1 store i32 %t4656, ptr %t4639 br label %ifend926 ifend926: %t4657 = load ptr, ptr %t1 %t4658 = call i32 @lp_str_eq(ptr %t4657, ptr @.str7759) %t4659 = icmp ne i32 %t4658, 0 br i1 %t4659, label %then929, label %ifend931 then929: store ptr @.str7760, ptr %t420 br label %ifend931 ifend931: %t4660 = load ptr, ptr %t1 %t4661 = call i32 @lp_str_eq(ptr %t4660, ptr @.str7761) %t4662 = icmp ne i32 %t4661, 0 br i1 %t4662, label %then932, label %ifend934 then932: store ptr @.str7762, ptr %t420 %t4663 = load ptr, ptr %t427 %t4664 = getelementptr inbounds %LSlice, ptr %t4663, i32 0, i32 1 %t4665 = getelementptr inbounds %LSlice, ptr %t4663, i32 0, i32 2 %t4666 = getelementptr inbounds %LSlice, ptr %t4663, i32 0, i32 0 %t4667 = load i32, ptr %t4664 %t4668 = load i32, ptr %t4665 %t4669 = icmp sge i32 %t4667, %t4668 br i1 %t4669, label %grow935, label %put936 grow935: %t4670 = mul i32 %t4668, 2 %t4671 = icmp eq i32 %t4668, 0 %t4672 = select i1 %t4671, i32 8, i32 %t4670 %t4673 = getelementptr ptr, ptr null, i32 1 %t4674 = ptrtoint ptr %t4673 to i64 %t4675 = zext i32 %t4672 to i64 %t4676 = mul i64 %t4675, %t4674 %t4677 = load ptr, ptr %t4666 %t4678 = call ptr @realloc(ptr %t4677, i64 %t4676) store ptr %t4678, ptr %t4666 store i32 %t4672, ptr %t4665 br label %put936 put936: %t4679 = load ptr, ptr %t4666 %t4680 = getelementptr inbounds ptr, ptr %t4679, i32 %t4667 store ptr @.str7763, ptr %t4680 %t4681 = add i32 %t4667, 1 store i32 %t4681, ptr %t4664 br label %ifend934 ifend934: %t4682 = load ptr, ptr %t1 %t4683 = call i32 @lp_str_eq(ptr %t4682, ptr @.str7764) %t4684 = icmp ne i32 %t4683, 0 br i1 %t4684, label %then937, label %ifend939 then937: store ptr @.str7765, ptr %t420 br label %ifend939 ifend939: br label %ifend906 ifend906: %t4685 = load ptr, ptr %t0 %t4686 = call i32 @lp_str_eq(ptr %t4685, ptr @.str7766) %t4687 = icmp ne i32 %t4686, 0 br i1 %t4687, label %then940, label %ifend942 then940: %t4688 = load ptr, ptr %t1 %t4689 = call i32 @lp_str_eq(ptr %t4688, ptr @.str7767) %t4690 = icmp ne i32 %t4689, 0 br i1 %t4690, label %then943, label %ifend945 then943: store ptr @.str7768, ptr %t420 br label %ifend945 ifend945: %t4691 = load ptr, ptr %t1 %t4692 = call i32 @lp_str_eq(ptr %t4691, ptr @.str7769) %t4693 = icmp ne i32 %t4692, 0 br i1 %t4693, label %then946, label %ifend948 then946: store ptr @.str7770, ptr %t420 %t4694 = load ptr, ptr %t427 %t4695 = getelementptr inbounds %LSlice, ptr %t4694, i32 0, i32 1 %t4696 = getelementptr inbounds %LSlice, ptr %t4694, i32 0, i32 2 %t4697 = getelementptr inbounds %LSlice, ptr %t4694, i32 0, i32 0 %t4698 = load i32, ptr %t4695 %t4699 = load i32, ptr %t4696 %t4700 = icmp sge i32 %t4698, %t4699 br i1 %t4700, label %grow949, label %put950 grow949: %t4701 = mul i32 %t4699, 2 %t4702 = icmp eq i32 %t4699, 0 %t4703 = select i1 %t4702, i32 8, i32 %t4701 %t4704 = getelementptr ptr, ptr null, i32 1 %t4705 = ptrtoint ptr %t4704 to i64 %t4706 = zext i32 %t4703 to i64 %t4707 = mul i64 %t4706, %t4705 %t4708 = load ptr, ptr %t4697 %t4709 = call ptr @realloc(ptr %t4708, i64 %t4707) store ptr %t4709, ptr %t4697 store i32 %t4703, ptr %t4696 br label %put950 put950: %t4710 = load ptr, ptr %t4697 %t4711 = getelementptr inbounds ptr, ptr %t4710, i32 %t4698 store ptr @.str7771, ptr %t4711 %t4712 = add i32 %t4698, 1 store i32 %t4712, ptr %t4695 %t4713 = load ptr, ptr %t427 %t4714 = getelementptr inbounds %LSlice, ptr %t4713, i32 0, i32 1 %t4715 = getelementptr inbounds %LSlice, ptr %t4713, i32 0, i32 2 %t4716 = getelementptr inbounds %LSlice, ptr %t4713, i32 0, i32 0 %t4717 = load i32, ptr %t4714 %t4718 = load i32, ptr %t4715 %t4719 = icmp sge i32 %t4717, %t4718 br i1 %t4719, label %grow951, label %put952 grow951: %t4720 = mul i32 %t4718, 2 %t4721 = icmp eq i32 %t4718, 0 %t4722 = select i1 %t4721, i32 8, i32 %t4720 %t4723 = getelementptr ptr, ptr null, i32 1 %t4724 = ptrtoint ptr %t4723 to i64 %t4725 = zext i32 %t4722 to i64 %t4726 = mul i64 %t4725, %t4724 %t4727 = load ptr, ptr %t4716 %t4728 = call ptr @realloc(ptr %t4727, i64 %t4726) store ptr %t4728, ptr %t4716 store i32 %t4722, ptr %t4715 br label %put952 put952: %t4729 = load ptr, ptr %t4716 %t4730 = getelementptr inbounds ptr, ptr %t4729, i32 %t4717 store ptr @.str7772, ptr %t4730 %t4731 = add i32 %t4717, 1 store i32 %t4731, ptr %t4714 br label %ifend948 ifend948: %t4732 = load ptr, ptr %t1 %t4733 = call i32 @lp_str_eq(ptr %t4732, ptr @.str7773) %t4734 = icmp ne i32 %t4733, 0 br i1 %t4734, label %then953, label %ifend955 then953: store ptr @.str7774, ptr %t420 %t4735 = load ptr, ptr %t427 %t4736 = getelementptr inbounds %LSlice, ptr %t4735, i32 0, i32 1 %t4737 = getelementptr inbounds %LSlice, ptr %t4735, i32 0, i32 2 %t4738 = getelementptr inbounds %LSlice, ptr %t4735, i32 0, i32 0 %t4739 = load i32, ptr %t4736 %t4740 = load i32, ptr %t4737 %t4741 = icmp sge i32 %t4739, %t4740 br i1 %t4741, label %grow956, label %put957 grow956: %t4742 = mul i32 %t4740, 2 %t4743 = icmp eq i32 %t4740, 0 %t4744 = select i1 %t4743, i32 8, i32 %t4742 %t4745 = getelementptr ptr, ptr null, i32 1 %t4746 = ptrtoint ptr %t4745 to i64 %t4747 = zext i32 %t4744 to i64 %t4748 = mul i64 %t4747, %t4746 %t4749 = load ptr, ptr %t4738 %t4750 = call ptr @realloc(ptr %t4749, i64 %t4748) store ptr %t4750, ptr %t4738 store i32 %t4744, ptr %t4737 br label %put957 put957: %t4751 = load ptr, ptr %t4738 %t4752 = getelementptr inbounds ptr, ptr %t4751, i32 %t4739 store ptr @.str7775, ptr %t4752 %t4753 = add i32 %t4739, 1 store i32 %t4753, ptr %t4736 %t4754 = load ptr, ptr %t427 %t4755 = getelementptr inbounds %LSlice, ptr %t4754, i32 0, i32 1 %t4756 = getelementptr inbounds %LSlice, ptr %t4754, i32 0, i32 2 %t4757 = getelementptr inbounds %LSlice, ptr %t4754, i32 0, i32 0 %t4758 = load i32, ptr %t4755 %t4759 = load i32, ptr %t4756 %t4760 = icmp sge i32 %t4758, %t4759 br i1 %t4760, label %grow958, label %put959 grow958: %t4761 = mul i32 %t4759, 2 %t4762 = icmp eq i32 %t4759, 0 %t4763 = select i1 %t4762, i32 8, i32 %t4761 %t4764 = getelementptr ptr, ptr null, i32 1 %t4765 = ptrtoint ptr %t4764 to i64 %t4766 = zext i32 %t4763 to i64 %t4767 = mul i64 %t4766, %t4765 %t4768 = load ptr, ptr %t4757 %t4769 = call ptr @realloc(ptr %t4768, i64 %t4767) store ptr %t4769, ptr %t4757 store i32 %t4763, ptr %t4756 br label %put959 put959: %t4770 = load ptr, ptr %t4757 %t4771 = getelementptr inbounds ptr, ptr %t4770, i32 %t4758 store ptr @.str7776, ptr %t4771 %t4772 = add i32 %t4758, 1 store i32 %t4772, ptr %t4755 %t4773 = load ptr, ptr %t427 %t4774 = getelementptr inbounds %LSlice, ptr %t4773, i32 0, i32 1 %t4775 = getelementptr inbounds %LSlice, ptr %t4773, i32 0, i32 2 %t4776 = getelementptr inbounds %LSlice, ptr %t4773, i32 0, i32 0 %t4777 = load i32, ptr %t4774 %t4778 = load i32, ptr %t4775 %t4779 = icmp sge i32 %t4777, %t4778 br i1 %t4779, label %grow960, label %put961 grow960: %t4780 = mul i32 %t4778, 2 %t4781 = icmp eq i32 %t4778, 0 %t4782 = select i1 %t4781, i32 8, i32 %t4780 %t4783 = getelementptr ptr, ptr null, i32 1 %t4784 = ptrtoint ptr %t4783 to i64 %t4785 = zext i32 %t4782 to i64 %t4786 = mul i64 %t4785, %t4784 %t4787 = load ptr, ptr %t4776 %t4788 = call ptr @realloc(ptr %t4787, i64 %t4786) store ptr %t4788, ptr %t4776 store i32 %t4782, ptr %t4775 br label %put961 put961: %t4789 = load ptr, ptr %t4776 %t4790 = getelementptr inbounds ptr, ptr %t4789, i32 %t4777 store ptr @.str7777, ptr %t4790 %t4791 = add i32 %t4777, 1 store i32 %t4791, ptr %t4774 br label %ifend955 ifend955: %t4792 = load ptr, ptr %t1 %t4793 = call i32 @lp_str_eq(ptr %t4792, ptr @.str7778) %t4794 = icmp ne i32 %t4793, 0 br i1 %t4794, label %then962, label %ifend964 then962: store ptr @.str7779, ptr %t420 br label %ifend964 ifend964: %t4795 = load ptr, ptr %t1 %t4796 = call i32 @lp_str_eq(ptr %t4795, ptr @.str7780) %t4797 = icmp ne i32 %t4796, 0 br i1 %t4797, label %then965, label %ifend967 then965: store ptr @.str7781, ptr %t420 br label %ifend967 ifend967: %t4798 = load ptr, ptr %t1 %t4799 = call i32 @lp_str_eq(ptr %t4798, ptr @.str7782) %t4800 = icmp ne i32 %t4799, 0 br i1 %t4800, label %then968, label %ifend970 then968: store ptr @.str7783, ptr %t420 br label %ifend970 ifend970: %t4801 = load ptr, ptr %t1 %t4802 = call i32 @lp_str_eq(ptr %t4801, ptr @.str7784) %t4803 = icmp ne i32 %t4802, 0 br i1 %t4803, label %then971, label %ifend973 then971: store ptr @.str7785, ptr %t420 br label %ifend973 ifend973: %t4804 = load ptr, ptr %t1 %t4805 = call i32 @lp_str_eq(ptr %t4804, ptr @.str7786) %t4806 = icmp ne i32 %t4805, 0 br i1 %t4806, label %then974, label %ifend976 then974: store ptr @.str7787, ptr %t420 br label %ifend976 ifend976: %t4807 = load ptr, ptr %t1 %t4808 = call i32 @lp_str_eq(ptr %t4807, ptr @.str7788) %t4809 = icmp ne i32 %t4808, 0 br i1 %t4809, label %then977, label %ifend979 then977: store ptr @.str7789, ptr %t420 %t4810 = load ptr, ptr %t427 %t4811 = getelementptr inbounds %LSlice, ptr %t4810, i32 0, i32 1 %t4812 = getelementptr inbounds %LSlice, ptr %t4810, i32 0, i32 2 %t4813 = getelementptr inbounds %LSlice, ptr %t4810, i32 0, i32 0 %t4814 = load i32, ptr %t4811 %t4815 = load i32, ptr %t4812 %t4816 = icmp sge i32 %t4814, %t4815 br i1 %t4816, label %grow980, label %put981 grow980: %t4817 = mul i32 %t4815, 2 %t4818 = icmp eq i32 %t4815, 0 %t4819 = select i1 %t4818, i32 8, i32 %t4817 %t4820 = getelementptr ptr, ptr null, i32 1 %t4821 = ptrtoint ptr %t4820 to i64 %t4822 = zext i32 %t4819 to i64 %t4823 = mul i64 %t4822, %t4821 %t4824 = load ptr, ptr %t4813 %t4825 = call ptr @realloc(ptr %t4824, i64 %t4823) store ptr %t4825, ptr %t4813 store i32 %t4819, ptr %t4812 br label %put981 put981: %t4826 = load ptr, ptr %t4813 %t4827 = getelementptr inbounds ptr, ptr %t4826, i32 %t4814 store ptr @.str7790, ptr %t4827 %t4828 = add i32 %t4814, 1 store i32 %t4828, ptr %t4811 %t4829 = load ptr, ptr %t427 %t4830 = getelementptr inbounds %LSlice, ptr %t4829, i32 0, i32 1 %t4831 = getelementptr inbounds %LSlice, ptr %t4829, i32 0, i32 2 %t4832 = getelementptr inbounds %LSlice, ptr %t4829, i32 0, i32 0 %t4833 = load i32, ptr %t4830 %t4834 = load i32, ptr %t4831 %t4835 = icmp sge i32 %t4833, %t4834 br i1 %t4835, label %grow982, label %put983 grow982: %t4836 = mul i32 %t4834, 2 %t4837 = icmp eq i32 %t4834, 0 %t4838 = select i1 %t4837, i32 8, i32 %t4836 %t4839 = getelementptr ptr, ptr null, i32 1 %t4840 = ptrtoint ptr %t4839 to i64 %t4841 = zext i32 %t4838 to i64 %t4842 = mul i64 %t4841, %t4840 %t4843 = load ptr, ptr %t4832 %t4844 = call ptr @realloc(ptr %t4843, i64 %t4842) store ptr %t4844, ptr %t4832 store i32 %t4838, ptr %t4831 br label %put983 put983: %t4845 = load ptr, ptr %t4832 %t4846 = getelementptr inbounds ptr, ptr %t4845, i32 %t4833 store ptr @.str7791, ptr %t4846 %t4847 = add i32 %t4833, 1 store i32 %t4847, ptr %t4830 br label %ifend979 ifend979: %t4848 = load ptr, ptr %t1 %t4849 = call i32 @lp_str_eq(ptr %t4848, ptr @.str7792) %t4850 = icmp ne i32 %t4849, 0 br i1 %t4850, label %then984, label %ifend986 then984: store ptr @.str7793, ptr %t420 %t4851 = load ptr, ptr %t427 %t4852 = getelementptr inbounds %LSlice, ptr %t4851, i32 0, i32 1 %t4853 = getelementptr inbounds %LSlice, ptr %t4851, i32 0, i32 2 %t4854 = getelementptr inbounds %LSlice, ptr %t4851, i32 0, i32 0 %t4855 = load i32, ptr %t4852 %t4856 = load i32, ptr %t4853 %t4857 = icmp sge i32 %t4855, %t4856 br i1 %t4857, label %grow987, label %put988 grow987: %t4858 = mul i32 %t4856, 2 %t4859 = icmp eq i32 %t4856, 0 %t4860 = select i1 %t4859, i32 8, i32 %t4858 %t4861 = getelementptr ptr, ptr null, i32 1 %t4862 = ptrtoint ptr %t4861 to i64 %t4863 = zext i32 %t4860 to i64 %t4864 = mul i64 %t4863, %t4862 %t4865 = load ptr, ptr %t4854 %t4866 = call ptr @realloc(ptr %t4865, i64 %t4864) store ptr %t4866, ptr %t4854 store i32 %t4860, ptr %t4853 br label %put988 put988: %t4867 = load ptr, ptr %t4854 %t4868 = getelementptr inbounds ptr, ptr %t4867, i32 %t4855 store ptr @.str7794, ptr %t4868 %t4869 = add i32 %t4855, 1 store i32 %t4869, ptr %t4852 %t4870 = load ptr, ptr %t427 %t4871 = getelementptr inbounds %LSlice, ptr %t4870, i32 0, i32 1 %t4872 = getelementptr inbounds %LSlice, ptr %t4870, i32 0, i32 2 %t4873 = getelementptr inbounds %LSlice, ptr %t4870, i32 0, i32 0 %t4874 = load i32, ptr %t4871 %t4875 = load i32, ptr %t4872 %t4876 = icmp sge i32 %t4874, %t4875 br i1 %t4876, label %grow989, label %put990 grow989: %t4877 = mul i32 %t4875, 2 %t4878 = icmp eq i32 %t4875, 0 %t4879 = select i1 %t4878, i32 8, i32 %t4877 %t4880 = getelementptr ptr, ptr null, i32 1 %t4881 = ptrtoint ptr %t4880 to i64 %t4882 = zext i32 %t4879 to i64 %t4883 = mul i64 %t4882, %t4881 %t4884 = load ptr, ptr %t4873 %t4885 = call ptr @realloc(ptr %t4884, i64 %t4883) store ptr %t4885, ptr %t4873 store i32 %t4879, ptr %t4872 br label %put990 put990: %t4886 = load ptr, ptr %t4873 %t4887 = getelementptr inbounds ptr, ptr %t4886, i32 %t4874 store ptr @.str7795, ptr %t4887 %t4888 = add i32 %t4874, 1 store i32 %t4888, ptr %t4871 br label %ifend986 ifend986: %t4889 = load ptr, ptr %t1 %t4890 = call i32 @lp_str_eq(ptr %t4889, ptr @.str7796) %t4891 = icmp ne i32 %t4890, 0 br i1 %t4891, label %then991, label %ifend993 then991: store ptr @.str7797, ptr %t420 %t4892 = load ptr, ptr %t427 %t4893 = getelementptr inbounds %LSlice, ptr %t4892, i32 0, i32 1 %t4894 = getelementptr inbounds %LSlice, ptr %t4892, i32 0, i32 2 %t4895 = getelementptr inbounds %LSlice, ptr %t4892, i32 0, i32 0 %t4896 = load i32, ptr %t4893 %t4897 = load i32, ptr %t4894 %t4898 = icmp sge i32 %t4896, %t4897 br i1 %t4898, label %grow994, label %put995 grow994: %t4899 = mul i32 %t4897, 2 %t4900 = icmp eq i32 %t4897, 0 %t4901 = select i1 %t4900, i32 8, i32 %t4899 %t4902 = getelementptr ptr, ptr null, i32 1 %t4903 = ptrtoint ptr %t4902 to i64 %t4904 = zext i32 %t4901 to i64 %t4905 = mul i64 %t4904, %t4903 %t4906 = load ptr, ptr %t4895 %t4907 = call ptr @realloc(ptr %t4906, i64 %t4905) store ptr %t4907, ptr %t4895 store i32 %t4901, ptr %t4894 br label %put995 put995: %t4908 = load ptr, ptr %t4895 %t4909 = getelementptr inbounds ptr, ptr %t4908, i32 %t4896 store ptr @.str7798, ptr %t4909 %t4910 = add i32 %t4896, 1 store i32 %t4910, ptr %t4893 br label %ifend993 ifend993: %t4911 = load ptr, ptr %t1 %t4912 = call i32 @lp_str_eq(ptr %t4911, ptr @.str7799) %t4913 = icmp ne i32 %t4912, 0 br i1 %t4913, label %then996, label %ifend998 then996: store ptr @.str7800, ptr %t420 %t4914 = load ptr, ptr %t427 %t4915 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 1 %t4916 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 2 %t4917 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 0 %t4918 = load i32, ptr %t4915 %t4919 = load i32, ptr %t4916 %t4920 = icmp sge i32 %t4918, %t4919 br i1 %t4920, label %grow999, label %put1000 grow999: %t4921 = mul i32 %t4919, 2 %t4922 = icmp eq i32 %t4919, 0 %t4923 = select i1 %t4922, i32 8, i32 %t4921 %t4924 = getelementptr ptr, ptr null, i32 1 %t4925 = ptrtoint ptr %t4924 to i64 %t4926 = zext i32 %t4923 to i64 %t4927 = mul i64 %t4926, %t4925 %t4928 = load ptr, ptr %t4917 %t4929 = call ptr @realloc(ptr %t4928, i64 %t4927) store ptr %t4929, ptr %t4917 store i32 %t4923, ptr %t4916 br label %put1000 put1000: %t4930 = load ptr, ptr %t4917 %t4931 = getelementptr inbounds ptr, ptr %t4930, i32 %t4918 store ptr @.str7801, ptr %t4931 %t4932 = add i32 %t4918, 1 store i32 %t4932, ptr %t4915 br label %ifend998 ifend998: %t4933 = load ptr, ptr %t1 %t4934 = call i32 @lp_str_eq(ptr %t4933, ptr @.str7802) %t4935 = icmp ne i32 %t4934, 0 br i1 %t4935, label %then1001, label %ifend1003 then1001: store ptr @.str7803, ptr %t420 %t4936 = load ptr, ptr %t427 %t4937 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 1 %t4938 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 2 %t4939 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 0 %t4940 = load i32, ptr %t4937 %t4941 = load i32, ptr %t4938 %t4942 = icmp sge i32 %t4940, %t4941 br i1 %t4942, label %grow1004, label %put1005 grow1004: %t4943 = mul i32 %t4941, 2 %t4944 = icmp eq i32 %t4941, 0 %t4945 = select i1 %t4944, i32 8, i32 %t4943 %t4946 = getelementptr ptr, ptr null, i32 1 %t4947 = ptrtoint ptr %t4946 to i64 %t4948 = zext i32 %t4945 to i64 %t4949 = mul i64 %t4948, %t4947 %t4950 = load ptr, ptr %t4939 %t4951 = call ptr @realloc(ptr %t4950, i64 %t4949) store ptr %t4951, ptr %t4939 store i32 %t4945, ptr %t4938 br label %put1005 put1005: %t4952 = load ptr, ptr %t4939 %t4953 = getelementptr inbounds ptr, ptr %t4952, i32 %t4940 store ptr @.str7804, ptr %t4953 %t4954 = add i32 %t4940, 1 store i32 %t4954, ptr %t4937 br label %ifend1003 ifend1003: %t4955 = load ptr, ptr %t1 %t4956 = call i32 @lp_str_eq(ptr %t4955, ptr @.str7805) %t4957 = icmp ne i32 %t4956, 0 br i1 %t4957, label %then1006, label %ifend1008 then1006: store ptr @.str7806, ptr %t420 %t4958 = load ptr, ptr %t427 %t4959 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 1 %t4960 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 2 %t4961 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 0 %t4962 = load i32, ptr %t4959 %t4963 = load i32, ptr %t4960 %t4964 = icmp sge i32 %t4962, %t4963 br i1 %t4964, label %grow1009, label %put1010 grow1009: %t4965 = mul i32 %t4963, 2 %t4966 = icmp eq i32 %t4963, 0 %t4967 = select i1 %t4966, i32 8, i32 %t4965 %t4968 = getelementptr ptr, ptr null, i32 1 %t4969 = ptrtoint ptr %t4968 to i64 %t4970 = zext i32 %t4967 to i64 %t4971 = mul i64 %t4970, %t4969 %t4972 = load ptr, ptr %t4961 %t4973 = call ptr @realloc(ptr %t4972, i64 %t4971) store ptr %t4973, ptr %t4961 store i32 %t4967, ptr %t4960 br label %put1010 put1010: %t4974 = load ptr, ptr %t4961 %t4975 = getelementptr inbounds ptr, ptr %t4974, i32 %t4962 store ptr @.str7807, ptr %t4975 %t4976 = add i32 %t4962, 1 store i32 %t4976, ptr %t4959 br label %ifend1008 ifend1008: %t4977 = load ptr, ptr %t1 %t4978 = call i32 @lp_str_eq(ptr %t4977, ptr @.str7808) %t4979 = icmp ne i32 %t4978, 0 br i1 %t4979, label %then1011, label %ifend1013 then1011: store ptr @.str7809, ptr %t420 %t4980 = load ptr, ptr %t427 %t4981 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 1 %t4982 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 2 %t4983 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 0 %t4984 = load i32, ptr %t4981 %t4985 = load i32, ptr %t4982 %t4986 = icmp sge i32 %t4984, %t4985 br i1 %t4986, label %grow1014, label %put1015 grow1014: %t4987 = mul i32 %t4985, 2 %t4988 = icmp eq i32 %t4985, 0 %t4989 = select i1 %t4988, i32 8, i32 %t4987 %t4990 = getelementptr ptr, ptr null, i32 1 %t4991 = ptrtoint ptr %t4990 to i64 %t4992 = zext i32 %t4989 to i64 %t4993 = mul i64 %t4992, %t4991 %t4994 = load ptr, ptr %t4983 %t4995 = call ptr @realloc(ptr %t4994, i64 %t4993) store ptr %t4995, ptr %t4983 store i32 %t4989, ptr %t4982 br label %put1015 put1015: %t4996 = load ptr, ptr %t4983 %t4997 = getelementptr inbounds ptr, ptr %t4996, i32 %t4984 store ptr @.str7810, ptr %t4997 %t4998 = add i32 %t4984, 1 store i32 %t4998, ptr %t4981 br label %ifend1013 ifend1013: %t4999 = load ptr, ptr %t1 %t5000 = call i32 @lp_str_eq(ptr %t4999, ptr @.str7811) %t5001 = icmp ne i32 %t5000, 0 br i1 %t5001, label %then1016, label %ifend1018 then1016: store ptr @.str7812, ptr %t420 %t5002 = load ptr, ptr %t427 %t5003 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 1 %t5004 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 2 %t5005 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 0 %t5006 = load i32, ptr %t5003 %t5007 = load i32, ptr %t5004 %t5008 = icmp sge i32 %t5006, %t5007 br i1 %t5008, label %grow1019, label %put1020 grow1019: %t5009 = mul i32 %t5007, 2 %t5010 = icmp eq i32 %t5007, 0 %t5011 = select i1 %t5010, i32 8, i32 %t5009 %t5012 = getelementptr ptr, ptr null, i32 1 %t5013 = ptrtoint ptr %t5012 to i64 %t5014 = zext i32 %t5011 to i64 %t5015 = mul i64 %t5014, %t5013 %t5016 = load ptr, ptr %t5005 %t5017 = call ptr @realloc(ptr %t5016, i64 %t5015) store ptr %t5017, ptr %t5005 store i32 %t5011, ptr %t5004 br label %put1020 put1020: %t5018 = load ptr, ptr %t5005 %t5019 = getelementptr inbounds ptr, ptr %t5018, i32 %t5006 store ptr @.str7813, ptr %t5019 %t5020 = add i32 %t5006, 1 store i32 %t5020, ptr %t5003 br label %ifend1018 ifend1018: %t5021 = load ptr, ptr %t1 %t5022 = call i32 @lp_str_eq(ptr %t5021, ptr @.str7814) %t5023 = icmp ne i32 %t5022, 0 br i1 %t5023, label %then1021, label %ifend1023 then1021: store ptr @.str7815, ptr %t420 %t5024 = load ptr, ptr %t427 %t5025 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 1 %t5026 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 2 %t5027 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 0 %t5028 = load i32, ptr %t5025 %t5029 = load i32, ptr %t5026 %t5030 = icmp sge i32 %t5028, %t5029 br i1 %t5030, label %grow1024, label %put1025 grow1024: %t5031 = mul i32 %t5029, 2 %t5032 = icmp eq i32 %t5029, 0 %t5033 = select i1 %t5032, i32 8, i32 %t5031 %t5034 = getelementptr ptr, ptr null, i32 1 %t5035 = ptrtoint ptr %t5034 to i64 %t5036 = zext i32 %t5033 to i64 %t5037 = mul i64 %t5036, %t5035 %t5038 = load ptr, ptr %t5027 %t5039 = call ptr @realloc(ptr %t5038, i64 %t5037) store ptr %t5039, ptr %t5027 store i32 %t5033, ptr %t5026 br label %put1025 put1025: %t5040 = load ptr, ptr %t5027 %t5041 = getelementptr inbounds ptr, ptr %t5040, i32 %t5028 store ptr @.str7816, ptr %t5041 %t5042 = add i32 %t5028, 1 store i32 %t5042, ptr %t5025 br label %ifend1023 ifend1023: %t5043 = load ptr, ptr %t1 %t5044 = call i32 @lp_str_eq(ptr %t5043, ptr @.str7817) %t5045 = icmp ne i32 %t5044, 0 br i1 %t5045, label %then1026, label %ifend1028 then1026: store ptr @.str7818, ptr %t420 %t5046 = load ptr, ptr %t427 %t5047 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 1 %t5048 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 2 %t5049 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 0 %t5050 = load i32, ptr %t5047 %t5051 = load i32, ptr %t5048 %t5052 = icmp sge i32 %t5050, %t5051 br i1 %t5052, label %grow1029, label %put1030 grow1029: %t5053 = mul i32 %t5051, 2 %t5054 = icmp eq i32 %t5051, 0 %t5055 = select i1 %t5054, i32 8, i32 %t5053 %t5056 = getelementptr ptr, ptr null, i32 1 %t5057 = ptrtoint ptr %t5056 to i64 %t5058 = zext i32 %t5055 to i64 %t5059 = mul i64 %t5058, %t5057 %t5060 = load ptr, ptr %t5049 %t5061 = call ptr @realloc(ptr %t5060, i64 %t5059) store ptr %t5061, ptr %t5049 store i32 %t5055, ptr %t5048 br label %put1030 put1030: %t5062 = load ptr, ptr %t5049 %t5063 = getelementptr inbounds ptr, ptr %t5062, i32 %t5050 store ptr @.str7819, ptr %t5063 %t5064 = add i32 %t5050, 1 store i32 %t5064, ptr %t5047 br label %ifend1028 ifend1028: %t5065 = load ptr, ptr %t1 %t5066 = call i32 @lp_str_eq(ptr %t5065, ptr @.str7820) %t5067 = icmp ne i32 %t5066, 0 br i1 %t5067, label %then1031, label %ifend1033 then1031: store ptr @.str7821, ptr %t420 %t5068 = load ptr, ptr %t427 %t5069 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 1 %t5070 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 2 %t5071 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 0 %t5072 = load i32, ptr %t5069 %t5073 = load i32, ptr %t5070 %t5074 = icmp sge i32 %t5072, %t5073 br i1 %t5074, label %grow1034, label %put1035 grow1034: %t5075 = mul i32 %t5073, 2 %t5076 = icmp eq i32 %t5073, 0 %t5077 = select i1 %t5076, i32 8, i32 %t5075 %t5078 = getelementptr ptr, ptr null, i32 1 %t5079 = ptrtoint ptr %t5078 to i64 %t5080 = zext i32 %t5077 to i64 %t5081 = mul i64 %t5080, %t5079 %t5082 = load ptr, ptr %t5071 %t5083 = call ptr @realloc(ptr %t5082, i64 %t5081) store ptr %t5083, ptr %t5071 store i32 %t5077, ptr %t5070 br label %put1035 put1035: %t5084 = load ptr, ptr %t5071 %t5085 = getelementptr inbounds ptr, ptr %t5084, i32 %t5072 store ptr @.str7822, ptr %t5085 %t5086 = add i32 %t5072, 1 store i32 %t5086, ptr %t5069 br label %ifend1033 ifend1033: %t5087 = load ptr, ptr %t1 %t5088 = call i32 @lp_str_eq(ptr %t5087, ptr @.str7823) %t5089 = icmp ne i32 %t5088, 0 br i1 %t5089, label %then1036, label %ifend1038 then1036: store ptr @.str7824, ptr %t420 %t5090 = load ptr, ptr %t427 %t5091 = getelementptr inbounds %LSlice, ptr %t5090, i32 0, i32 1 %t5092 = getelementptr inbounds %LSlice, ptr %t5090, i32 0, i32 2 %t5093 = getelementptr inbounds %LSlice, ptr %t5090, i32 0, i32 0 %t5094 = load i32, ptr %t5091 %t5095 = load i32, ptr %t5092 %t5096 = icmp sge i32 %t5094, %t5095 br i1 %t5096, label %grow1039, label %put1040 grow1039: %t5097 = mul i32 %t5095, 2 %t5098 = icmp eq i32 %t5095, 0 %t5099 = select i1 %t5098, i32 8, i32 %t5097 %t5100 = getelementptr ptr, ptr null, i32 1 %t5101 = ptrtoint ptr %t5100 to i64 %t5102 = zext i32 %t5099 to i64 %t5103 = mul i64 %t5102, %t5101 %t5104 = load ptr, ptr %t5093 %t5105 = call ptr @realloc(ptr %t5104, i64 %t5103) store ptr %t5105, ptr %t5093 store i32 %t5099, ptr %t5092 br label %put1040 put1040: %t5106 = load ptr, ptr %t5093 %t5107 = getelementptr inbounds ptr, ptr %t5106, i32 %t5094 store ptr @.str7825, ptr %t5107 %t5108 = add i32 %t5094, 1 store i32 %t5108, ptr %t5091 %t5109 = load ptr, ptr %t427 %t5110 = getelementptr inbounds %LSlice, ptr %t5109, i32 0, i32 1 %t5111 = getelementptr inbounds %LSlice, ptr %t5109, i32 0, i32 2 %t5112 = getelementptr inbounds %LSlice, ptr %t5109, i32 0, i32 0 %t5113 = load i32, ptr %t5110 %t5114 = load i32, ptr %t5111 %t5115 = icmp sge i32 %t5113, %t5114 br i1 %t5115, label %grow1041, label %put1042 grow1041: %t5116 = mul i32 %t5114, 2 %t5117 = icmp eq i32 %t5114, 0 %t5118 = select i1 %t5117, i32 8, i32 %t5116 %t5119 = getelementptr ptr, ptr null, i32 1 %t5120 = ptrtoint ptr %t5119 to i64 %t5121 = zext i32 %t5118 to i64 %t5122 = mul i64 %t5121, %t5120 %t5123 = load ptr, ptr %t5112 %t5124 = call ptr @realloc(ptr %t5123, i64 %t5122) store ptr %t5124, ptr %t5112 store i32 %t5118, ptr %t5111 br label %put1042 put1042: %t5125 = load ptr, ptr %t5112 %t5126 = getelementptr inbounds ptr, ptr %t5125, i32 %t5113 store ptr @.str7826, ptr %t5126 %t5127 = add i32 %t5113, 1 store i32 %t5127, ptr %t5110 br label %ifend1038 ifend1038: %t5128 = load ptr, ptr %t1 %t5129 = call i32 @lp_str_eq(ptr %t5128, ptr @.str7827) %t5130 = icmp ne i32 %t5129, 0 br i1 %t5130, label %then1043, label %ifend1045 then1043: store ptr @.str7828, ptr %t420 %t5131 = load ptr, ptr %t427 %t5132 = getelementptr inbounds %LSlice, ptr %t5131, i32 0, i32 1 %t5133 = getelementptr inbounds %LSlice, ptr %t5131, i32 0, i32 2 %t5134 = getelementptr inbounds %LSlice, ptr %t5131, i32 0, i32 0 %t5135 = load i32, ptr %t5132 %t5136 = load i32, ptr %t5133 %t5137 = icmp sge i32 %t5135, %t5136 br i1 %t5137, label %grow1046, label %put1047 grow1046: %t5138 = mul i32 %t5136, 2 %t5139 = icmp eq i32 %t5136, 0 %t5140 = select i1 %t5139, i32 8, i32 %t5138 %t5141 = getelementptr ptr, ptr null, i32 1 %t5142 = ptrtoint ptr %t5141 to i64 %t5143 = zext i32 %t5140 to i64 %t5144 = mul i64 %t5143, %t5142 %t5145 = load ptr, ptr %t5134 %t5146 = call ptr @realloc(ptr %t5145, i64 %t5144) store ptr %t5146, ptr %t5134 store i32 %t5140, ptr %t5133 br label %put1047 put1047: %t5147 = load ptr, ptr %t5134 %t5148 = getelementptr inbounds ptr, ptr %t5147, i32 %t5135 store ptr @.str7829, ptr %t5148 %t5149 = add i32 %t5135, 1 store i32 %t5149, ptr %t5132 %t5150 = load ptr, ptr %t427 %t5151 = getelementptr inbounds %LSlice, ptr %t5150, i32 0, i32 1 %t5152 = getelementptr inbounds %LSlice, ptr %t5150, i32 0, i32 2 %t5153 = getelementptr inbounds %LSlice, ptr %t5150, i32 0, i32 0 %t5154 = load i32, ptr %t5151 %t5155 = load i32, ptr %t5152 %t5156 = icmp sge i32 %t5154, %t5155 br i1 %t5156, label %grow1048, label %put1049 grow1048: %t5157 = mul i32 %t5155, 2 %t5158 = icmp eq i32 %t5155, 0 %t5159 = select i1 %t5158, i32 8, i32 %t5157 %t5160 = getelementptr ptr, ptr null, i32 1 %t5161 = ptrtoint ptr %t5160 to i64 %t5162 = zext i32 %t5159 to i64 %t5163 = mul i64 %t5162, %t5161 %t5164 = load ptr, ptr %t5153 %t5165 = call ptr @realloc(ptr %t5164, i64 %t5163) store ptr %t5165, ptr %t5153 store i32 %t5159, ptr %t5152 br label %put1049 put1049: %t5166 = load ptr, ptr %t5153 %t5167 = getelementptr inbounds ptr, ptr %t5166, i32 %t5154 store ptr @.str7830, ptr %t5167 %t5168 = add i32 %t5154, 1 store i32 %t5168, ptr %t5151 br label %ifend1045 ifend1045: %t5169 = load ptr, ptr %t1 %t5170 = call i32 @lp_str_eq(ptr %t5169, ptr @.str7831) %t5171 = icmp ne i32 %t5170, 0 br i1 %t5171, label %then1050, label %ifend1052 then1050: store ptr @.str7832, ptr %t420 br label %ifend1052 ifend1052: %t5172 = load ptr, ptr %t1 %t5173 = call i32 @lp_str_eq(ptr %t5172, ptr @.str7833) %t5174 = icmp ne i32 %t5173, 0 br i1 %t5174, label %then1053, label %ifend1055 then1053: store ptr @.str7834, ptr %t420 %t5175 = load ptr, ptr %t427 %t5176 = getelementptr inbounds %LSlice, ptr %t5175, i32 0, i32 1 %t5177 = getelementptr inbounds %LSlice, ptr %t5175, i32 0, i32 2 %t5178 = getelementptr inbounds %LSlice, ptr %t5175, i32 0, i32 0 %t5179 = load i32, ptr %t5176 %t5180 = load i32, ptr %t5177 %t5181 = icmp sge i32 %t5179, %t5180 br i1 %t5181, label %grow1056, label %put1057 grow1056: %t5182 = mul i32 %t5180, 2 %t5183 = icmp eq i32 %t5180, 0 %t5184 = select i1 %t5183, i32 8, i32 %t5182 %t5185 = getelementptr ptr, ptr null, i32 1 %t5186 = ptrtoint ptr %t5185 to i64 %t5187 = zext i32 %t5184 to i64 %t5188 = mul i64 %t5187, %t5186 %t5189 = load ptr, ptr %t5178 %t5190 = call ptr @realloc(ptr %t5189, i64 %t5188) store ptr %t5190, ptr %t5178 store i32 %t5184, ptr %t5177 br label %put1057 put1057: %t5191 = load ptr, ptr %t5178 %t5192 = getelementptr inbounds ptr, ptr %t5191, i32 %t5179 store ptr @.str7835, ptr %t5192 %t5193 = add i32 %t5179, 1 store i32 %t5193, ptr %t5176 %t5194 = load ptr, ptr %t427 %t5195 = getelementptr inbounds %LSlice, ptr %t5194, i32 0, i32 1 %t5196 = getelementptr inbounds %LSlice, ptr %t5194, i32 0, i32 2 %t5197 = getelementptr inbounds %LSlice, ptr %t5194, i32 0, i32 0 %t5198 = load i32, ptr %t5195 %t5199 = load i32, ptr %t5196 %t5200 = icmp sge i32 %t5198, %t5199 br i1 %t5200, label %grow1058, label %put1059 grow1058: %t5201 = mul i32 %t5199, 2 %t5202 = icmp eq i32 %t5199, 0 %t5203 = select i1 %t5202, i32 8, i32 %t5201 %t5204 = getelementptr ptr, ptr null, i32 1 %t5205 = ptrtoint ptr %t5204 to i64 %t5206 = zext i32 %t5203 to i64 %t5207 = mul i64 %t5206, %t5205 %t5208 = load ptr, ptr %t5197 %t5209 = call ptr @realloc(ptr %t5208, i64 %t5207) store ptr %t5209, ptr %t5197 store i32 %t5203, ptr %t5196 br label %put1059 put1059: %t5210 = load ptr, ptr %t5197 %t5211 = getelementptr inbounds ptr, ptr %t5210, i32 %t5198 store ptr @.str7836, ptr %t5211 %t5212 = add i32 %t5198, 1 store i32 %t5212, ptr %t5195 %t5213 = load ptr, ptr %t427 %t5214 = getelementptr inbounds %LSlice, ptr %t5213, i32 0, i32 1 %t5215 = getelementptr inbounds %LSlice, ptr %t5213, i32 0, i32 2 %t5216 = getelementptr inbounds %LSlice, ptr %t5213, i32 0, i32 0 %t5217 = load i32, ptr %t5214 %t5218 = load i32, ptr %t5215 %t5219 = icmp sge i32 %t5217, %t5218 br i1 %t5219, label %grow1060, label %put1061 grow1060: %t5220 = mul i32 %t5218, 2 %t5221 = icmp eq i32 %t5218, 0 %t5222 = select i1 %t5221, i32 8, i32 %t5220 %t5223 = getelementptr ptr, ptr null, i32 1 %t5224 = ptrtoint ptr %t5223 to i64 %t5225 = zext i32 %t5222 to i64 %t5226 = mul i64 %t5225, %t5224 %t5227 = load ptr, ptr %t5216 %t5228 = call ptr @realloc(ptr %t5227, i64 %t5226) store ptr %t5228, ptr %t5216 store i32 %t5222, ptr %t5215 br label %put1061 put1061: %t5229 = load ptr, ptr %t5216 %t5230 = getelementptr inbounds ptr, ptr %t5229, i32 %t5217 store ptr @.str7837, ptr %t5230 %t5231 = add i32 %t5217, 1 store i32 %t5231, ptr %t5214 %t5232 = load ptr, ptr %t427 %t5233 = getelementptr inbounds %LSlice, ptr %t5232, i32 0, i32 1 %t5234 = getelementptr inbounds %LSlice, ptr %t5232, i32 0, i32 2 %t5235 = getelementptr inbounds %LSlice, ptr %t5232, i32 0, i32 0 %t5236 = load i32, ptr %t5233 %t5237 = load i32, ptr %t5234 %t5238 = icmp sge i32 %t5236, %t5237 br i1 %t5238, label %grow1062, label %put1063 grow1062: %t5239 = mul i32 %t5237, 2 %t5240 = icmp eq i32 %t5237, 0 %t5241 = select i1 %t5240, i32 8, i32 %t5239 %t5242 = getelementptr ptr, ptr null, i32 1 %t5243 = ptrtoint ptr %t5242 to i64 %t5244 = zext i32 %t5241 to i64 %t5245 = mul i64 %t5244, %t5243 %t5246 = load ptr, ptr %t5235 %t5247 = call ptr @realloc(ptr %t5246, i64 %t5245) store ptr %t5247, ptr %t5235 store i32 %t5241, ptr %t5234 br label %put1063 put1063: %t5248 = load ptr, ptr %t5235 %t5249 = getelementptr inbounds ptr, ptr %t5248, i32 %t5236 store ptr @.str7838, ptr %t5249 %t5250 = add i32 %t5236, 1 store i32 %t5250, ptr %t5233 br label %ifend1055 ifend1055: %t5251 = load ptr, ptr %t1 %t5252 = call i32 @lp_str_eq(ptr %t5251, ptr @.str7839) %t5253 = icmp ne i32 %t5252, 0 br i1 %t5253, label %then1064, label %ifend1066 then1064: store ptr @.str7840, ptr %t420 %t5254 = load ptr, ptr %t427 %t5255 = getelementptr inbounds %LSlice, ptr %t5254, i32 0, i32 1 %t5256 = getelementptr inbounds %LSlice, ptr %t5254, i32 0, i32 2 %t5257 = getelementptr inbounds %LSlice, ptr %t5254, i32 0, i32 0 %t5258 = load i32, ptr %t5255 %t5259 = load i32, ptr %t5256 %t5260 = icmp sge i32 %t5258, %t5259 br i1 %t5260, label %grow1067, label %put1068 grow1067: %t5261 = mul i32 %t5259, 2 %t5262 = icmp eq i32 %t5259, 0 %t5263 = select i1 %t5262, i32 8, i32 %t5261 %t5264 = getelementptr ptr, ptr null, i32 1 %t5265 = ptrtoint ptr %t5264 to i64 %t5266 = zext i32 %t5263 to i64 %t5267 = mul i64 %t5266, %t5265 %t5268 = load ptr, ptr %t5257 %t5269 = call ptr @realloc(ptr %t5268, i64 %t5267) store ptr %t5269, ptr %t5257 store i32 %t5263, ptr %t5256 br label %put1068 put1068: %t5270 = load ptr, ptr %t5257 %t5271 = getelementptr inbounds ptr, ptr %t5270, i32 %t5258 store ptr @.str7841, ptr %t5271 %t5272 = add i32 %t5258, 1 store i32 %t5272, ptr %t5255 br label %ifend1066 ifend1066: %t5273 = load ptr, ptr %t1 %t5274 = call i32 @lp_str_eq(ptr %t5273, ptr @.str7842) %t5275 = icmp ne i32 %t5274, 0 br i1 %t5275, label %then1069, label %ifend1071 then1069: store ptr @.str7843, ptr %t420 br label %ifend1071 ifend1071: %t5276 = load ptr, ptr %t1 %t5277 = call i32 @lp_str_eq(ptr %t5276, ptr @.str7844) %t5278 = icmp ne i32 %t5277, 0 br i1 %t5278, label %then1072, label %ifend1074 then1072: store ptr @.str7845, ptr %t420 br label %ifend1074 ifend1074: %t5279 = load ptr, ptr %t1 %t5280 = call i32 @lp_str_eq(ptr %t5279, ptr @.str7846) %t5281 = icmp ne i32 %t5280, 0 br i1 %t5281, label %then1075, label %ifend1077 then1075: store ptr @.str7847, ptr %t420 br label %ifend1077 ifend1077: %t5282 = load ptr, ptr %t1 %t5283 = call i32 @lp_str_eq(ptr %t5282, ptr @.str7848) %t5284 = icmp ne i32 %t5283, 0 br i1 %t5284, label %then1078, label %ifend1080 then1078: store ptr @.str7849, ptr %t420 br label %ifend1080 ifend1080: %t5285 = load ptr, ptr %t1 %t5286 = call i32 @lp_str_eq(ptr %t5285, ptr @.str7850) %t5287 = icmp ne i32 %t5286, 0 br i1 %t5287, label %then1081, label %ifend1083 then1081: store ptr @.str7851, ptr %t420 %t5288 = load ptr, ptr %t427 %t5289 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 1 %t5290 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 2 %t5291 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 0 %t5292 = load i32, ptr %t5289 %t5293 = load i32, ptr %t5290 %t5294 = icmp sge i32 %t5292, %t5293 br i1 %t5294, label %grow1084, label %put1085 grow1084: %t5295 = mul i32 %t5293, 2 %t5296 = icmp eq i32 %t5293, 0 %t5297 = select i1 %t5296, i32 8, i32 %t5295 %t5298 = getelementptr ptr, ptr null, i32 1 %t5299 = ptrtoint ptr %t5298 to i64 %t5300 = zext i32 %t5297 to i64 %t5301 = mul i64 %t5300, %t5299 %t5302 = load ptr, ptr %t5291 %t5303 = call ptr @realloc(ptr %t5302, i64 %t5301) store ptr %t5303, ptr %t5291 store i32 %t5297, ptr %t5290 br label %put1085 put1085: %t5304 = load ptr, ptr %t5291 %t5305 = getelementptr inbounds ptr, ptr %t5304, i32 %t5292 store ptr @.str7852, ptr %t5305 %t5306 = add i32 %t5292, 1 store i32 %t5306, ptr %t5289 br label %ifend1083 ifend1083: %t5307 = load ptr, ptr %t1 %t5308 = call i32 @lp_str_eq(ptr %t5307, ptr @.str7853) %t5309 = icmp ne i32 %t5308, 0 br i1 %t5309, label %then1086, label %ifend1088 then1086: store ptr @.str7854, ptr %t420 br label %ifend1088 ifend1088: %t5310 = load ptr, ptr %t1 %t5311 = call i32 @lp_str_eq(ptr %t5310, ptr @.str7855) %t5312 = icmp ne i32 %t5311, 0 br i1 %t5312, label %then1089, label %ifend1091 then1089: store ptr @.str7856, ptr %t420 %t5313 = load ptr, ptr %t427 %t5314 = getelementptr inbounds %LSlice, ptr %t5313, i32 0, i32 1 %t5315 = getelementptr inbounds %LSlice, ptr %t5313, i32 0, i32 2 %t5316 = getelementptr inbounds %LSlice, ptr %t5313, i32 0, i32 0 %t5317 = load i32, ptr %t5314 %t5318 = load i32, ptr %t5315 %t5319 = icmp sge i32 %t5317, %t5318 br i1 %t5319, label %grow1092, label %put1093 grow1092: %t5320 = mul i32 %t5318, 2 %t5321 = icmp eq i32 %t5318, 0 %t5322 = select i1 %t5321, i32 8, i32 %t5320 %t5323 = getelementptr ptr, ptr null, i32 1 %t5324 = ptrtoint ptr %t5323 to i64 %t5325 = zext i32 %t5322 to i64 %t5326 = mul i64 %t5325, %t5324 %t5327 = load ptr, ptr %t5316 %t5328 = call ptr @realloc(ptr %t5327, i64 %t5326) store ptr %t5328, ptr %t5316 store i32 %t5322, ptr %t5315 br label %put1093 put1093: %t5329 = load ptr, ptr %t5316 %t5330 = getelementptr inbounds ptr, ptr %t5329, i32 %t5317 store ptr @.str7857, ptr %t5330 %t5331 = add i32 %t5317, 1 store i32 %t5331, ptr %t5314 %t5332 = load ptr, ptr %t427 %t5333 = getelementptr inbounds %LSlice, ptr %t5332, i32 0, i32 1 %t5334 = getelementptr inbounds %LSlice, ptr %t5332, i32 0, i32 2 %t5335 = getelementptr inbounds %LSlice, ptr %t5332, i32 0, i32 0 %t5336 = load i32, ptr %t5333 %t5337 = load i32, ptr %t5334 %t5338 = icmp sge i32 %t5336, %t5337 br i1 %t5338, label %grow1094, label %put1095 grow1094: %t5339 = mul i32 %t5337, 2 %t5340 = icmp eq i32 %t5337, 0 %t5341 = select i1 %t5340, i32 8, i32 %t5339 %t5342 = getelementptr ptr, ptr null, i32 1 %t5343 = ptrtoint ptr %t5342 to i64 %t5344 = zext i32 %t5341 to i64 %t5345 = mul i64 %t5344, %t5343 %t5346 = load ptr, ptr %t5335 %t5347 = call ptr @realloc(ptr %t5346, i64 %t5345) store ptr %t5347, ptr %t5335 store i32 %t5341, ptr %t5334 br label %put1095 put1095: %t5348 = load ptr, ptr %t5335 %t5349 = getelementptr inbounds ptr, ptr %t5348, i32 %t5336 store ptr @.str7858, ptr %t5349 %t5350 = add i32 %t5336, 1 store i32 %t5350, ptr %t5333 %t5351 = load ptr, ptr %t427 %t5352 = getelementptr inbounds %LSlice, ptr %t5351, i32 0, i32 1 %t5353 = getelementptr inbounds %LSlice, ptr %t5351, i32 0, i32 2 %t5354 = getelementptr inbounds %LSlice, ptr %t5351, i32 0, i32 0 %t5355 = load i32, ptr %t5352 %t5356 = load i32, ptr %t5353 %t5357 = icmp sge i32 %t5355, %t5356 br i1 %t5357, label %grow1096, label %put1097 grow1096: %t5358 = mul i32 %t5356, 2 %t5359 = icmp eq i32 %t5356, 0 %t5360 = select i1 %t5359, i32 8, i32 %t5358 %t5361 = getelementptr ptr, ptr null, i32 1 %t5362 = ptrtoint ptr %t5361 to i64 %t5363 = zext i32 %t5360 to i64 %t5364 = mul i64 %t5363, %t5362 %t5365 = load ptr, ptr %t5354 %t5366 = call ptr @realloc(ptr %t5365, i64 %t5364) store ptr %t5366, ptr %t5354 store i32 %t5360, ptr %t5353 br label %put1097 put1097: %t5367 = load ptr, ptr %t5354 %t5368 = getelementptr inbounds ptr, ptr %t5367, i32 %t5355 store ptr @.str7859, ptr %t5368 %t5369 = add i32 %t5355, 1 store i32 %t5369, ptr %t5352 %t5370 = load ptr, ptr %t427 %t5371 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 1 %t5372 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 2 %t5373 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 0 %t5374 = load i32, ptr %t5371 %t5375 = load i32, ptr %t5372 %t5376 = icmp sge i32 %t5374, %t5375 br i1 %t5376, label %grow1098, label %put1099 grow1098: %t5377 = mul i32 %t5375, 2 %t5378 = icmp eq i32 %t5375, 0 %t5379 = select i1 %t5378, i32 8, i32 %t5377 %t5380 = getelementptr ptr, ptr null, i32 1 %t5381 = ptrtoint ptr %t5380 to i64 %t5382 = zext i32 %t5379 to i64 %t5383 = mul i64 %t5382, %t5381 %t5384 = load ptr, ptr %t5373 %t5385 = call ptr @realloc(ptr %t5384, i64 %t5383) store ptr %t5385, ptr %t5373 store i32 %t5379, ptr %t5372 br label %put1099 put1099: %t5386 = load ptr, ptr %t5373 %t5387 = getelementptr inbounds ptr, ptr %t5386, i32 %t5374 store ptr @.str7860, ptr %t5387 %t5388 = add i32 %t5374, 1 store i32 %t5388, ptr %t5371 br label %ifend1091 ifend1091: %t5389 = load ptr, ptr %t1 %t5390 = call i32 @lp_str_eq(ptr %t5389, ptr @.str7861) %t5391 = icmp ne i32 %t5390, 0 br i1 %t5391, label %then1100, label %ifend1102 then1100: store ptr @.str7862, ptr %t420 %t5392 = load ptr, ptr %t427 %t5393 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 1 %t5394 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 2 %t5395 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 0 %t5396 = load i32, ptr %t5393 %t5397 = load i32, ptr %t5394 %t5398 = icmp sge i32 %t5396, %t5397 br i1 %t5398, label %grow1103, label %put1104 grow1103: %t5399 = mul i32 %t5397, 2 %t5400 = icmp eq i32 %t5397, 0 %t5401 = select i1 %t5400, i32 8, i32 %t5399 %t5402 = getelementptr ptr, ptr null, i32 1 %t5403 = ptrtoint ptr %t5402 to i64 %t5404 = zext i32 %t5401 to i64 %t5405 = mul i64 %t5404, %t5403 %t5406 = load ptr, ptr %t5395 %t5407 = call ptr @realloc(ptr %t5406, i64 %t5405) store ptr %t5407, ptr %t5395 store i32 %t5401, ptr %t5394 br label %put1104 put1104: %t5408 = load ptr, ptr %t5395 %t5409 = getelementptr inbounds ptr, ptr %t5408, i32 %t5396 store ptr @.str7863, ptr %t5409 %t5410 = add i32 %t5396, 1 store i32 %t5410, ptr %t5393 br label %ifend1102 ifend1102: %t5411 = load ptr, ptr %t1 %t5412 = call i32 @lp_str_eq(ptr %t5411, ptr @.str7864) %t5413 = icmp ne i32 %t5412, 0 br i1 %t5413, label %then1105, label %ifend1107 then1105: store ptr @.str7865, ptr %t420 %t5414 = load ptr, ptr %t427 %t5415 = getelementptr inbounds %LSlice, ptr %t5414, i32 0, i32 1 %t5416 = getelementptr inbounds %LSlice, ptr %t5414, i32 0, i32 2 %t5417 = getelementptr inbounds %LSlice, ptr %t5414, i32 0, i32 0 %t5418 = load i32, ptr %t5415 %t5419 = load i32, ptr %t5416 %t5420 = icmp sge i32 %t5418, %t5419 br i1 %t5420, label %grow1108, label %put1109 grow1108: %t5421 = mul i32 %t5419, 2 %t5422 = icmp eq i32 %t5419, 0 %t5423 = select i1 %t5422, i32 8, i32 %t5421 %t5424 = getelementptr ptr, ptr null, i32 1 %t5425 = ptrtoint ptr %t5424 to i64 %t5426 = zext i32 %t5423 to i64 %t5427 = mul i64 %t5426, %t5425 %t5428 = load ptr, ptr %t5417 %t5429 = call ptr @realloc(ptr %t5428, i64 %t5427) store ptr %t5429, ptr %t5417 store i32 %t5423, ptr %t5416 br label %put1109 put1109: %t5430 = load ptr, ptr %t5417 %t5431 = getelementptr inbounds ptr, ptr %t5430, i32 %t5418 store ptr @.str7866, ptr %t5431 %t5432 = add i32 %t5418, 1 store i32 %t5432, ptr %t5415 %t5433 = load ptr, ptr %t427 %t5434 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 1 %t5435 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 2 %t5436 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 0 %t5437 = load i32, ptr %t5434 %t5438 = load i32, ptr %t5435 %t5439 = icmp sge i32 %t5437, %t5438 br i1 %t5439, label %grow1110, label %put1111 grow1110: %t5440 = mul i32 %t5438, 2 %t5441 = icmp eq i32 %t5438, 0 %t5442 = select i1 %t5441, i32 8, i32 %t5440 %t5443 = getelementptr ptr, ptr null, i32 1 %t5444 = ptrtoint ptr %t5443 to i64 %t5445 = zext i32 %t5442 to i64 %t5446 = mul i64 %t5445, %t5444 %t5447 = load ptr, ptr %t5436 %t5448 = call ptr @realloc(ptr %t5447, i64 %t5446) store ptr %t5448, ptr %t5436 store i32 %t5442, ptr %t5435 br label %put1111 put1111: %t5449 = load ptr, ptr %t5436 %t5450 = getelementptr inbounds ptr, ptr %t5449, i32 %t5437 store ptr @.str7867, ptr %t5450 %t5451 = add i32 %t5437, 1 store i32 %t5451, ptr %t5434 br label %ifend1107 ifend1107: %t5452 = load ptr, ptr %t1 %t5453 = call i32 @lp_str_eq(ptr %t5452, ptr @.str7868) %t5454 = icmp ne i32 %t5453, 0 br i1 %t5454, label %then1112, label %ifend1114 then1112: store ptr @.str7869, ptr %t420 %t5455 = load ptr, ptr %t427 %t5456 = getelementptr inbounds %LSlice, ptr %t5455, i32 0, i32 1 %t5457 = getelementptr inbounds %LSlice, ptr %t5455, i32 0, i32 2 %t5458 = getelementptr inbounds %LSlice, ptr %t5455, i32 0, i32 0 %t5459 = load i32, ptr %t5456 %t5460 = load i32, ptr %t5457 %t5461 = icmp sge i32 %t5459, %t5460 br i1 %t5461, label %grow1115, label %put1116 grow1115: %t5462 = mul i32 %t5460, 2 %t5463 = icmp eq i32 %t5460, 0 %t5464 = select i1 %t5463, i32 8, i32 %t5462 %t5465 = getelementptr ptr, ptr null, i32 1 %t5466 = ptrtoint ptr %t5465 to i64 %t5467 = zext i32 %t5464 to i64 %t5468 = mul i64 %t5467, %t5466 %t5469 = load ptr, ptr %t5458 %t5470 = call ptr @realloc(ptr %t5469, i64 %t5468) store ptr %t5470, ptr %t5458 store i32 %t5464, ptr %t5457 br label %put1116 put1116: %t5471 = load ptr, ptr %t5458 %t5472 = getelementptr inbounds ptr, ptr %t5471, i32 %t5459 store ptr @.str7870, ptr %t5472 %t5473 = add i32 %t5459, 1 store i32 %t5473, ptr %t5456 %t5474 = load ptr, ptr %t427 %t5475 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 1 %t5476 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 2 %t5477 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 0 %t5478 = load i32, ptr %t5475 %t5479 = load i32, ptr %t5476 %t5480 = icmp sge i32 %t5478, %t5479 br i1 %t5480, label %grow1117, label %put1118 grow1117: %t5481 = mul i32 %t5479, 2 %t5482 = icmp eq i32 %t5479, 0 %t5483 = select i1 %t5482, i32 8, i32 %t5481 %t5484 = getelementptr ptr, ptr null, i32 1 %t5485 = ptrtoint ptr %t5484 to i64 %t5486 = zext i32 %t5483 to i64 %t5487 = mul i64 %t5486, %t5485 %t5488 = load ptr, ptr %t5477 %t5489 = call ptr @realloc(ptr %t5488, i64 %t5487) store ptr %t5489, ptr %t5477 store i32 %t5483, ptr %t5476 br label %put1118 put1118: %t5490 = load ptr, ptr %t5477 %t5491 = getelementptr inbounds ptr, ptr %t5490, i32 %t5478 store ptr @.str7871, ptr %t5491 %t5492 = add i32 %t5478, 1 store i32 %t5492, ptr %t5475 br label %ifend1114 ifend1114: %t5493 = load ptr, ptr %t1 %t5494 = call i32 @lp_str_eq(ptr %t5493, ptr @.str7872) %t5495 = icmp ne i32 %t5494, 0 br i1 %t5495, label %then1119, label %ifend1121 then1119: store ptr @.str7873, ptr %t420 %t5496 = load ptr, ptr %t427 %t5497 = getelementptr inbounds %LSlice, ptr %t5496, i32 0, i32 1 %t5498 = getelementptr inbounds %LSlice, ptr %t5496, i32 0, i32 2 %t5499 = getelementptr inbounds %LSlice, ptr %t5496, i32 0, i32 0 %t5500 = load i32, ptr %t5497 %t5501 = load i32, ptr %t5498 %t5502 = icmp sge i32 %t5500, %t5501 br i1 %t5502, label %grow1122, label %put1123 grow1122: %t5503 = mul i32 %t5501, 2 %t5504 = icmp eq i32 %t5501, 0 %t5505 = select i1 %t5504, i32 8, i32 %t5503 %t5506 = getelementptr ptr, ptr null, i32 1 %t5507 = ptrtoint ptr %t5506 to i64 %t5508 = zext i32 %t5505 to i64 %t5509 = mul i64 %t5508, %t5507 %t5510 = load ptr, ptr %t5499 %t5511 = call ptr @realloc(ptr %t5510, i64 %t5509) store ptr %t5511, ptr %t5499 store i32 %t5505, ptr %t5498 br label %put1123 put1123: %t5512 = load ptr, ptr %t5499 %t5513 = getelementptr inbounds ptr, ptr %t5512, i32 %t5500 store ptr @.str7874, ptr %t5513 %t5514 = add i32 %t5500, 1 store i32 %t5514, ptr %t5497 %t5515 = load ptr, ptr %t427 %t5516 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 1 %t5517 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 2 %t5518 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 0 %t5519 = load i32, ptr %t5516 %t5520 = load i32, ptr %t5517 %t5521 = icmp sge i32 %t5519, %t5520 br i1 %t5521, label %grow1124, label %put1125 grow1124: %t5522 = mul i32 %t5520, 2 %t5523 = icmp eq i32 %t5520, 0 %t5524 = select i1 %t5523, i32 8, i32 %t5522 %t5525 = getelementptr ptr, ptr null, i32 1 %t5526 = ptrtoint ptr %t5525 to i64 %t5527 = zext i32 %t5524 to i64 %t5528 = mul i64 %t5527, %t5526 %t5529 = load ptr, ptr %t5518 %t5530 = call ptr @realloc(ptr %t5529, i64 %t5528) store ptr %t5530, ptr %t5518 store i32 %t5524, ptr %t5517 br label %put1125 put1125: %t5531 = load ptr, ptr %t5518 %t5532 = getelementptr inbounds ptr, ptr %t5531, i32 %t5519 store ptr @.str7875, ptr %t5532 %t5533 = add i32 %t5519, 1 store i32 %t5533, ptr %t5516 %t5534 = load ptr, ptr %t427 %t5535 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 1 %t5536 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 2 %t5537 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 0 %t5538 = load i32, ptr %t5535 %t5539 = load i32, ptr %t5536 %t5540 = icmp sge i32 %t5538, %t5539 br i1 %t5540, label %grow1126, label %put1127 grow1126: %t5541 = mul i32 %t5539, 2 %t5542 = icmp eq i32 %t5539, 0 %t5543 = select i1 %t5542, i32 8, i32 %t5541 %t5544 = getelementptr ptr, ptr null, i32 1 %t5545 = ptrtoint ptr %t5544 to i64 %t5546 = zext i32 %t5543 to i64 %t5547 = mul i64 %t5546, %t5545 %t5548 = load ptr, ptr %t5537 %t5549 = call ptr @realloc(ptr %t5548, i64 %t5547) store ptr %t5549, ptr %t5537 store i32 %t5543, ptr %t5536 br label %put1127 put1127: %t5550 = load ptr, ptr %t5537 %t5551 = getelementptr inbounds ptr, ptr %t5550, i32 %t5538 store ptr @.str7876, ptr %t5551 %t5552 = add i32 %t5538, 1 store i32 %t5552, ptr %t5535 %t5553 = load ptr, ptr %t427 %t5554 = getelementptr inbounds %LSlice, ptr %t5553, i32 0, i32 1 %t5555 = getelementptr inbounds %LSlice, ptr %t5553, i32 0, i32 2 %t5556 = getelementptr inbounds %LSlice, ptr %t5553, i32 0, i32 0 %t5557 = load i32, ptr %t5554 %t5558 = load i32, ptr %t5555 %t5559 = icmp sge i32 %t5557, %t5558 br i1 %t5559, label %grow1128, label %put1129 grow1128: %t5560 = mul i32 %t5558, 2 %t5561 = icmp eq i32 %t5558, 0 %t5562 = select i1 %t5561, i32 8, i32 %t5560 %t5563 = getelementptr ptr, ptr null, i32 1 %t5564 = ptrtoint ptr %t5563 to i64 %t5565 = zext i32 %t5562 to i64 %t5566 = mul i64 %t5565, %t5564 %t5567 = load ptr, ptr %t5556 %t5568 = call ptr @realloc(ptr %t5567, i64 %t5566) store ptr %t5568, ptr %t5556 store i32 %t5562, ptr %t5555 br label %put1129 put1129: %t5569 = load ptr, ptr %t5556 %t5570 = getelementptr inbounds ptr, ptr %t5569, i32 %t5557 store ptr @.str7877, ptr %t5570 %t5571 = add i32 %t5557, 1 store i32 %t5571, ptr %t5554 %t5572 = load ptr, ptr %t427 %t5573 = getelementptr inbounds %LSlice, ptr %t5572, i32 0, i32 1 %t5574 = getelementptr inbounds %LSlice, ptr %t5572, i32 0, i32 2 %t5575 = getelementptr inbounds %LSlice, ptr %t5572, i32 0, i32 0 %t5576 = load i32, ptr %t5573 %t5577 = load i32, ptr %t5574 %t5578 = icmp sge i32 %t5576, %t5577 br i1 %t5578, label %grow1130, label %put1131 grow1130: %t5579 = mul i32 %t5577, 2 %t5580 = icmp eq i32 %t5577, 0 %t5581 = select i1 %t5580, i32 8, i32 %t5579 %t5582 = getelementptr ptr, ptr null, i32 1 %t5583 = ptrtoint ptr %t5582 to i64 %t5584 = zext i32 %t5581 to i64 %t5585 = mul i64 %t5584, %t5583 %t5586 = load ptr, ptr %t5575 %t5587 = call ptr @realloc(ptr %t5586, i64 %t5585) store ptr %t5587, ptr %t5575 store i32 %t5581, ptr %t5574 br label %put1131 put1131: %t5588 = load ptr, ptr %t5575 %t5589 = getelementptr inbounds ptr, ptr %t5588, i32 %t5576 store ptr @.str7878, ptr %t5589 %t5590 = add i32 %t5576, 1 store i32 %t5590, ptr %t5573 %t5591 = load ptr, ptr %t427 %t5592 = getelementptr inbounds %LSlice, ptr %t5591, i32 0, i32 1 %t5593 = getelementptr inbounds %LSlice, ptr %t5591, i32 0, i32 2 %t5594 = getelementptr inbounds %LSlice, ptr %t5591, i32 0, i32 0 %t5595 = load i32, ptr %t5592 %t5596 = load i32, ptr %t5593 %t5597 = icmp sge i32 %t5595, %t5596 br i1 %t5597, label %grow1132, label %put1133 grow1132: %t5598 = mul i32 %t5596, 2 %t5599 = icmp eq i32 %t5596, 0 %t5600 = select i1 %t5599, i32 8, i32 %t5598 %t5601 = getelementptr ptr, ptr null, i32 1 %t5602 = ptrtoint ptr %t5601 to i64 %t5603 = zext i32 %t5600 to i64 %t5604 = mul i64 %t5603, %t5602 %t5605 = load ptr, ptr %t5594 %t5606 = call ptr @realloc(ptr %t5605, i64 %t5604) store ptr %t5606, ptr %t5594 store i32 %t5600, ptr %t5593 br label %put1133 put1133: %t5607 = load ptr, ptr %t5594 %t5608 = getelementptr inbounds ptr, ptr %t5607, i32 %t5595 store ptr @.str7879, ptr %t5608 %t5609 = add i32 %t5595, 1 store i32 %t5609, ptr %t5592 %t5610 = load ptr, ptr %t427 %t5611 = getelementptr inbounds %LSlice, ptr %t5610, i32 0, i32 1 %t5612 = getelementptr inbounds %LSlice, ptr %t5610, i32 0, i32 2 %t5613 = getelementptr inbounds %LSlice, ptr %t5610, i32 0, i32 0 %t5614 = load i32, ptr %t5611 %t5615 = load i32, ptr %t5612 %t5616 = icmp sge i32 %t5614, %t5615 br i1 %t5616, label %grow1134, label %put1135 grow1134: %t5617 = mul i32 %t5615, 2 %t5618 = icmp eq i32 %t5615, 0 %t5619 = select i1 %t5618, i32 8, i32 %t5617 %t5620 = getelementptr ptr, ptr null, i32 1 %t5621 = ptrtoint ptr %t5620 to i64 %t5622 = zext i32 %t5619 to i64 %t5623 = mul i64 %t5622, %t5621 %t5624 = load ptr, ptr %t5613 %t5625 = call ptr @realloc(ptr %t5624, i64 %t5623) store ptr %t5625, ptr %t5613 store i32 %t5619, ptr %t5612 br label %put1135 put1135: %t5626 = load ptr, ptr %t5613 %t5627 = getelementptr inbounds ptr, ptr %t5626, i32 %t5614 store ptr @.str7880, ptr %t5627 %t5628 = add i32 %t5614, 1 store i32 %t5628, ptr %t5611 br label %ifend1121 ifend1121: %t5629 = load ptr, ptr %t1 %t5630 = call i32 @lp_str_eq(ptr %t5629, ptr @.str7881) %t5631 = icmp ne i32 %t5630, 0 br i1 %t5631, label %then1136, label %ifend1138 then1136: store ptr @.str7882, ptr %t420 br label %ifend1138 ifend1138: %t5632 = load ptr, ptr %t1 %t5633 = call i32 @lp_str_eq(ptr %t5632, ptr @.str7883) %t5634 = icmp ne i32 %t5633, 0 br i1 %t5634, label %then1139, label %ifend1141 then1139: store ptr @.str7884, ptr %t420 %t5635 = load ptr, ptr %t427 %t5636 = getelementptr inbounds %LSlice, ptr %t5635, i32 0, i32 1 %t5637 = getelementptr inbounds %LSlice, ptr %t5635, i32 0, i32 2 %t5638 = getelementptr inbounds %LSlice, ptr %t5635, i32 0, i32 0 %t5639 = load i32, ptr %t5636 %t5640 = load i32, ptr %t5637 %t5641 = icmp sge i32 %t5639, %t5640 br i1 %t5641, label %grow1142, label %put1143 grow1142: %t5642 = mul i32 %t5640, 2 %t5643 = icmp eq i32 %t5640, 0 %t5644 = select i1 %t5643, i32 8, i32 %t5642 %t5645 = getelementptr ptr, ptr null, i32 1 %t5646 = ptrtoint ptr %t5645 to i64 %t5647 = zext i32 %t5644 to i64 %t5648 = mul i64 %t5647, %t5646 %t5649 = load ptr, ptr %t5638 %t5650 = call ptr @realloc(ptr %t5649, i64 %t5648) store ptr %t5650, ptr %t5638 store i32 %t5644, ptr %t5637 br label %put1143 put1143: %t5651 = load ptr, ptr %t5638 %t5652 = getelementptr inbounds ptr, ptr %t5651, i32 %t5639 store ptr @.str7885, ptr %t5652 %t5653 = add i32 %t5639, 1 store i32 %t5653, ptr %t5636 br label %ifend1141 ifend1141: %t5654 = load ptr, ptr %t1 %t5655 = call i32 @lp_str_eq(ptr %t5654, ptr @.str7886) %t5656 = icmp ne i32 %t5655, 0 br i1 %t5656, label %then1144, label %ifend1146 then1144: store ptr @.str7887, ptr %t420 %t5657 = load ptr, ptr %t427 %t5658 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 1 %t5659 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 2 %t5660 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 0 %t5661 = load i32, ptr %t5658 %t5662 = load i32, ptr %t5659 %t5663 = icmp sge i32 %t5661, %t5662 br i1 %t5663, label %grow1147, label %put1148 grow1147: %t5664 = mul i32 %t5662, 2 %t5665 = icmp eq i32 %t5662, 0 %t5666 = select i1 %t5665, i32 8, i32 %t5664 %t5667 = getelementptr ptr, ptr null, i32 1 %t5668 = ptrtoint ptr %t5667 to i64 %t5669 = zext i32 %t5666 to i64 %t5670 = mul i64 %t5669, %t5668 %t5671 = load ptr, ptr %t5660 %t5672 = call ptr @realloc(ptr %t5671, i64 %t5670) store ptr %t5672, ptr %t5660 store i32 %t5666, ptr %t5659 br label %put1148 put1148: %t5673 = load ptr, ptr %t5660 %t5674 = getelementptr inbounds ptr, ptr %t5673, i32 %t5661 store ptr @.str7888, ptr %t5674 %t5675 = add i32 %t5661, 1 store i32 %t5675, ptr %t5658 br label %ifend1146 ifend1146: %t5676 = load ptr, ptr %t1 %t5677 = call i32 @lp_str_eq(ptr %t5676, ptr @.str7889) %t5678 = icmp ne i32 %t5677, 0 br i1 %t5678, label %then1149, label %ifend1151 then1149: store ptr @.str7890, ptr %t420 %t5679 = load ptr, ptr %t427 %t5680 = getelementptr inbounds %LSlice, ptr %t5679, i32 0, i32 1 %t5681 = getelementptr inbounds %LSlice, ptr %t5679, i32 0, i32 2 %t5682 = getelementptr inbounds %LSlice, ptr %t5679, i32 0, i32 0 %t5683 = load i32, ptr %t5680 %t5684 = load i32, ptr %t5681 %t5685 = icmp sge i32 %t5683, %t5684 br i1 %t5685, label %grow1152, label %put1153 grow1152: %t5686 = mul i32 %t5684, 2 %t5687 = icmp eq i32 %t5684, 0 %t5688 = select i1 %t5687, i32 8, i32 %t5686 %t5689 = getelementptr ptr, ptr null, i32 1 %t5690 = ptrtoint ptr %t5689 to i64 %t5691 = zext i32 %t5688 to i64 %t5692 = mul i64 %t5691, %t5690 %t5693 = load ptr, ptr %t5682 %t5694 = call ptr @realloc(ptr %t5693, i64 %t5692) store ptr %t5694, ptr %t5682 store i32 %t5688, ptr %t5681 br label %put1153 put1153: %t5695 = load ptr, ptr %t5682 %t5696 = getelementptr inbounds ptr, ptr %t5695, i32 %t5683 store ptr @.str7891, ptr %t5696 %t5697 = add i32 %t5683, 1 store i32 %t5697, ptr %t5680 %t5698 = load ptr, ptr %t427 %t5699 = getelementptr inbounds %LSlice, ptr %t5698, i32 0, i32 1 %t5700 = getelementptr inbounds %LSlice, ptr %t5698, i32 0, i32 2 %t5701 = getelementptr inbounds %LSlice, ptr %t5698, i32 0, i32 0 %t5702 = load i32, ptr %t5699 %t5703 = load i32, ptr %t5700 %t5704 = icmp sge i32 %t5702, %t5703 br i1 %t5704, label %grow1154, label %put1155 grow1154: %t5705 = mul i32 %t5703, 2 %t5706 = icmp eq i32 %t5703, 0 %t5707 = select i1 %t5706, i32 8, i32 %t5705 %t5708 = getelementptr ptr, ptr null, i32 1 %t5709 = ptrtoint ptr %t5708 to i64 %t5710 = zext i32 %t5707 to i64 %t5711 = mul i64 %t5710, %t5709 %t5712 = load ptr, ptr %t5701 %t5713 = call ptr @realloc(ptr %t5712, i64 %t5711) store ptr %t5713, ptr %t5701 store i32 %t5707, ptr %t5700 br label %put1155 put1155: %t5714 = load ptr, ptr %t5701 %t5715 = getelementptr inbounds ptr, ptr %t5714, i32 %t5702 store ptr @.str7892, ptr %t5715 %t5716 = add i32 %t5702, 1 store i32 %t5716, ptr %t5699 %t5717 = load ptr, ptr %t427 %t5718 = getelementptr inbounds %LSlice, ptr %t5717, i32 0, i32 1 %t5719 = getelementptr inbounds %LSlice, ptr %t5717, i32 0, i32 2 %t5720 = getelementptr inbounds %LSlice, ptr %t5717, i32 0, i32 0 %t5721 = load i32, ptr %t5718 %t5722 = load i32, ptr %t5719 %t5723 = icmp sge i32 %t5721, %t5722 br i1 %t5723, label %grow1156, label %put1157 grow1156: %t5724 = mul i32 %t5722, 2 %t5725 = icmp eq i32 %t5722, 0 %t5726 = select i1 %t5725, i32 8, i32 %t5724 %t5727 = getelementptr ptr, ptr null, i32 1 %t5728 = ptrtoint ptr %t5727 to i64 %t5729 = zext i32 %t5726 to i64 %t5730 = mul i64 %t5729, %t5728 %t5731 = load ptr, ptr %t5720 %t5732 = call ptr @realloc(ptr %t5731, i64 %t5730) store ptr %t5732, ptr %t5720 store i32 %t5726, ptr %t5719 br label %put1157 put1157: %t5733 = load ptr, ptr %t5720 %t5734 = getelementptr inbounds ptr, ptr %t5733, i32 %t5721 store ptr @.str7893, ptr %t5734 %t5735 = add i32 %t5721, 1 store i32 %t5735, ptr %t5718 %t5736 = load ptr, ptr %t427 %t5737 = getelementptr inbounds %LSlice, ptr %t5736, i32 0, i32 1 %t5738 = getelementptr inbounds %LSlice, ptr %t5736, i32 0, i32 2 %t5739 = getelementptr inbounds %LSlice, ptr %t5736, i32 0, i32 0 %t5740 = load i32, ptr %t5737 %t5741 = load i32, ptr %t5738 %t5742 = icmp sge i32 %t5740, %t5741 br i1 %t5742, label %grow1158, label %put1159 grow1158: %t5743 = mul i32 %t5741, 2 %t5744 = icmp eq i32 %t5741, 0 %t5745 = select i1 %t5744, i32 8, i32 %t5743 %t5746 = getelementptr ptr, ptr null, i32 1 %t5747 = ptrtoint ptr %t5746 to i64 %t5748 = zext i32 %t5745 to i64 %t5749 = mul i64 %t5748, %t5747 %t5750 = load ptr, ptr %t5739 %t5751 = call ptr @realloc(ptr %t5750, i64 %t5749) store ptr %t5751, ptr %t5739 store i32 %t5745, ptr %t5738 br label %put1159 put1159: %t5752 = load ptr, ptr %t5739 %t5753 = getelementptr inbounds ptr, ptr %t5752, i32 %t5740 store ptr @.str7894, ptr %t5753 %t5754 = add i32 %t5740, 1 store i32 %t5754, ptr %t5737 br label %ifend1151 ifend1151: %t5755 = load ptr, ptr %t1 %t5756 = call i32 @lp_str_eq(ptr %t5755, ptr @.str7895) %t5757 = icmp ne i32 %t5756, 0 br i1 %t5757, label %then1160, label %ifend1162 then1160: store ptr @.str7896, ptr %t420 %t5758 = load ptr, ptr %t427 %t5759 = getelementptr inbounds %LSlice, ptr %t5758, i32 0, i32 1 %t5760 = getelementptr inbounds %LSlice, ptr %t5758, i32 0, i32 2 %t5761 = getelementptr inbounds %LSlice, ptr %t5758, i32 0, i32 0 %t5762 = load i32, ptr %t5759 %t5763 = load i32, ptr %t5760 %t5764 = icmp sge i32 %t5762, %t5763 br i1 %t5764, label %grow1163, label %put1164 grow1163: %t5765 = mul i32 %t5763, 2 %t5766 = icmp eq i32 %t5763, 0 %t5767 = select i1 %t5766, i32 8, i32 %t5765 %t5768 = getelementptr ptr, ptr null, i32 1 %t5769 = ptrtoint ptr %t5768 to i64 %t5770 = zext i32 %t5767 to i64 %t5771 = mul i64 %t5770, %t5769 %t5772 = load ptr, ptr %t5761 %t5773 = call ptr @realloc(ptr %t5772, i64 %t5771) store ptr %t5773, ptr %t5761 store i32 %t5767, ptr %t5760 br label %put1164 put1164: %t5774 = load ptr, ptr %t5761 %t5775 = getelementptr inbounds ptr, ptr %t5774, i32 %t5762 store ptr @.str7897, ptr %t5775 %t5776 = add i32 %t5762, 1 store i32 %t5776, ptr %t5759 br label %ifend1162 ifend1162: br label %ifend942 ifend942: %t5777 = load ptr, ptr %t0 %t5778 = call i32 @lp_str_eq(ptr %t5777, ptr @.str7898) %t5779 = icmp ne i32 %t5778, 0 br i1 %t5779, label %then1165, label %ifend1167 then1165: %t5780 = load ptr, ptr %t1 %t5781 = call i32 @lp_str_eq(ptr %t5780, ptr @.str7899) %t5782 = icmp ne i32 %t5781, 0 br i1 %t5782, label %then1168, label %ifend1170 then1168: store ptr @.str7900, ptr %t420 %t5783 = load ptr, ptr %t427 %t5784 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 1 %t5785 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 2 %t5786 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 0 %t5787 = load i32, ptr %t5784 %t5788 = load i32, ptr %t5785 %t5789 = icmp sge i32 %t5787, %t5788 br i1 %t5789, label %grow1171, label %put1172 grow1171: %t5790 = mul i32 %t5788, 2 %t5791 = icmp eq i32 %t5788, 0 %t5792 = select i1 %t5791, i32 8, i32 %t5790 %t5793 = getelementptr ptr, ptr null, i32 1 %t5794 = ptrtoint ptr %t5793 to i64 %t5795 = zext i32 %t5792 to i64 %t5796 = mul i64 %t5795, %t5794 %t5797 = load ptr, ptr %t5786 %t5798 = call ptr @realloc(ptr %t5797, i64 %t5796) store ptr %t5798, ptr %t5786 store i32 %t5792, ptr %t5785 br label %put1172 put1172: %t5799 = load ptr, ptr %t5786 %t5800 = getelementptr inbounds ptr, ptr %t5799, i32 %t5787 store ptr @.str7901, ptr %t5800 %t5801 = add i32 %t5787, 1 store i32 %t5801, ptr %t5784 br label %ifend1170 ifend1170: %t5802 = load ptr, ptr %t1 %t5803 = call i32 @lp_str_eq(ptr %t5802, ptr @.str7902) %t5804 = icmp ne i32 %t5803, 0 br i1 %t5804, label %then1173, label %ifend1175 then1173: store ptr @.str7903, ptr %t420 %t5805 = load ptr, ptr %t427 %t5806 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 1 %t5807 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 2 %t5808 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 0 %t5809 = load i32, ptr %t5806 %t5810 = load i32, ptr %t5807 %t5811 = icmp sge i32 %t5809, %t5810 br i1 %t5811, label %grow1176, label %put1177 grow1176: %t5812 = mul i32 %t5810, 2 %t5813 = icmp eq i32 %t5810, 0 %t5814 = select i1 %t5813, i32 8, i32 %t5812 %t5815 = getelementptr ptr, ptr null, i32 1 %t5816 = ptrtoint ptr %t5815 to i64 %t5817 = zext i32 %t5814 to i64 %t5818 = mul i64 %t5817, %t5816 %t5819 = load ptr, ptr %t5808 %t5820 = call ptr @realloc(ptr %t5819, i64 %t5818) store ptr %t5820, ptr %t5808 store i32 %t5814, ptr %t5807 br label %put1177 put1177: %t5821 = load ptr, ptr %t5808 %t5822 = getelementptr inbounds ptr, ptr %t5821, i32 %t5809 store ptr @.str7904, ptr %t5822 %t5823 = add i32 %t5809, 1 store i32 %t5823, ptr %t5806 %t5824 = load ptr, ptr %t427 %t5825 = getelementptr inbounds %LSlice, ptr %t5824, i32 0, i32 1 %t5826 = getelementptr inbounds %LSlice, ptr %t5824, i32 0, i32 2 %t5827 = getelementptr inbounds %LSlice, ptr %t5824, i32 0, i32 0 %t5828 = load i32, ptr %t5825 %t5829 = load i32, ptr %t5826 %t5830 = icmp sge i32 %t5828, %t5829 br i1 %t5830, label %grow1178, label %put1179 grow1178: %t5831 = mul i32 %t5829, 2 %t5832 = icmp eq i32 %t5829, 0 %t5833 = select i1 %t5832, i32 8, i32 %t5831 %t5834 = getelementptr ptr, ptr null, i32 1 %t5835 = ptrtoint ptr %t5834 to i64 %t5836 = zext i32 %t5833 to i64 %t5837 = mul i64 %t5836, %t5835 %t5838 = load ptr, ptr %t5827 %t5839 = call ptr @realloc(ptr %t5838, i64 %t5837) store ptr %t5839, ptr %t5827 store i32 %t5833, ptr %t5826 br label %put1179 put1179: %t5840 = load ptr, ptr %t5827 %t5841 = getelementptr inbounds ptr, ptr %t5840, i32 %t5828 store ptr @.str7905, ptr %t5841 %t5842 = add i32 %t5828, 1 store i32 %t5842, ptr %t5825 br label %ifend1175 ifend1175: %t5843 = load ptr, ptr %t1 %t5844 = call i32 @lp_str_eq(ptr %t5843, ptr @.str7906) %t5845 = icmp ne i32 %t5844, 0 br i1 %t5845, label %then1180, label %ifend1182 then1180: store ptr @.str7907, ptr %t420 %t5846 = load ptr, ptr %t427 %t5847 = getelementptr inbounds %LSlice, ptr %t5846, i32 0, i32 1 %t5848 = getelementptr inbounds %LSlice, ptr %t5846, i32 0, i32 2 %t5849 = getelementptr inbounds %LSlice, ptr %t5846, i32 0, i32 0 %t5850 = load i32, ptr %t5847 %t5851 = load i32, ptr %t5848 %t5852 = icmp sge i32 %t5850, %t5851 br i1 %t5852, label %grow1183, label %put1184 grow1183: %t5853 = mul i32 %t5851, 2 %t5854 = icmp eq i32 %t5851, 0 %t5855 = select i1 %t5854, i32 8, i32 %t5853 %t5856 = getelementptr ptr, ptr null, i32 1 %t5857 = ptrtoint ptr %t5856 to i64 %t5858 = zext i32 %t5855 to i64 %t5859 = mul i64 %t5858, %t5857 %t5860 = load ptr, ptr %t5849 %t5861 = call ptr @realloc(ptr %t5860, i64 %t5859) store ptr %t5861, ptr %t5849 store i32 %t5855, ptr %t5848 br label %put1184 put1184: %t5862 = load ptr, ptr %t5849 %t5863 = getelementptr inbounds ptr, ptr %t5862, i32 %t5850 store ptr @.str7908, ptr %t5863 %t5864 = add i32 %t5850, 1 store i32 %t5864, ptr %t5847 br label %ifend1182 ifend1182: %t5865 = load ptr, ptr %t1 %t5866 = call i32 @lp_str_eq(ptr %t5865, ptr @.str7909) %t5867 = icmp ne i32 %t5866, 0 br i1 %t5867, label %then1185, label %ifend1187 then1185: %t5868 = load ptr, ptr %t2 %t5869 = call i32 @fn_first_arg_is_text(ptr %t5868) %t5870 = icmp ne i32 %t5869, 0 br i1 %t5870, label %then1188, label %else1189 then1188: store ptr @.str7910, ptr %t420 %t5871 = load ptr, ptr %t427 %t5872 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 1 %t5873 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 2 %t5874 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 0 %t5875 = load i32, ptr %t5872 %t5876 = load i32, ptr %t5873 %t5877 = icmp sge i32 %t5875, %t5876 br i1 %t5877, label %grow1191, label %put1192 grow1191: %t5878 = mul i32 %t5876, 2 %t5879 = icmp eq i32 %t5876, 0 %t5880 = select i1 %t5879, i32 8, i32 %t5878 %t5881 = getelementptr ptr, ptr null, i32 1 %t5882 = ptrtoint ptr %t5881 to i64 %t5883 = zext i32 %t5880 to i64 %t5884 = mul i64 %t5883, %t5882 %t5885 = load ptr, ptr %t5874 %t5886 = call ptr @realloc(ptr %t5885, i64 %t5884) store ptr %t5886, ptr %t5874 store i32 %t5880, ptr %t5873 br label %put1192 put1192: %t5887 = load ptr, ptr %t5874 %t5888 = getelementptr inbounds ptr, ptr %t5887, i32 %t5875 store ptr @.str7911, ptr %t5888 %t5889 = add i32 %t5875, 1 store i32 %t5889, ptr %t5872 br label %ifend1190 else1189: store ptr @.str7912, ptr %t420 %t5890 = load ptr, ptr %t427 %t5891 = getelementptr inbounds %LSlice, ptr %t5890, i32 0, i32 1 %t5892 = getelementptr inbounds %LSlice, ptr %t5890, i32 0, i32 2 %t5893 = getelementptr inbounds %LSlice, ptr %t5890, i32 0, i32 0 %t5894 = load i32, ptr %t5891 %t5895 = load i32, ptr %t5892 %t5896 = icmp sge i32 %t5894, %t5895 br i1 %t5896, label %grow1193, label %put1194 grow1193: %t5897 = mul i32 %t5895, 2 %t5898 = icmp eq i32 %t5895, 0 %t5899 = select i1 %t5898, i32 8, i32 %t5897 %t5900 = getelementptr ptr, ptr null, i32 1 %t5901 = ptrtoint ptr %t5900 to i64 %t5902 = zext i32 %t5899 to i64 %t5903 = mul i64 %t5902, %t5901 %t5904 = load ptr, ptr %t5893 %t5905 = call ptr @realloc(ptr %t5904, i64 %t5903) store ptr %t5905, ptr %t5893 store i32 %t5899, ptr %t5892 br label %put1194 put1194: %t5906 = load ptr, ptr %t5893 %t5907 = getelementptr inbounds ptr, ptr %t5906, i32 %t5894 store ptr @.str7913, ptr %t5907 %t5908 = add i32 %t5894, 1 store i32 %t5908, ptr %t5891 br label %ifend1190 ifend1190: br label %ifend1187 ifend1187: %t5909 = load ptr, ptr %t1 %t5910 = call i32 @lp_str_eq(ptr %t5909, ptr @.str7914) %t5911 = icmp ne i32 %t5910, 0 br i1 %t5911, label %then1195, label %ifend1197 then1195: store ptr @.str7915, ptr %t420 %t5912 = load ptr, ptr %t427 %t5913 = getelementptr inbounds %LSlice, ptr %t5912, i32 0, i32 1 %t5914 = getelementptr inbounds %LSlice, ptr %t5912, i32 0, i32 2 %t5915 = getelementptr inbounds %LSlice, ptr %t5912, i32 0, i32 0 %t5916 = load i32, ptr %t5913 %t5917 = load i32, ptr %t5914 %t5918 = icmp sge i32 %t5916, %t5917 br i1 %t5918, label %grow1198, label %put1199 grow1198: %t5919 = mul i32 %t5917, 2 %t5920 = icmp eq i32 %t5917, 0 %t5921 = select i1 %t5920, i32 8, i32 %t5919 %t5922 = getelementptr ptr, ptr null, i32 1 %t5923 = ptrtoint ptr %t5922 to i64 %t5924 = zext i32 %t5921 to i64 %t5925 = mul i64 %t5924, %t5923 %t5926 = load ptr, ptr %t5915 %t5927 = call ptr @realloc(ptr %t5926, i64 %t5925) store ptr %t5927, ptr %t5915 store i32 %t5921, ptr %t5914 br label %put1199 put1199: %t5928 = load ptr, ptr %t5915 %t5929 = getelementptr inbounds ptr, ptr %t5928, i32 %t5916 store ptr @.str7916, ptr %t5929 %t5930 = add i32 %t5916, 1 store i32 %t5930, ptr %t5913 br label %ifend1197 ifend1197: %t5931 = load ptr, ptr %t1 %t5932 = call i32 @lp_str_eq(ptr %t5931, ptr @.str7917) %t5933 = icmp ne i32 %t5932, 0 br i1 %t5933, label %then1200, label %ifend1202 then1200: store ptr @.str7918, ptr %t420 %t5934 = load ptr, ptr %t427 %t5935 = getelementptr inbounds %LSlice, ptr %t5934, i32 0, i32 1 %t5936 = getelementptr inbounds %LSlice, ptr %t5934, i32 0, i32 2 %t5937 = getelementptr inbounds %LSlice, ptr %t5934, i32 0, i32 0 %t5938 = load i32, ptr %t5935 %t5939 = load i32, ptr %t5936 %t5940 = icmp sge i32 %t5938, %t5939 br i1 %t5940, label %grow1203, label %put1204 grow1203: %t5941 = mul i32 %t5939, 2 %t5942 = icmp eq i32 %t5939, 0 %t5943 = select i1 %t5942, i32 8, i32 %t5941 %t5944 = getelementptr ptr, ptr null, i32 1 %t5945 = ptrtoint ptr %t5944 to i64 %t5946 = zext i32 %t5943 to i64 %t5947 = mul i64 %t5946, %t5945 %t5948 = load ptr, ptr %t5937 %t5949 = call ptr @realloc(ptr %t5948, i64 %t5947) store ptr %t5949, ptr %t5937 store i32 %t5943, ptr %t5936 br label %put1204 put1204: %t5950 = load ptr, ptr %t5937 %t5951 = getelementptr inbounds ptr, ptr %t5950, i32 %t5938 store ptr @.str7919, ptr %t5951 %t5952 = add i32 %t5938, 1 store i32 %t5952, ptr %t5935 %t5953 = load ptr, ptr %t427 %t5954 = getelementptr inbounds %LSlice, ptr %t5953, i32 0, i32 1 %t5955 = getelementptr inbounds %LSlice, ptr %t5953, i32 0, i32 2 %t5956 = getelementptr inbounds %LSlice, ptr %t5953, i32 0, i32 0 %t5957 = load i32, ptr %t5954 %t5958 = load i32, ptr %t5955 %t5959 = icmp sge i32 %t5957, %t5958 br i1 %t5959, label %grow1205, label %put1206 grow1205: %t5960 = mul i32 %t5958, 2 %t5961 = icmp eq i32 %t5958, 0 %t5962 = select i1 %t5961, i32 8, i32 %t5960 %t5963 = getelementptr ptr, ptr null, i32 1 %t5964 = ptrtoint ptr %t5963 to i64 %t5965 = zext i32 %t5962 to i64 %t5966 = mul i64 %t5965, %t5964 %t5967 = load ptr, ptr %t5956 %t5968 = call ptr @realloc(ptr %t5967, i64 %t5966) store ptr %t5968, ptr %t5956 store i32 %t5962, ptr %t5955 br label %put1206 put1206: %t5969 = load ptr, ptr %t5956 %t5970 = getelementptr inbounds ptr, ptr %t5969, i32 %t5957 store ptr @.str7920, ptr %t5970 %t5971 = add i32 %t5957, 1 store i32 %t5971, ptr %t5954 %t5972 = load ptr, ptr %t427 %t5973 = getelementptr inbounds %LSlice, ptr %t5972, i32 0, i32 1 %t5974 = getelementptr inbounds %LSlice, ptr %t5972, i32 0, i32 2 %t5975 = getelementptr inbounds %LSlice, ptr %t5972, i32 0, i32 0 %t5976 = load i32, ptr %t5973 %t5977 = load i32, ptr %t5974 %t5978 = icmp sge i32 %t5976, %t5977 br i1 %t5978, label %grow1207, label %put1208 grow1207: %t5979 = mul i32 %t5977, 2 %t5980 = icmp eq i32 %t5977, 0 %t5981 = select i1 %t5980, i32 8, i32 %t5979 %t5982 = getelementptr ptr, ptr null, i32 1 %t5983 = ptrtoint ptr %t5982 to i64 %t5984 = zext i32 %t5981 to i64 %t5985 = mul i64 %t5984, %t5983 %t5986 = load ptr, ptr %t5975 %t5987 = call ptr @realloc(ptr %t5986, i64 %t5985) store ptr %t5987, ptr %t5975 store i32 %t5981, ptr %t5974 br label %put1208 put1208: %t5988 = load ptr, ptr %t5975 %t5989 = getelementptr inbounds ptr, ptr %t5988, i32 %t5976 store ptr @.str7921, ptr %t5989 %t5990 = add i32 %t5976, 1 store i32 %t5990, ptr %t5973 %t5991 = load ptr, ptr %t427 %t5992 = getelementptr inbounds %LSlice, ptr %t5991, i32 0, i32 1 %t5993 = getelementptr inbounds %LSlice, ptr %t5991, i32 0, i32 2 %t5994 = getelementptr inbounds %LSlice, ptr %t5991, i32 0, i32 0 %t5995 = load i32, ptr %t5992 %t5996 = load i32, ptr %t5993 %t5997 = icmp sge i32 %t5995, %t5996 br i1 %t5997, label %grow1209, label %put1210 grow1209: %t5998 = mul i32 %t5996, 2 %t5999 = icmp eq i32 %t5996, 0 %t6000 = select i1 %t5999, i32 8, i32 %t5998 %t6001 = getelementptr ptr, ptr null, i32 1 %t6002 = ptrtoint ptr %t6001 to i64 %t6003 = zext i32 %t6000 to i64 %t6004 = mul i64 %t6003, %t6002 %t6005 = load ptr, ptr %t5994 %t6006 = call ptr @realloc(ptr %t6005, i64 %t6004) store ptr %t6006, ptr %t5994 store i32 %t6000, ptr %t5993 br label %put1210 put1210: %t6007 = load ptr, ptr %t5994 %t6008 = getelementptr inbounds ptr, ptr %t6007, i32 %t5995 store ptr @.str7922, ptr %t6008 %t6009 = add i32 %t5995, 1 store i32 %t6009, ptr %t5992 br label %ifend1202 ifend1202: %t6010 = load ptr, ptr %t1 %t6011 = call i32 @lp_str_eq(ptr %t6010, ptr @.str7923) %t6012 = icmp ne i32 %t6011, 0 br i1 %t6012, label %then1211, label %ifend1213 then1211: %t6013 = load ptr, ptr %t2 %t6014 = call i32 @fn_first_arg_is_text(ptr %t6013) %t6015 = icmp ne i32 %t6014, 0 br i1 %t6015, label %then1214, label %else1215 then1214: store ptr @.str7924, ptr %t420 %t6016 = load ptr, ptr %t427 %t6017 = getelementptr inbounds %LSlice, ptr %t6016, i32 0, i32 1 %t6018 = getelementptr inbounds %LSlice, ptr %t6016, i32 0, i32 2 %t6019 = getelementptr inbounds %LSlice, ptr %t6016, i32 0, i32 0 %t6020 = load i32, ptr %t6017 %t6021 = load i32, ptr %t6018 %t6022 = icmp sge i32 %t6020, %t6021 br i1 %t6022, label %grow1217, label %put1218 grow1217: %t6023 = mul i32 %t6021, 2 %t6024 = icmp eq i32 %t6021, 0 %t6025 = select i1 %t6024, i32 8, i32 %t6023 %t6026 = getelementptr ptr, ptr null, i32 1 %t6027 = ptrtoint ptr %t6026 to i64 %t6028 = zext i32 %t6025 to i64 %t6029 = mul i64 %t6028, %t6027 %t6030 = load ptr, ptr %t6019 %t6031 = call ptr @realloc(ptr %t6030, i64 %t6029) store ptr %t6031, ptr %t6019 store i32 %t6025, ptr %t6018 br label %put1218 put1218: %t6032 = load ptr, ptr %t6019 %t6033 = getelementptr inbounds ptr, ptr %t6032, i32 %t6020 store ptr @.str7925, ptr %t6033 %t6034 = add i32 %t6020, 1 store i32 %t6034, ptr %t6017 br label %ifend1216 else1215: store ptr @.str7926, ptr %t420 %t6035 = load ptr, ptr %t427 %t6036 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 1 %t6037 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 2 %t6038 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 0 %t6039 = load i32, ptr %t6036 %t6040 = load i32, ptr %t6037 %t6041 = icmp sge i32 %t6039, %t6040 br i1 %t6041, label %grow1219, label %put1220 grow1219: %t6042 = mul i32 %t6040, 2 %t6043 = icmp eq i32 %t6040, 0 %t6044 = select i1 %t6043, i32 8, i32 %t6042 %t6045 = getelementptr ptr, ptr null, i32 1 %t6046 = ptrtoint ptr %t6045 to i64 %t6047 = zext i32 %t6044 to i64 %t6048 = mul i64 %t6047, %t6046 %t6049 = load ptr, ptr %t6038 %t6050 = call ptr @realloc(ptr %t6049, i64 %t6048) store ptr %t6050, ptr %t6038 store i32 %t6044, ptr %t6037 br label %put1220 put1220: %t6051 = load ptr, ptr %t6038 %t6052 = getelementptr inbounds ptr, ptr %t6051, i32 %t6039 store ptr @.str7927, ptr %t6052 %t6053 = add i32 %t6039, 1 store i32 %t6053, ptr %t6036 br label %ifend1216 ifend1216: br label %ifend1213 ifend1213: %t6054 = load ptr, ptr %t1 %t6055 = call i32 @lp_str_eq(ptr %t6054, ptr @.str7928) %t6056 = icmp ne i32 %t6055, 0 br i1 %t6056, label %then1221, label %ifend1223 then1221: store ptr @.str7929, ptr %t420 %t6057 = load ptr, ptr %t427 %t6058 = getelementptr inbounds %LSlice, ptr %t6057, i32 0, i32 1 %t6059 = getelementptr inbounds %LSlice, ptr %t6057, i32 0, i32 2 %t6060 = getelementptr inbounds %LSlice, ptr %t6057, i32 0, i32 0 %t6061 = load i32, ptr %t6058 %t6062 = load i32, ptr %t6059 %t6063 = icmp sge i32 %t6061, %t6062 br i1 %t6063, label %grow1224, label %put1225 grow1224: %t6064 = mul i32 %t6062, 2 %t6065 = icmp eq i32 %t6062, 0 %t6066 = select i1 %t6065, i32 8, i32 %t6064 %t6067 = getelementptr ptr, ptr null, i32 1 %t6068 = ptrtoint ptr %t6067 to i64 %t6069 = zext i32 %t6066 to i64 %t6070 = mul i64 %t6069, %t6068 %t6071 = load ptr, ptr %t6060 %t6072 = call ptr @realloc(ptr %t6071, i64 %t6070) store ptr %t6072, ptr %t6060 store i32 %t6066, ptr %t6059 br label %put1225 put1225: %t6073 = load ptr, ptr %t6060 %t6074 = getelementptr inbounds ptr, ptr %t6073, i32 %t6061 store ptr @.str7930, ptr %t6074 %t6075 = add i32 %t6061, 1 store i32 %t6075, ptr %t6058 br label %ifend1223 ifend1223: %t6076 = load ptr, ptr %t1 %t6077 = call i32 @lp_str_eq(ptr %t6076, ptr @.str7931) %t6078 = icmp ne i32 %t6077, 0 br i1 %t6078, label %then1226, label %ifend1228 then1226: store ptr @.str7932, ptr %t420 br label %ifend1228 ifend1228: %t6079 = load ptr, ptr %t1 %t6080 = call i32 @lp_str_eq(ptr %t6079, ptr @.str7933) %t6081 = icmp ne i32 %t6080, 0 br i1 %t6081, label %then1229, label %ifend1231 then1229: store ptr @.str7934, ptr %t420 br label %ifend1231 ifend1231: %t6082 = load ptr, ptr %t1 %t6083 = call i32 @lp_str_eq(ptr %t6082, ptr @.str7935) %t6084 = icmp ne i32 %t6083, 0 br i1 %t6084, label %then1232, label %ifend1234 then1232: store ptr @.str7936, ptr %t420 %t6085 = load ptr, ptr %t427 %t6086 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 1 %t6087 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 2 %t6088 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 0 %t6089 = load i32, ptr %t6086 %t6090 = load i32, ptr %t6087 %t6091 = icmp sge i32 %t6089, %t6090 br i1 %t6091, label %grow1235, label %put1236 grow1235: %t6092 = mul i32 %t6090, 2 %t6093 = icmp eq i32 %t6090, 0 %t6094 = select i1 %t6093, i32 8, i32 %t6092 %t6095 = getelementptr ptr, ptr null, i32 1 %t6096 = ptrtoint ptr %t6095 to i64 %t6097 = zext i32 %t6094 to i64 %t6098 = mul i64 %t6097, %t6096 %t6099 = load ptr, ptr %t6088 %t6100 = call ptr @realloc(ptr %t6099, i64 %t6098) store ptr %t6100, ptr %t6088 store i32 %t6094, ptr %t6087 br label %put1236 put1236: %t6101 = load ptr, ptr %t6088 %t6102 = getelementptr inbounds ptr, ptr %t6101, i32 %t6089 store ptr @.str7937, ptr %t6102 %t6103 = add i32 %t6089, 1 store i32 %t6103, ptr %t6086 br label %ifend1234 ifend1234: %t6104 = load ptr, ptr %t1 %t6105 = call i32 @lp_str_eq(ptr %t6104, ptr @.str7938) %t6106 = icmp ne i32 %t6105, 0 br i1 %t6106, label %then1237, label %ifend1239 then1237: store ptr @.str7939, ptr %t420 %t6107 = load ptr, ptr %t427 %t6108 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 1 %t6109 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 2 %t6110 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 0 %t6111 = load i32, ptr %t6108 %t6112 = load i32, ptr %t6109 %t6113 = icmp sge i32 %t6111, %t6112 br i1 %t6113, label %grow1240, label %put1241 grow1240: %t6114 = mul i32 %t6112, 2 %t6115 = icmp eq i32 %t6112, 0 %t6116 = select i1 %t6115, i32 8, i32 %t6114 %t6117 = getelementptr ptr, ptr null, i32 1 %t6118 = ptrtoint ptr %t6117 to i64 %t6119 = zext i32 %t6116 to i64 %t6120 = mul i64 %t6119, %t6118 %t6121 = load ptr, ptr %t6110 %t6122 = call ptr @realloc(ptr %t6121, i64 %t6120) store ptr %t6122, ptr %t6110 store i32 %t6116, ptr %t6109 br label %put1241 put1241: %t6123 = load ptr, ptr %t6110 %t6124 = getelementptr inbounds ptr, ptr %t6123, i32 %t6111 store ptr @.str7940, ptr %t6124 %t6125 = add i32 %t6111, 1 store i32 %t6125, ptr %t6108 br label %ifend1239 ifend1239: %t6126 = load ptr, ptr %t1 %t6127 = call i32 @lp_str_eq(ptr %t6126, ptr @.str7941) %t6128 = icmp ne i32 %t6127, 0 br i1 %t6128, label %then1242, label %ifend1244 then1242: store ptr @.str7942, ptr %t420 %t6129 = load ptr, ptr %t427 %t6130 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 1 %t6131 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 2 %t6132 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 0 %t6133 = load i32, ptr %t6130 %t6134 = load i32, ptr %t6131 %t6135 = icmp sge i32 %t6133, %t6134 br i1 %t6135, label %grow1245, label %put1246 grow1245: %t6136 = mul i32 %t6134, 2 %t6137 = icmp eq i32 %t6134, 0 %t6138 = select i1 %t6137, i32 8, i32 %t6136 %t6139 = getelementptr ptr, ptr null, i32 1 %t6140 = ptrtoint ptr %t6139 to i64 %t6141 = zext i32 %t6138 to i64 %t6142 = mul i64 %t6141, %t6140 %t6143 = load ptr, ptr %t6132 %t6144 = call ptr @realloc(ptr %t6143, i64 %t6142) store ptr %t6144, ptr %t6132 store i32 %t6138, ptr %t6131 br label %put1246 put1246: %t6145 = load ptr, ptr %t6132 %t6146 = getelementptr inbounds ptr, ptr %t6145, i32 %t6133 store ptr @.str7943, ptr %t6146 %t6147 = add i32 %t6133, 1 store i32 %t6147, ptr %t6130 br label %ifend1244 ifend1244: br label %ifend1167 ifend1167: %t6148 = load ptr, ptr %t0 %t6149 = call i32 @lp_str_eq(ptr %t6148, ptr @.str7944) %t6150 = icmp ne i32 %t6149, 0 br i1 %t6150, label %then1247, label %ifend1249 then1247: %t6151 = load ptr, ptr %t1 %t6152 = call i32 @lp_str_eq(ptr %t6151, ptr @.str7945) %t6153 = icmp ne i32 %t6152, 0 br i1 %t6153, label %then1250, label %ifend1252 then1250: store ptr @.str7946, ptr %t420 %t6154 = load ptr, ptr %t427 %t6155 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 1 %t6156 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 2 %t6157 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 0 %t6158 = load i32, ptr %t6155 %t6159 = load i32, ptr %t6156 %t6160 = icmp sge i32 %t6158, %t6159 br i1 %t6160, label %grow1253, label %put1254 grow1253: %t6161 = mul i32 %t6159, 2 %t6162 = icmp eq i32 %t6159, 0 %t6163 = select i1 %t6162, i32 8, i32 %t6161 %t6164 = getelementptr ptr, ptr null, i32 1 %t6165 = ptrtoint ptr %t6164 to i64 %t6166 = zext i32 %t6163 to i64 %t6167 = mul i64 %t6166, %t6165 %t6168 = load ptr, ptr %t6157 %t6169 = call ptr @realloc(ptr %t6168, i64 %t6167) store ptr %t6169, ptr %t6157 store i32 %t6163, ptr %t6156 br label %put1254 put1254: %t6170 = load ptr, ptr %t6157 %t6171 = getelementptr inbounds ptr, ptr %t6170, i32 %t6158 store ptr @.str7947, ptr %t6171 %t6172 = add i32 %t6158, 1 store i32 %t6172, ptr %t6155 br label %ifend1252 ifend1252: %t6173 = load ptr, ptr %t1 %t6174 = call i32 @lp_str_eq(ptr %t6173, ptr @.str7948) %t6175 = icmp ne i32 %t6174, 0 br i1 %t6175, label %then1255, label %ifend1257 then1255: store ptr @.str7949, ptr %t420 %t6176 = load ptr, ptr %t427 %t6177 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 1 %t6178 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 2 %t6179 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 0 %t6180 = load i32, ptr %t6177 %t6181 = load i32, ptr %t6178 %t6182 = icmp sge i32 %t6180, %t6181 br i1 %t6182, label %grow1258, label %put1259 grow1258: %t6183 = mul i32 %t6181, 2 %t6184 = icmp eq i32 %t6181, 0 %t6185 = select i1 %t6184, i32 8, i32 %t6183 %t6186 = getelementptr ptr, ptr null, i32 1 %t6187 = ptrtoint ptr %t6186 to i64 %t6188 = zext i32 %t6185 to i64 %t6189 = mul i64 %t6188, %t6187 %t6190 = load ptr, ptr %t6179 %t6191 = call ptr @realloc(ptr %t6190, i64 %t6189) store ptr %t6191, ptr %t6179 store i32 %t6185, ptr %t6178 br label %put1259 put1259: %t6192 = load ptr, ptr %t6179 %t6193 = getelementptr inbounds ptr, ptr %t6192, i32 %t6180 store ptr @.str7950, ptr %t6193 %t6194 = add i32 %t6180, 1 store i32 %t6194, ptr %t6177 %t6195 = load ptr, ptr %t427 %t6196 = getelementptr inbounds %LSlice, ptr %t6195, i32 0, i32 1 %t6197 = getelementptr inbounds %LSlice, ptr %t6195, i32 0, i32 2 %t6198 = getelementptr inbounds %LSlice, ptr %t6195, i32 0, i32 0 %t6199 = load i32, ptr %t6196 %t6200 = load i32, ptr %t6197 %t6201 = icmp sge i32 %t6199, %t6200 br i1 %t6201, label %grow1260, label %put1261 grow1260: %t6202 = mul i32 %t6200, 2 %t6203 = icmp eq i32 %t6200, 0 %t6204 = select i1 %t6203, i32 8, i32 %t6202 %t6205 = getelementptr ptr, ptr null, i32 1 %t6206 = ptrtoint ptr %t6205 to i64 %t6207 = zext i32 %t6204 to i64 %t6208 = mul i64 %t6207, %t6206 %t6209 = load ptr, ptr %t6198 %t6210 = call ptr @realloc(ptr %t6209, i64 %t6208) store ptr %t6210, ptr %t6198 store i32 %t6204, ptr %t6197 br label %put1261 put1261: %t6211 = load ptr, ptr %t6198 %t6212 = getelementptr inbounds ptr, ptr %t6211, i32 %t6199 store ptr @.str7951, ptr %t6212 %t6213 = add i32 %t6199, 1 store i32 %t6213, ptr %t6196 br label %ifend1257 ifend1257: %t6214 = load ptr, ptr %t1 %t6215 = call i32 @lp_str_eq(ptr %t6214, ptr @.str7952) %t6216 = icmp ne i32 %t6215, 0 br i1 %t6216, label %then1262, label %ifend1264 then1262: store ptr @.str7953, ptr %t420 %t6217 = load ptr, ptr %t427 %t6218 = getelementptr inbounds %LSlice, ptr %t6217, i32 0, i32 1 %t6219 = getelementptr inbounds %LSlice, ptr %t6217, i32 0, i32 2 %t6220 = getelementptr inbounds %LSlice, ptr %t6217, i32 0, i32 0 %t6221 = load i32, ptr %t6218 %t6222 = load i32, ptr %t6219 %t6223 = icmp sge i32 %t6221, %t6222 br i1 %t6223, label %grow1265, label %put1266 grow1265: %t6224 = mul i32 %t6222, 2 %t6225 = icmp eq i32 %t6222, 0 %t6226 = select i1 %t6225, i32 8, i32 %t6224 %t6227 = getelementptr ptr, ptr null, i32 1 %t6228 = ptrtoint ptr %t6227 to i64 %t6229 = zext i32 %t6226 to i64 %t6230 = mul i64 %t6229, %t6228 %t6231 = load ptr, ptr %t6220 %t6232 = call ptr @realloc(ptr %t6231, i64 %t6230) store ptr %t6232, ptr %t6220 store i32 %t6226, ptr %t6219 br label %put1266 put1266: %t6233 = load ptr, ptr %t6220 %t6234 = getelementptr inbounds ptr, ptr %t6233, i32 %t6221 store ptr @.str7954, ptr %t6234 %t6235 = add i32 %t6221, 1 store i32 %t6235, ptr %t6218 %t6236 = load ptr, ptr %t427 %t6237 = getelementptr inbounds %LSlice, ptr %t6236, i32 0, i32 1 %t6238 = getelementptr inbounds %LSlice, ptr %t6236, i32 0, i32 2 %t6239 = getelementptr inbounds %LSlice, ptr %t6236, i32 0, i32 0 %t6240 = load i32, ptr %t6237 %t6241 = load i32, ptr %t6238 %t6242 = icmp sge i32 %t6240, %t6241 br i1 %t6242, label %grow1267, label %put1268 grow1267: %t6243 = mul i32 %t6241, 2 %t6244 = icmp eq i32 %t6241, 0 %t6245 = select i1 %t6244, i32 8, i32 %t6243 %t6246 = getelementptr ptr, ptr null, i32 1 %t6247 = ptrtoint ptr %t6246 to i64 %t6248 = zext i32 %t6245 to i64 %t6249 = mul i64 %t6248, %t6247 %t6250 = load ptr, ptr %t6239 %t6251 = call ptr @realloc(ptr %t6250, i64 %t6249) store ptr %t6251, ptr %t6239 store i32 %t6245, ptr %t6238 br label %put1268 put1268: %t6252 = load ptr, ptr %t6239 %t6253 = getelementptr inbounds ptr, ptr %t6252, i32 %t6240 store ptr @.str7955, ptr %t6253 %t6254 = add i32 %t6240, 1 store i32 %t6254, ptr %t6237 %t6255 = load ptr, ptr %t427 %t6256 = getelementptr inbounds %LSlice, ptr %t6255, i32 0, i32 1 %t6257 = getelementptr inbounds %LSlice, ptr %t6255, i32 0, i32 2 %t6258 = getelementptr inbounds %LSlice, ptr %t6255, i32 0, i32 0 %t6259 = load i32, ptr %t6256 %t6260 = load i32, ptr %t6257 %t6261 = icmp sge i32 %t6259, %t6260 br i1 %t6261, label %grow1269, label %put1270 grow1269: %t6262 = mul i32 %t6260, 2 %t6263 = icmp eq i32 %t6260, 0 %t6264 = select i1 %t6263, i32 8, i32 %t6262 %t6265 = getelementptr ptr, ptr null, i32 1 %t6266 = ptrtoint ptr %t6265 to i64 %t6267 = zext i32 %t6264 to i64 %t6268 = mul i64 %t6267, %t6266 %t6269 = load ptr, ptr %t6258 %t6270 = call ptr @realloc(ptr %t6269, i64 %t6268) store ptr %t6270, ptr %t6258 store i32 %t6264, ptr %t6257 br label %put1270 put1270: %t6271 = load ptr, ptr %t6258 %t6272 = getelementptr inbounds ptr, ptr %t6271, i32 %t6259 store ptr @.str7956, ptr %t6272 %t6273 = add i32 %t6259, 1 store i32 %t6273, ptr %t6256 br label %ifend1264 ifend1264: %t6274 = load ptr, ptr %t1 %t6275 = call i32 @lp_str_eq(ptr %t6274, ptr @.str7957) %t6276 = icmp ne i32 %t6275, 0 br i1 %t6276, label %then1271, label %ifend1273 then1271: store ptr @.str7958, ptr %t420 %t6277 = load ptr, ptr %t427 %t6278 = getelementptr inbounds %LSlice, ptr %t6277, i32 0, i32 1 %t6279 = getelementptr inbounds %LSlice, ptr %t6277, i32 0, i32 2 %t6280 = getelementptr inbounds %LSlice, ptr %t6277, i32 0, i32 0 %t6281 = load i32, ptr %t6278 %t6282 = load i32, ptr %t6279 %t6283 = icmp sge i32 %t6281, %t6282 br i1 %t6283, label %grow1274, label %put1275 grow1274: %t6284 = mul i32 %t6282, 2 %t6285 = icmp eq i32 %t6282, 0 %t6286 = select i1 %t6285, i32 8, i32 %t6284 %t6287 = getelementptr ptr, ptr null, i32 1 %t6288 = ptrtoint ptr %t6287 to i64 %t6289 = zext i32 %t6286 to i64 %t6290 = mul i64 %t6289, %t6288 %t6291 = load ptr, ptr %t6280 %t6292 = call ptr @realloc(ptr %t6291, i64 %t6290) store ptr %t6292, ptr %t6280 store i32 %t6286, ptr %t6279 br label %put1275 put1275: %t6293 = load ptr, ptr %t6280 %t6294 = getelementptr inbounds ptr, ptr %t6293, i32 %t6281 store ptr @.str7959, ptr %t6294 %t6295 = add i32 %t6281, 1 store i32 %t6295, ptr %t6278 %t6296 = load ptr, ptr %t427 %t6297 = getelementptr inbounds %LSlice, ptr %t6296, i32 0, i32 1 %t6298 = getelementptr inbounds %LSlice, ptr %t6296, i32 0, i32 2 %t6299 = getelementptr inbounds %LSlice, ptr %t6296, i32 0, i32 0 %t6300 = load i32, ptr %t6297 %t6301 = load i32, ptr %t6298 %t6302 = icmp sge i32 %t6300, %t6301 br i1 %t6302, label %grow1276, label %put1277 grow1276: %t6303 = mul i32 %t6301, 2 %t6304 = icmp eq i32 %t6301, 0 %t6305 = select i1 %t6304, i32 8, i32 %t6303 %t6306 = getelementptr ptr, ptr null, i32 1 %t6307 = ptrtoint ptr %t6306 to i64 %t6308 = zext i32 %t6305 to i64 %t6309 = mul i64 %t6308, %t6307 %t6310 = load ptr, ptr %t6299 %t6311 = call ptr @realloc(ptr %t6310, i64 %t6309) store ptr %t6311, ptr %t6299 store i32 %t6305, ptr %t6298 br label %put1277 put1277: %t6312 = load ptr, ptr %t6299 %t6313 = getelementptr inbounds ptr, ptr %t6312, i32 %t6300 store ptr @.str7960, ptr %t6313 %t6314 = add i32 %t6300, 1 store i32 %t6314, ptr %t6297 br label %ifend1273 ifend1273: %t6315 = load ptr, ptr %t1 %t6316 = call i32 @lp_str_eq(ptr %t6315, ptr @.str7961) %t6317 = icmp ne i32 %t6316, 0 br i1 %t6317, label %then1278, label %ifend1280 then1278: store ptr @.str7962, ptr %t420 %t6318 = load ptr, ptr %t427 %t6319 = getelementptr inbounds %LSlice, ptr %t6318, i32 0, i32 1 %t6320 = getelementptr inbounds %LSlice, ptr %t6318, i32 0, i32 2 %t6321 = getelementptr inbounds %LSlice, ptr %t6318, i32 0, i32 0 %t6322 = load i32, ptr %t6319 %t6323 = load i32, ptr %t6320 %t6324 = icmp sge i32 %t6322, %t6323 br i1 %t6324, label %grow1281, label %put1282 grow1281: %t6325 = mul i32 %t6323, 2 %t6326 = icmp eq i32 %t6323, 0 %t6327 = select i1 %t6326, i32 8, i32 %t6325 %t6328 = getelementptr ptr, ptr null, i32 1 %t6329 = ptrtoint ptr %t6328 to i64 %t6330 = zext i32 %t6327 to i64 %t6331 = mul i64 %t6330, %t6329 %t6332 = load ptr, ptr %t6321 %t6333 = call ptr @realloc(ptr %t6332, i64 %t6331) store ptr %t6333, ptr %t6321 store i32 %t6327, ptr %t6320 br label %put1282 put1282: %t6334 = load ptr, ptr %t6321 %t6335 = getelementptr inbounds ptr, ptr %t6334, i32 %t6322 store ptr @.str7963, ptr %t6335 %t6336 = add i32 %t6322, 1 store i32 %t6336, ptr %t6319 %t6337 = load ptr, ptr %t427 %t6338 = getelementptr inbounds %LSlice, ptr %t6337, i32 0, i32 1 %t6339 = getelementptr inbounds %LSlice, ptr %t6337, i32 0, i32 2 %t6340 = getelementptr inbounds %LSlice, ptr %t6337, i32 0, i32 0 %t6341 = load i32, ptr %t6338 %t6342 = load i32, ptr %t6339 %t6343 = icmp sge i32 %t6341, %t6342 br i1 %t6343, label %grow1283, label %put1284 grow1283: %t6344 = mul i32 %t6342, 2 %t6345 = icmp eq i32 %t6342, 0 %t6346 = select i1 %t6345, i32 8, i32 %t6344 %t6347 = getelementptr ptr, ptr null, i32 1 %t6348 = ptrtoint ptr %t6347 to i64 %t6349 = zext i32 %t6346 to i64 %t6350 = mul i64 %t6349, %t6348 %t6351 = load ptr, ptr %t6340 %t6352 = call ptr @realloc(ptr %t6351, i64 %t6350) store ptr %t6352, ptr %t6340 store i32 %t6346, ptr %t6339 br label %put1284 put1284: %t6353 = load ptr, ptr %t6340 %t6354 = getelementptr inbounds ptr, ptr %t6353, i32 %t6341 store ptr @.str7964, ptr %t6354 %t6355 = add i32 %t6341, 1 store i32 %t6355, ptr %t6338 %t6356 = load ptr, ptr %t427 %t6357 = getelementptr inbounds %LSlice, ptr %t6356, i32 0, i32 1 %t6358 = getelementptr inbounds %LSlice, ptr %t6356, i32 0, i32 2 %t6359 = getelementptr inbounds %LSlice, ptr %t6356, i32 0, i32 0 %t6360 = load i32, ptr %t6357 %t6361 = load i32, ptr %t6358 %t6362 = icmp sge i32 %t6360, %t6361 br i1 %t6362, label %grow1285, label %put1286 grow1285: %t6363 = mul i32 %t6361, 2 %t6364 = icmp eq i32 %t6361, 0 %t6365 = select i1 %t6364, i32 8, i32 %t6363 %t6366 = getelementptr ptr, ptr null, i32 1 %t6367 = ptrtoint ptr %t6366 to i64 %t6368 = zext i32 %t6365 to i64 %t6369 = mul i64 %t6368, %t6367 %t6370 = load ptr, ptr %t6359 %t6371 = call ptr @realloc(ptr %t6370, i64 %t6369) store ptr %t6371, ptr %t6359 store i32 %t6365, ptr %t6358 br label %put1286 put1286: %t6372 = load ptr, ptr %t6359 %t6373 = getelementptr inbounds ptr, ptr %t6372, i32 %t6360 store ptr @.str7965, ptr %t6373 %t6374 = add i32 %t6360, 1 store i32 %t6374, ptr %t6357 br label %ifend1280 ifend1280: %t6375 = load ptr, ptr %t1 %t6376 = call i32 @lp_str_eq(ptr %t6375, ptr @.str7966) %t6377 = icmp ne i32 %t6376, 0 br i1 %t6377, label %then1287, label %ifend1289 then1287: store ptr @.str7967, ptr %t420 %t6378 = load ptr, ptr %t427 %t6379 = getelementptr inbounds %LSlice, ptr %t6378, i32 0, i32 1 %t6380 = getelementptr inbounds %LSlice, ptr %t6378, i32 0, i32 2 %t6381 = getelementptr inbounds %LSlice, ptr %t6378, i32 0, i32 0 %t6382 = load i32, ptr %t6379 %t6383 = load i32, ptr %t6380 %t6384 = icmp sge i32 %t6382, %t6383 br i1 %t6384, label %grow1290, label %put1291 grow1290: %t6385 = mul i32 %t6383, 2 %t6386 = icmp eq i32 %t6383, 0 %t6387 = select i1 %t6386, i32 8, i32 %t6385 %t6388 = getelementptr ptr, ptr null, i32 1 %t6389 = ptrtoint ptr %t6388 to i64 %t6390 = zext i32 %t6387 to i64 %t6391 = mul i64 %t6390, %t6389 %t6392 = load ptr, ptr %t6381 %t6393 = call ptr @realloc(ptr %t6392, i64 %t6391) store ptr %t6393, ptr %t6381 store i32 %t6387, ptr %t6380 br label %put1291 put1291: %t6394 = load ptr, ptr %t6381 %t6395 = getelementptr inbounds ptr, ptr %t6394, i32 %t6382 store ptr @.str7968, ptr %t6395 %t6396 = add i32 %t6382, 1 store i32 %t6396, ptr %t6379 %t6397 = load ptr, ptr %t427 %t6398 = getelementptr inbounds %LSlice, ptr %t6397, i32 0, i32 1 %t6399 = getelementptr inbounds %LSlice, ptr %t6397, i32 0, i32 2 %t6400 = getelementptr inbounds %LSlice, ptr %t6397, i32 0, i32 0 %t6401 = load i32, ptr %t6398 %t6402 = load i32, ptr %t6399 %t6403 = icmp sge i32 %t6401, %t6402 br i1 %t6403, label %grow1292, label %put1293 grow1292: %t6404 = mul i32 %t6402, 2 %t6405 = icmp eq i32 %t6402, 0 %t6406 = select i1 %t6405, i32 8, i32 %t6404 %t6407 = getelementptr ptr, ptr null, i32 1 %t6408 = ptrtoint ptr %t6407 to i64 %t6409 = zext i32 %t6406 to i64 %t6410 = mul i64 %t6409, %t6408 %t6411 = load ptr, ptr %t6400 %t6412 = call ptr @realloc(ptr %t6411, i64 %t6410) store ptr %t6412, ptr %t6400 store i32 %t6406, ptr %t6399 br label %put1293 put1293: %t6413 = load ptr, ptr %t6400 %t6414 = getelementptr inbounds ptr, ptr %t6413, i32 %t6401 store ptr @.str7969, ptr %t6414 %t6415 = add i32 %t6401, 1 store i32 %t6415, ptr %t6398 br label %ifend1289 ifend1289: %t6416 = load ptr, ptr %t1 %t6417 = call i32 @lp_str_eq(ptr %t6416, ptr @.str7970) %t6418 = icmp ne i32 %t6417, 0 br i1 %t6418, label %then1294, label %ifend1296 then1294: store ptr @.str7971, ptr %t420 %t6419 = load ptr, ptr %t427 %t6420 = getelementptr inbounds %LSlice, ptr %t6419, i32 0, i32 1 %t6421 = getelementptr inbounds %LSlice, ptr %t6419, i32 0, i32 2 %t6422 = getelementptr inbounds %LSlice, ptr %t6419, i32 0, i32 0 %t6423 = load i32, ptr %t6420 %t6424 = load i32, ptr %t6421 %t6425 = icmp sge i32 %t6423, %t6424 br i1 %t6425, label %grow1297, label %put1298 grow1297: %t6426 = mul i32 %t6424, 2 %t6427 = icmp eq i32 %t6424, 0 %t6428 = select i1 %t6427, i32 8, i32 %t6426 %t6429 = getelementptr ptr, ptr null, i32 1 %t6430 = ptrtoint ptr %t6429 to i64 %t6431 = zext i32 %t6428 to i64 %t6432 = mul i64 %t6431, %t6430 %t6433 = load ptr, ptr %t6422 %t6434 = call ptr @realloc(ptr %t6433, i64 %t6432) store ptr %t6434, ptr %t6422 store i32 %t6428, ptr %t6421 br label %put1298 put1298: %t6435 = load ptr, ptr %t6422 %t6436 = getelementptr inbounds ptr, ptr %t6435, i32 %t6423 store ptr @.str7972, ptr %t6436 %t6437 = add i32 %t6423, 1 store i32 %t6437, ptr %t6420 %t6438 = load ptr, ptr %t427 %t6439 = getelementptr inbounds %LSlice, ptr %t6438, i32 0, i32 1 %t6440 = getelementptr inbounds %LSlice, ptr %t6438, i32 0, i32 2 %t6441 = getelementptr inbounds %LSlice, ptr %t6438, i32 0, i32 0 %t6442 = load i32, ptr %t6439 %t6443 = load i32, ptr %t6440 %t6444 = icmp sge i32 %t6442, %t6443 br i1 %t6444, label %grow1299, label %put1300 grow1299: %t6445 = mul i32 %t6443, 2 %t6446 = icmp eq i32 %t6443, 0 %t6447 = select i1 %t6446, i32 8, i32 %t6445 %t6448 = getelementptr ptr, ptr null, i32 1 %t6449 = ptrtoint ptr %t6448 to i64 %t6450 = zext i32 %t6447 to i64 %t6451 = mul i64 %t6450, %t6449 %t6452 = load ptr, ptr %t6441 %t6453 = call ptr @realloc(ptr %t6452, i64 %t6451) store ptr %t6453, ptr %t6441 store i32 %t6447, ptr %t6440 br label %put1300 put1300: %t6454 = load ptr, ptr %t6441 %t6455 = getelementptr inbounds ptr, ptr %t6454, i32 %t6442 store ptr @.str7973, ptr %t6455 %t6456 = add i32 %t6442, 1 store i32 %t6456, ptr %t6439 %t6457 = load ptr, ptr %t427 %t6458 = getelementptr inbounds %LSlice, ptr %t6457, i32 0, i32 1 %t6459 = getelementptr inbounds %LSlice, ptr %t6457, i32 0, i32 2 %t6460 = getelementptr inbounds %LSlice, ptr %t6457, i32 0, i32 0 %t6461 = load i32, ptr %t6458 %t6462 = load i32, ptr %t6459 %t6463 = icmp sge i32 %t6461, %t6462 br i1 %t6463, label %grow1301, label %put1302 grow1301: %t6464 = mul i32 %t6462, 2 %t6465 = icmp eq i32 %t6462, 0 %t6466 = select i1 %t6465, i32 8, i32 %t6464 %t6467 = getelementptr ptr, ptr null, i32 1 %t6468 = ptrtoint ptr %t6467 to i64 %t6469 = zext i32 %t6466 to i64 %t6470 = mul i64 %t6469, %t6468 %t6471 = load ptr, ptr %t6460 %t6472 = call ptr @realloc(ptr %t6471, i64 %t6470) store ptr %t6472, ptr %t6460 store i32 %t6466, ptr %t6459 br label %put1302 put1302: %t6473 = load ptr, ptr %t6460 %t6474 = getelementptr inbounds ptr, ptr %t6473, i32 %t6461 store ptr @.str7974, ptr %t6474 %t6475 = add i32 %t6461, 1 store i32 %t6475, ptr %t6458 br label %ifend1296 ifend1296: %t6476 = load ptr, ptr %t1 %t6477 = call i32 @lp_str_eq(ptr %t6476, ptr @.str7975) %t6478 = icmp ne i32 %t6477, 0 br i1 %t6478, label %then1303, label %ifend1305 then1303: store ptr @.str7976, ptr %t420 %t6479 = load ptr, ptr %t427 %t6480 = getelementptr inbounds %LSlice, ptr %t6479, i32 0, i32 1 %t6481 = getelementptr inbounds %LSlice, ptr %t6479, i32 0, i32 2 %t6482 = getelementptr inbounds %LSlice, ptr %t6479, i32 0, i32 0 %t6483 = load i32, ptr %t6480 %t6484 = load i32, ptr %t6481 %t6485 = icmp sge i32 %t6483, %t6484 br i1 %t6485, label %grow1306, label %put1307 grow1306: %t6486 = mul i32 %t6484, 2 %t6487 = icmp eq i32 %t6484, 0 %t6488 = select i1 %t6487, i32 8, i32 %t6486 %t6489 = getelementptr ptr, ptr null, i32 1 %t6490 = ptrtoint ptr %t6489 to i64 %t6491 = zext i32 %t6488 to i64 %t6492 = mul i64 %t6491, %t6490 %t6493 = load ptr, ptr %t6482 %t6494 = call ptr @realloc(ptr %t6493, i64 %t6492) store ptr %t6494, ptr %t6482 store i32 %t6488, ptr %t6481 br label %put1307 put1307: %t6495 = load ptr, ptr %t6482 %t6496 = getelementptr inbounds ptr, ptr %t6495, i32 %t6483 store ptr @.str7977, ptr %t6496 %t6497 = add i32 %t6483, 1 store i32 %t6497, ptr %t6480 br label %ifend1305 ifend1305: %t6498 = load ptr, ptr %t1 %t6499 = call i32 @lp_str_eq(ptr %t6498, ptr @.str7978) %t6500 = icmp ne i32 %t6499, 0 br i1 %t6500, label %then1308, label %ifend1310 then1308: store ptr @.str7979, ptr %t420 %t6501 = load ptr, ptr %t427 %t6502 = getelementptr inbounds %LSlice, ptr %t6501, i32 0, i32 1 %t6503 = getelementptr inbounds %LSlice, ptr %t6501, i32 0, i32 2 %t6504 = getelementptr inbounds %LSlice, ptr %t6501, i32 0, i32 0 %t6505 = load i32, ptr %t6502 %t6506 = load i32, ptr %t6503 %t6507 = icmp sge i32 %t6505, %t6506 br i1 %t6507, label %grow1311, label %put1312 grow1311: %t6508 = mul i32 %t6506, 2 %t6509 = icmp eq i32 %t6506, 0 %t6510 = select i1 %t6509, i32 8, i32 %t6508 %t6511 = getelementptr ptr, ptr null, i32 1 %t6512 = ptrtoint ptr %t6511 to i64 %t6513 = zext i32 %t6510 to i64 %t6514 = mul i64 %t6513, %t6512 %t6515 = load ptr, ptr %t6504 %t6516 = call ptr @realloc(ptr %t6515, i64 %t6514) store ptr %t6516, ptr %t6504 store i32 %t6510, ptr %t6503 br label %put1312 put1312: %t6517 = load ptr, ptr %t6504 %t6518 = getelementptr inbounds ptr, ptr %t6517, i32 %t6505 store ptr @.str7980, ptr %t6518 %t6519 = add i32 %t6505, 1 store i32 %t6519, ptr %t6502 br label %ifend1310 ifend1310: %t6520 = load ptr, ptr %t1 %t6521 = call i32 @lp_str_eq(ptr %t6520, ptr @.str7981) %t6522 = icmp ne i32 %t6521, 0 br i1 %t6522, label %then1313, label %ifend1315 then1313: store ptr @.str7982, ptr %t420 %t6523 = load ptr, ptr %t427 %t6524 = getelementptr inbounds %LSlice, ptr %t6523, i32 0, i32 1 %t6525 = getelementptr inbounds %LSlice, ptr %t6523, i32 0, i32 2 %t6526 = getelementptr inbounds %LSlice, ptr %t6523, i32 0, i32 0 %t6527 = load i32, ptr %t6524 %t6528 = load i32, ptr %t6525 %t6529 = icmp sge i32 %t6527, %t6528 br i1 %t6529, label %grow1316, label %put1317 grow1316: %t6530 = mul i32 %t6528, 2 %t6531 = icmp eq i32 %t6528, 0 %t6532 = select i1 %t6531, i32 8, i32 %t6530 %t6533 = getelementptr ptr, ptr null, i32 1 %t6534 = ptrtoint ptr %t6533 to i64 %t6535 = zext i32 %t6532 to i64 %t6536 = mul i64 %t6535, %t6534 %t6537 = load ptr, ptr %t6526 %t6538 = call ptr @realloc(ptr %t6537, i64 %t6536) store ptr %t6538, ptr %t6526 store i32 %t6532, ptr %t6525 br label %put1317 put1317: %t6539 = load ptr, ptr %t6526 %t6540 = getelementptr inbounds ptr, ptr %t6539, i32 %t6527 store ptr @.str7983, ptr %t6540 %t6541 = add i32 %t6527, 1 store i32 %t6541, ptr %t6524 br label %ifend1315 ifend1315: %t6542 = load ptr, ptr %t1 %t6543 = call i32 @lp_str_eq(ptr %t6542, ptr @.str7984) %t6544 = icmp ne i32 %t6543, 0 br i1 %t6544, label %then1318, label %ifend1320 then1318: store ptr @.str7985, ptr %t420 %t6545 = load ptr, ptr %t427 %t6546 = getelementptr inbounds %LSlice, ptr %t6545, i32 0, i32 1 %t6547 = getelementptr inbounds %LSlice, ptr %t6545, i32 0, i32 2 %t6548 = getelementptr inbounds %LSlice, ptr %t6545, i32 0, i32 0 %t6549 = load i32, ptr %t6546 %t6550 = load i32, ptr %t6547 %t6551 = icmp sge i32 %t6549, %t6550 br i1 %t6551, label %grow1321, label %put1322 grow1321: %t6552 = mul i32 %t6550, 2 %t6553 = icmp eq i32 %t6550, 0 %t6554 = select i1 %t6553, i32 8, i32 %t6552 %t6555 = getelementptr ptr, ptr null, i32 1 %t6556 = ptrtoint ptr %t6555 to i64 %t6557 = zext i32 %t6554 to i64 %t6558 = mul i64 %t6557, %t6556 %t6559 = load ptr, ptr %t6548 %t6560 = call ptr @realloc(ptr %t6559, i64 %t6558) store ptr %t6560, ptr %t6548 store i32 %t6554, ptr %t6547 br label %put1322 put1322: %t6561 = load ptr, ptr %t6548 %t6562 = getelementptr inbounds ptr, ptr %t6561, i32 %t6549 store ptr @.str7986, ptr %t6562 %t6563 = add i32 %t6549, 1 store i32 %t6563, ptr %t6546 br label %ifend1320 ifend1320: %t6564 = load ptr, ptr %t1 %t6565 = call i32 @lp_str_eq(ptr %t6564, ptr @.str7987) %t6566 = icmp ne i32 %t6565, 0 br i1 %t6566, label %then1323, label %ifend1325 then1323: store ptr @.str7988, ptr %t420 %t6567 = load ptr, ptr %t427 %t6568 = getelementptr inbounds %LSlice, ptr %t6567, i32 0, i32 1 %t6569 = getelementptr inbounds %LSlice, ptr %t6567, i32 0, i32 2 %t6570 = getelementptr inbounds %LSlice, ptr %t6567, i32 0, i32 0 %t6571 = load i32, ptr %t6568 %t6572 = load i32, ptr %t6569 %t6573 = icmp sge i32 %t6571, %t6572 br i1 %t6573, label %grow1326, label %put1327 grow1326: %t6574 = mul i32 %t6572, 2 %t6575 = icmp eq i32 %t6572, 0 %t6576 = select i1 %t6575, i32 8, i32 %t6574 %t6577 = getelementptr ptr, ptr null, i32 1 %t6578 = ptrtoint ptr %t6577 to i64 %t6579 = zext i32 %t6576 to i64 %t6580 = mul i64 %t6579, %t6578 %t6581 = load ptr, ptr %t6570 %t6582 = call ptr @realloc(ptr %t6581, i64 %t6580) store ptr %t6582, ptr %t6570 store i32 %t6576, ptr %t6569 br label %put1327 put1327: %t6583 = load ptr, ptr %t6570 %t6584 = getelementptr inbounds ptr, ptr %t6583, i32 %t6571 store ptr @.str7989, ptr %t6584 %t6585 = add i32 %t6571, 1 store i32 %t6585, ptr %t6568 br label %ifend1325 ifend1325: %t6586 = load ptr, ptr %t1 %t6587 = call i32 @lp_str_eq(ptr %t6586, ptr @.str7990) %t6588 = icmp ne i32 %t6587, 0 br i1 %t6588, label %then1328, label %ifend1330 then1328: store ptr @.str7991, ptr %t420 %t6589 = load ptr, ptr %t427 %t6590 = getelementptr inbounds %LSlice, ptr %t6589, i32 0, i32 1 %t6591 = getelementptr inbounds %LSlice, ptr %t6589, i32 0, i32 2 %t6592 = getelementptr inbounds %LSlice, ptr %t6589, i32 0, i32 0 %t6593 = load i32, ptr %t6590 %t6594 = load i32, ptr %t6591 %t6595 = icmp sge i32 %t6593, %t6594 br i1 %t6595, label %grow1331, label %put1332 grow1331: %t6596 = mul i32 %t6594, 2 %t6597 = icmp eq i32 %t6594, 0 %t6598 = select i1 %t6597, i32 8, i32 %t6596 %t6599 = getelementptr ptr, ptr null, i32 1 %t6600 = ptrtoint ptr %t6599 to i64 %t6601 = zext i32 %t6598 to i64 %t6602 = mul i64 %t6601, %t6600 %t6603 = load ptr, ptr %t6592 %t6604 = call ptr @realloc(ptr %t6603, i64 %t6602) store ptr %t6604, ptr %t6592 store i32 %t6598, ptr %t6591 br label %put1332 put1332: %t6605 = load ptr, ptr %t6592 %t6606 = getelementptr inbounds ptr, ptr %t6605, i32 %t6593 store ptr @.str7992, ptr %t6606 %t6607 = add i32 %t6593, 1 store i32 %t6607, ptr %t6590 br label %ifend1330 ifend1330: %t6608 = load ptr, ptr %t1 %t6609 = call i32 @lp_str_eq(ptr %t6608, ptr @.str7993) %t6610 = icmp ne i32 %t6609, 0 br i1 %t6610, label %then1333, label %ifend1335 then1333: store ptr @.str7994, ptr %t420 %t6611 = load ptr, ptr %t427 %t6612 = getelementptr inbounds %LSlice, ptr %t6611, i32 0, i32 1 %t6613 = getelementptr inbounds %LSlice, ptr %t6611, i32 0, i32 2 %t6614 = getelementptr inbounds %LSlice, ptr %t6611, i32 0, i32 0 %t6615 = load i32, ptr %t6612 %t6616 = load i32, ptr %t6613 %t6617 = icmp sge i32 %t6615, %t6616 br i1 %t6617, label %grow1336, label %put1337 grow1336: %t6618 = mul i32 %t6616, 2 %t6619 = icmp eq i32 %t6616, 0 %t6620 = select i1 %t6619, i32 8, i32 %t6618 %t6621 = getelementptr ptr, ptr null, i32 1 %t6622 = ptrtoint ptr %t6621 to i64 %t6623 = zext i32 %t6620 to i64 %t6624 = mul i64 %t6623, %t6622 %t6625 = load ptr, ptr %t6614 %t6626 = call ptr @realloc(ptr %t6625, i64 %t6624) store ptr %t6626, ptr %t6614 store i32 %t6620, ptr %t6613 br label %put1337 put1337: %t6627 = load ptr, ptr %t6614 %t6628 = getelementptr inbounds ptr, ptr %t6627, i32 %t6615 store ptr @.str7995, ptr %t6628 %t6629 = add i32 %t6615, 1 store i32 %t6629, ptr %t6612 %t6630 = load ptr, ptr %t427 %t6631 = getelementptr inbounds %LSlice, ptr %t6630, i32 0, i32 1 %t6632 = getelementptr inbounds %LSlice, ptr %t6630, i32 0, i32 2 %t6633 = getelementptr inbounds %LSlice, ptr %t6630, i32 0, i32 0 %t6634 = load i32, ptr %t6631 %t6635 = load i32, ptr %t6632 %t6636 = icmp sge i32 %t6634, %t6635 br i1 %t6636, label %grow1338, label %put1339 grow1338: %t6637 = mul i32 %t6635, 2 %t6638 = icmp eq i32 %t6635, 0 %t6639 = select i1 %t6638, i32 8, i32 %t6637 %t6640 = getelementptr ptr, ptr null, i32 1 %t6641 = ptrtoint ptr %t6640 to i64 %t6642 = zext i32 %t6639 to i64 %t6643 = mul i64 %t6642, %t6641 %t6644 = load ptr, ptr %t6633 %t6645 = call ptr @realloc(ptr %t6644, i64 %t6643) store ptr %t6645, ptr %t6633 store i32 %t6639, ptr %t6632 br label %put1339 put1339: %t6646 = load ptr, ptr %t6633 %t6647 = getelementptr inbounds ptr, ptr %t6646, i32 %t6634 store ptr @.str7996, ptr %t6647 %t6648 = add i32 %t6634, 1 store i32 %t6648, ptr %t6631 br label %ifend1335 ifend1335: %t6649 = load ptr, ptr %t1 %t6650 = call i32 @lp_str_eq(ptr %t6649, ptr @.str7997) %t6651 = icmp ne i32 %t6650, 0 br i1 %t6651, label %then1340, label %ifend1342 then1340: store ptr @.str7998, ptr %t420 %t6652 = load ptr, ptr %t427 %t6653 = getelementptr inbounds %LSlice, ptr %t6652, i32 0, i32 1 %t6654 = getelementptr inbounds %LSlice, ptr %t6652, i32 0, i32 2 %t6655 = getelementptr inbounds %LSlice, ptr %t6652, i32 0, i32 0 %t6656 = load i32, ptr %t6653 %t6657 = load i32, ptr %t6654 %t6658 = icmp sge i32 %t6656, %t6657 br i1 %t6658, label %grow1343, label %put1344 grow1343: %t6659 = mul i32 %t6657, 2 %t6660 = icmp eq i32 %t6657, 0 %t6661 = select i1 %t6660, i32 8, i32 %t6659 %t6662 = getelementptr ptr, ptr null, i32 1 %t6663 = ptrtoint ptr %t6662 to i64 %t6664 = zext i32 %t6661 to i64 %t6665 = mul i64 %t6664, %t6663 %t6666 = load ptr, ptr %t6655 %t6667 = call ptr @realloc(ptr %t6666, i64 %t6665) store ptr %t6667, ptr %t6655 store i32 %t6661, ptr %t6654 br label %put1344 put1344: %t6668 = load ptr, ptr %t6655 %t6669 = getelementptr inbounds ptr, ptr %t6668, i32 %t6656 store ptr @.str7999, ptr %t6669 %t6670 = add i32 %t6656, 1 store i32 %t6670, ptr %t6653 br label %ifend1342 ifend1342: %t6671 = load ptr, ptr %t1 %t6672 = call i32 @lp_str_eq(ptr %t6671, ptr @.str8000) %t6673 = icmp ne i32 %t6672, 0 br i1 %t6673, label %then1345, label %ifend1347 then1345: store ptr @.str8001, ptr %t420 %t6674 = load ptr, ptr %t427 %t6675 = getelementptr inbounds %LSlice, ptr %t6674, i32 0, i32 1 %t6676 = getelementptr inbounds %LSlice, ptr %t6674, i32 0, i32 2 %t6677 = getelementptr inbounds %LSlice, ptr %t6674, i32 0, i32 0 %t6678 = load i32, ptr %t6675 %t6679 = load i32, ptr %t6676 %t6680 = icmp sge i32 %t6678, %t6679 br i1 %t6680, label %grow1348, label %put1349 grow1348: %t6681 = mul i32 %t6679, 2 %t6682 = icmp eq i32 %t6679, 0 %t6683 = select i1 %t6682, i32 8, i32 %t6681 %t6684 = getelementptr ptr, ptr null, i32 1 %t6685 = ptrtoint ptr %t6684 to i64 %t6686 = zext i32 %t6683 to i64 %t6687 = mul i64 %t6686, %t6685 %t6688 = load ptr, ptr %t6677 %t6689 = call ptr @realloc(ptr %t6688, i64 %t6687) store ptr %t6689, ptr %t6677 store i32 %t6683, ptr %t6676 br label %put1349 put1349: %t6690 = load ptr, ptr %t6677 %t6691 = getelementptr inbounds ptr, ptr %t6690, i32 %t6678 store ptr @.str8002, ptr %t6691 %t6692 = add i32 %t6678, 1 store i32 %t6692, ptr %t6675 %t6693 = load ptr, ptr %t427 %t6694 = getelementptr inbounds %LSlice, ptr %t6693, i32 0, i32 1 %t6695 = getelementptr inbounds %LSlice, ptr %t6693, i32 0, i32 2 %t6696 = getelementptr inbounds %LSlice, ptr %t6693, i32 0, i32 0 %t6697 = load i32, ptr %t6694 %t6698 = load i32, ptr %t6695 %t6699 = icmp sge i32 %t6697, %t6698 br i1 %t6699, label %grow1350, label %put1351 grow1350: %t6700 = mul i32 %t6698, 2 %t6701 = icmp eq i32 %t6698, 0 %t6702 = select i1 %t6701, i32 8, i32 %t6700 %t6703 = getelementptr ptr, ptr null, i32 1 %t6704 = ptrtoint ptr %t6703 to i64 %t6705 = zext i32 %t6702 to i64 %t6706 = mul i64 %t6705, %t6704 %t6707 = load ptr, ptr %t6696 %t6708 = call ptr @realloc(ptr %t6707, i64 %t6706) store ptr %t6708, ptr %t6696 store i32 %t6702, ptr %t6695 br label %put1351 put1351: %t6709 = load ptr, ptr %t6696 %t6710 = getelementptr inbounds ptr, ptr %t6709, i32 %t6697 store ptr @.str8003, ptr %t6710 %t6711 = add i32 %t6697, 1 store i32 %t6711, ptr %t6694 br label %ifend1347 ifend1347: %t6712 = load ptr, ptr %t1 %t6713 = call i32 @lp_str_eq(ptr %t6712, ptr @.str8004) %t6714 = icmp ne i32 %t6713, 0 br i1 %t6714, label %then1352, label %ifend1354 then1352: store ptr @.str8005, ptr %t420 %t6715 = load ptr, ptr %t427 %t6716 = getelementptr inbounds %LSlice, ptr %t6715, i32 0, i32 1 %t6717 = getelementptr inbounds %LSlice, ptr %t6715, i32 0, i32 2 %t6718 = getelementptr inbounds %LSlice, ptr %t6715, i32 0, i32 0 %t6719 = load i32, ptr %t6716 %t6720 = load i32, ptr %t6717 %t6721 = icmp sge i32 %t6719, %t6720 br i1 %t6721, label %grow1355, label %put1356 grow1355: %t6722 = mul i32 %t6720, 2 %t6723 = icmp eq i32 %t6720, 0 %t6724 = select i1 %t6723, i32 8, i32 %t6722 %t6725 = getelementptr ptr, ptr null, i32 1 %t6726 = ptrtoint ptr %t6725 to i64 %t6727 = zext i32 %t6724 to i64 %t6728 = mul i64 %t6727, %t6726 %t6729 = load ptr, ptr %t6718 %t6730 = call ptr @realloc(ptr %t6729, i64 %t6728) store ptr %t6730, ptr %t6718 store i32 %t6724, ptr %t6717 br label %put1356 put1356: %t6731 = load ptr, ptr %t6718 %t6732 = getelementptr inbounds ptr, ptr %t6731, i32 %t6719 store ptr @.str8006, ptr %t6732 %t6733 = add i32 %t6719, 1 store i32 %t6733, ptr %t6716 %t6734 = load ptr, ptr %t427 %t6735 = getelementptr inbounds %LSlice, ptr %t6734, i32 0, i32 1 %t6736 = getelementptr inbounds %LSlice, ptr %t6734, i32 0, i32 2 %t6737 = getelementptr inbounds %LSlice, ptr %t6734, i32 0, i32 0 %t6738 = load i32, ptr %t6735 %t6739 = load i32, ptr %t6736 %t6740 = icmp sge i32 %t6738, %t6739 br i1 %t6740, label %grow1357, label %put1358 grow1357: %t6741 = mul i32 %t6739, 2 %t6742 = icmp eq i32 %t6739, 0 %t6743 = select i1 %t6742, i32 8, i32 %t6741 %t6744 = getelementptr ptr, ptr null, i32 1 %t6745 = ptrtoint ptr %t6744 to i64 %t6746 = zext i32 %t6743 to i64 %t6747 = mul i64 %t6746, %t6745 %t6748 = load ptr, ptr %t6737 %t6749 = call ptr @realloc(ptr %t6748, i64 %t6747) store ptr %t6749, ptr %t6737 store i32 %t6743, ptr %t6736 br label %put1358 put1358: %t6750 = load ptr, ptr %t6737 %t6751 = getelementptr inbounds ptr, ptr %t6750, i32 %t6738 store ptr @.str8007, ptr %t6751 %t6752 = add i32 %t6738, 1 store i32 %t6752, ptr %t6735 br label %ifend1354 ifend1354: %t6753 = load ptr, ptr %t1 %t6754 = call i32 @lp_str_eq(ptr %t6753, ptr @.str8008) %t6755 = icmp ne i32 %t6754, 0 br i1 %t6755, label %then1359, label %ifend1361 then1359: store ptr @.str8009, ptr %t420 %t6756 = load ptr, ptr %t427 %t6757 = getelementptr inbounds %LSlice, ptr %t6756, i32 0, i32 1 %t6758 = getelementptr inbounds %LSlice, ptr %t6756, i32 0, i32 2 %t6759 = getelementptr inbounds %LSlice, ptr %t6756, i32 0, i32 0 %t6760 = load i32, ptr %t6757 %t6761 = load i32, ptr %t6758 %t6762 = icmp sge i32 %t6760, %t6761 br i1 %t6762, label %grow1362, label %put1363 grow1362: %t6763 = mul i32 %t6761, 2 %t6764 = icmp eq i32 %t6761, 0 %t6765 = select i1 %t6764, i32 8, i32 %t6763 %t6766 = getelementptr ptr, ptr null, i32 1 %t6767 = ptrtoint ptr %t6766 to i64 %t6768 = zext i32 %t6765 to i64 %t6769 = mul i64 %t6768, %t6767 %t6770 = load ptr, ptr %t6759 %t6771 = call ptr @realloc(ptr %t6770, i64 %t6769) store ptr %t6771, ptr %t6759 store i32 %t6765, ptr %t6758 br label %put1363 put1363: %t6772 = load ptr, ptr %t6759 %t6773 = getelementptr inbounds ptr, ptr %t6772, i32 %t6760 store ptr @.str8010, ptr %t6773 %t6774 = add i32 %t6760, 1 store i32 %t6774, ptr %t6757 br label %ifend1361 ifend1361: %t6775 = load ptr, ptr %t1 %t6776 = call i32 @lp_str_eq(ptr %t6775, ptr @.str8011) %t6777 = icmp ne i32 %t6776, 0 br i1 %t6777, label %then1364, label %ifend1366 then1364: store ptr @.str8012, ptr %t420 %t6778 = load ptr, ptr %t427 %t6779 = getelementptr inbounds %LSlice, ptr %t6778, i32 0, i32 1 %t6780 = getelementptr inbounds %LSlice, ptr %t6778, i32 0, i32 2 %t6781 = getelementptr inbounds %LSlice, ptr %t6778, i32 0, i32 0 %t6782 = load i32, ptr %t6779 %t6783 = load i32, ptr %t6780 %t6784 = icmp sge i32 %t6782, %t6783 br i1 %t6784, label %grow1367, label %put1368 grow1367: %t6785 = mul i32 %t6783, 2 %t6786 = icmp eq i32 %t6783, 0 %t6787 = select i1 %t6786, i32 8, i32 %t6785 %t6788 = getelementptr ptr, ptr null, i32 1 %t6789 = ptrtoint ptr %t6788 to i64 %t6790 = zext i32 %t6787 to i64 %t6791 = mul i64 %t6790, %t6789 %t6792 = load ptr, ptr %t6781 %t6793 = call ptr @realloc(ptr %t6792, i64 %t6791) store ptr %t6793, ptr %t6781 store i32 %t6787, ptr %t6780 br label %put1368 put1368: %t6794 = load ptr, ptr %t6781 %t6795 = getelementptr inbounds ptr, ptr %t6794, i32 %t6782 store ptr @.str8013, ptr %t6795 %t6796 = add i32 %t6782, 1 store i32 %t6796, ptr %t6779 br label %ifend1366 ifend1366: br label %ifend1249 ifend1249: %t6797 = load ptr, ptr %t0 %t6798 = call i32 @lp_str_eq(ptr %t6797, ptr @.str8014) %t6799 = icmp ne i32 %t6798, 0 br i1 %t6799, label %then1369, label %ifend1371 then1369: %t6800 = load ptr, ptr %t1 %t6801 = call i32 @lp_str_eq(ptr %t6800, ptr @.str8015) %t6802 = icmp ne i32 %t6801, 0 br i1 %t6802, label %then1372, label %ifend1374 then1372: store ptr @.str8016, ptr %t420 %t6803 = load ptr, ptr %t427 %t6804 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 1 %t6805 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 2 %t6806 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 0 %t6807 = load i32, ptr %t6804 %t6808 = load i32, ptr %t6805 %t6809 = icmp sge i32 %t6807, %t6808 br i1 %t6809, label %grow1375, label %put1376 grow1375: %t6810 = mul i32 %t6808, 2 %t6811 = icmp eq i32 %t6808, 0 %t6812 = select i1 %t6811, i32 8, i32 %t6810 %t6813 = getelementptr ptr, ptr null, i32 1 %t6814 = ptrtoint ptr %t6813 to i64 %t6815 = zext i32 %t6812 to i64 %t6816 = mul i64 %t6815, %t6814 %t6817 = load ptr, ptr %t6806 %t6818 = call ptr @realloc(ptr %t6817, i64 %t6816) store ptr %t6818, ptr %t6806 store i32 %t6812, ptr %t6805 br label %put1376 put1376: %t6819 = load ptr, ptr %t6806 %t6820 = getelementptr inbounds ptr, ptr %t6819, i32 %t6807 store ptr @.str8017, ptr %t6820 %t6821 = add i32 %t6807, 1 store i32 %t6821, ptr %t6804 br label %ifend1374 ifend1374: %t6822 = load ptr, ptr %t1 %t6823 = call i32 @lp_str_eq(ptr %t6822, ptr @.str8018) %t6824 = icmp ne i32 %t6823, 0 br i1 %t6824, label %then1377, label %ifend1379 then1377: store ptr @.str8019, ptr %t420 %t6825 = load ptr, ptr %t427 %t6826 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 1 %t6827 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 2 %t6828 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 0 %t6829 = load i32, ptr %t6826 %t6830 = load i32, ptr %t6827 %t6831 = icmp sge i32 %t6829, %t6830 br i1 %t6831, label %grow1380, label %put1381 grow1380: %t6832 = mul i32 %t6830, 2 %t6833 = icmp eq i32 %t6830, 0 %t6834 = select i1 %t6833, i32 8, i32 %t6832 %t6835 = getelementptr ptr, ptr null, i32 1 %t6836 = ptrtoint ptr %t6835 to i64 %t6837 = zext i32 %t6834 to i64 %t6838 = mul i64 %t6837, %t6836 %t6839 = load ptr, ptr %t6828 %t6840 = call ptr @realloc(ptr %t6839, i64 %t6838) store ptr %t6840, ptr %t6828 store i32 %t6834, ptr %t6827 br label %put1381 put1381: %t6841 = load ptr, ptr %t6828 %t6842 = getelementptr inbounds ptr, ptr %t6841, i32 %t6829 store ptr @.str8020, ptr %t6842 %t6843 = add i32 %t6829, 1 store i32 %t6843, ptr %t6826 br label %ifend1379 ifend1379: %t6844 = load ptr, ptr %t1 %t6845 = call i32 @lp_str_eq(ptr %t6844, ptr @.str8021) %t6846 = icmp ne i32 %t6845, 0 br i1 %t6846, label %then1382, label %ifend1384 then1382: store ptr @.str8022, ptr %t420 %t6847 = load ptr, ptr %t427 %t6848 = getelementptr inbounds %LSlice, ptr %t6847, i32 0, i32 1 %t6849 = getelementptr inbounds %LSlice, ptr %t6847, i32 0, i32 2 %t6850 = getelementptr inbounds %LSlice, ptr %t6847, i32 0, i32 0 %t6851 = load i32, ptr %t6848 %t6852 = load i32, ptr %t6849 %t6853 = icmp sge i32 %t6851, %t6852 br i1 %t6853, label %grow1385, label %put1386 grow1385: %t6854 = mul i32 %t6852, 2 %t6855 = icmp eq i32 %t6852, 0 %t6856 = select i1 %t6855, i32 8, i32 %t6854 %t6857 = getelementptr ptr, ptr null, i32 1 %t6858 = ptrtoint ptr %t6857 to i64 %t6859 = zext i32 %t6856 to i64 %t6860 = mul i64 %t6859, %t6858 %t6861 = load ptr, ptr %t6850 %t6862 = call ptr @realloc(ptr %t6861, i64 %t6860) store ptr %t6862, ptr %t6850 store i32 %t6856, ptr %t6849 br label %put1386 put1386: %t6863 = load ptr, ptr %t6850 %t6864 = getelementptr inbounds ptr, ptr %t6863, i32 %t6851 store ptr @.str8023, ptr %t6864 %t6865 = add i32 %t6851, 1 store i32 %t6865, ptr %t6848 %t6866 = load ptr, ptr %t427 %t6867 = getelementptr inbounds %LSlice, ptr %t6866, i32 0, i32 1 %t6868 = getelementptr inbounds %LSlice, ptr %t6866, i32 0, i32 2 %t6869 = getelementptr inbounds %LSlice, ptr %t6866, i32 0, i32 0 %t6870 = load i32, ptr %t6867 %t6871 = load i32, ptr %t6868 %t6872 = icmp sge i32 %t6870, %t6871 br i1 %t6872, label %grow1387, label %put1388 grow1387: %t6873 = mul i32 %t6871, 2 %t6874 = icmp eq i32 %t6871, 0 %t6875 = select i1 %t6874, i32 8, i32 %t6873 %t6876 = getelementptr ptr, ptr null, i32 1 %t6877 = ptrtoint ptr %t6876 to i64 %t6878 = zext i32 %t6875 to i64 %t6879 = mul i64 %t6878, %t6877 %t6880 = load ptr, ptr %t6869 %t6881 = call ptr @realloc(ptr %t6880, i64 %t6879) store ptr %t6881, ptr %t6869 store i32 %t6875, ptr %t6868 br label %put1388 put1388: %t6882 = load ptr, ptr %t6869 %t6883 = getelementptr inbounds ptr, ptr %t6882, i32 %t6870 store ptr @.str8024, ptr %t6883 %t6884 = add i32 %t6870, 1 store i32 %t6884, ptr %t6867 %t6885 = load ptr, ptr %t427 %t6886 = getelementptr inbounds %LSlice, ptr %t6885, i32 0, i32 1 %t6887 = getelementptr inbounds %LSlice, ptr %t6885, i32 0, i32 2 %t6888 = getelementptr inbounds %LSlice, ptr %t6885, i32 0, i32 0 %t6889 = load i32, ptr %t6886 %t6890 = load i32, ptr %t6887 %t6891 = icmp sge i32 %t6889, %t6890 br i1 %t6891, label %grow1389, label %put1390 grow1389: %t6892 = mul i32 %t6890, 2 %t6893 = icmp eq i32 %t6890, 0 %t6894 = select i1 %t6893, i32 8, i32 %t6892 %t6895 = getelementptr ptr, ptr null, i32 1 %t6896 = ptrtoint ptr %t6895 to i64 %t6897 = zext i32 %t6894 to i64 %t6898 = mul i64 %t6897, %t6896 %t6899 = load ptr, ptr %t6888 %t6900 = call ptr @realloc(ptr %t6899, i64 %t6898) store ptr %t6900, ptr %t6888 store i32 %t6894, ptr %t6887 br label %put1390 put1390: %t6901 = load ptr, ptr %t6888 %t6902 = getelementptr inbounds ptr, ptr %t6901, i32 %t6889 store ptr @.str8025, ptr %t6902 %t6903 = add i32 %t6889, 1 store i32 %t6903, ptr %t6886 %t6904 = load ptr, ptr %t427 %t6905 = getelementptr inbounds %LSlice, ptr %t6904, i32 0, i32 1 %t6906 = getelementptr inbounds %LSlice, ptr %t6904, i32 0, i32 2 %t6907 = getelementptr inbounds %LSlice, ptr %t6904, i32 0, i32 0 %t6908 = load i32, ptr %t6905 %t6909 = load i32, ptr %t6906 %t6910 = icmp sge i32 %t6908, %t6909 br i1 %t6910, label %grow1391, label %put1392 grow1391: %t6911 = mul i32 %t6909, 2 %t6912 = icmp eq i32 %t6909, 0 %t6913 = select i1 %t6912, i32 8, i32 %t6911 %t6914 = getelementptr ptr, ptr null, i32 1 %t6915 = ptrtoint ptr %t6914 to i64 %t6916 = zext i32 %t6913 to i64 %t6917 = mul i64 %t6916, %t6915 %t6918 = load ptr, ptr %t6907 %t6919 = call ptr @realloc(ptr %t6918, i64 %t6917) store ptr %t6919, ptr %t6907 store i32 %t6913, ptr %t6906 br label %put1392 put1392: %t6920 = load ptr, ptr %t6907 %t6921 = getelementptr inbounds ptr, ptr %t6920, i32 %t6908 store ptr @.str8026, ptr %t6921 %t6922 = add i32 %t6908, 1 store i32 %t6922, ptr %t6905 %t6923 = load ptr, ptr %t427 %t6924 = getelementptr inbounds %LSlice, ptr %t6923, i32 0, i32 1 %t6925 = getelementptr inbounds %LSlice, ptr %t6923, i32 0, i32 2 %t6926 = getelementptr inbounds %LSlice, ptr %t6923, i32 0, i32 0 %t6927 = load i32, ptr %t6924 %t6928 = load i32, ptr %t6925 %t6929 = icmp sge i32 %t6927, %t6928 br i1 %t6929, label %grow1393, label %put1394 grow1393: %t6930 = mul i32 %t6928, 2 %t6931 = icmp eq i32 %t6928, 0 %t6932 = select i1 %t6931, i32 8, i32 %t6930 %t6933 = getelementptr ptr, ptr null, i32 1 %t6934 = ptrtoint ptr %t6933 to i64 %t6935 = zext i32 %t6932 to i64 %t6936 = mul i64 %t6935, %t6934 %t6937 = load ptr, ptr %t6926 %t6938 = call ptr @realloc(ptr %t6937, i64 %t6936) store ptr %t6938, ptr %t6926 store i32 %t6932, ptr %t6925 br label %put1394 put1394: %t6939 = load ptr, ptr %t6926 %t6940 = getelementptr inbounds ptr, ptr %t6939, i32 %t6927 store ptr @.str8027, ptr %t6940 %t6941 = add i32 %t6927, 1 store i32 %t6941, ptr %t6924 br label %ifend1384 ifend1384: %t6942 = load ptr, ptr %t1 %t6943 = call i32 @lp_str_eq(ptr %t6942, ptr @.str8028) %t6944 = icmp ne i32 %t6943, 0 br i1 %t6944, label %then1395, label %ifend1397 then1395: store ptr @.str8029, ptr %t420 %t6945 = load ptr, ptr %t427 %t6946 = getelementptr inbounds %LSlice, ptr %t6945, i32 0, i32 1 %t6947 = getelementptr inbounds %LSlice, ptr %t6945, i32 0, i32 2 %t6948 = getelementptr inbounds %LSlice, ptr %t6945, i32 0, i32 0 %t6949 = load i32, ptr %t6946 %t6950 = load i32, ptr %t6947 %t6951 = icmp sge i32 %t6949, %t6950 br i1 %t6951, label %grow1398, label %put1399 grow1398: %t6952 = mul i32 %t6950, 2 %t6953 = icmp eq i32 %t6950, 0 %t6954 = select i1 %t6953, i32 8, i32 %t6952 %t6955 = getelementptr ptr, ptr null, i32 1 %t6956 = ptrtoint ptr %t6955 to i64 %t6957 = zext i32 %t6954 to i64 %t6958 = mul i64 %t6957, %t6956 %t6959 = load ptr, ptr %t6948 %t6960 = call ptr @realloc(ptr %t6959, i64 %t6958) store ptr %t6960, ptr %t6948 store i32 %t6954, ptr %t6947 br label %put1399 put1399: %t6961 = load ptr, ptr %t6948 %t6962 = getelementptr inbounds ptr, ptr %t6961, i32 %t6949 store ptr @.str8030, ptr %t6962 %t6963 = add i32 %t6949, 1 store i32 %t6963, ptr %t6946 %t6964 = load ptr, ptr %t427 %t6965 = getelementptr inbounds %LSlice, ptr %t6964, i32 0, i32 1 %t6966 = getelementptr inbounds %LSlice, ptr %t6964, i32 0, i32 2 %t6967 = getelementptr inbounds %LSlice, ptr %t6964, i32 0, i32 0 %t6968 = load i32, ptr %t6965 %t6969 = load i32, ptr %t6966 %t6970 = icmp sge i32 %t6968, %t6969 br i1 %t6970, label %grow1400, label %put1401 grow1400: %t6971 = mul i32 %t6969, 2 %t6972 = icmp eq i32 %t6969, 0 %t6973 = select i1 %t6972, i32 8, i32 %t6971 %t6974 = getelementptr ptr, ptr null, i32 1 %t6975 = ptrtoint ptr %t6974 to i64 %t6976 = zext i32 %t6973 to i64 %t6977 = mul i64 %t6976, %t6975 %t6978 = load ptr, ptr %t6967 %t6979 = call ptr @realloc(ptr %t6978, i64 %t6977) store ptr %t6979, ptr %t6967 store i32 %t6973, ptr %t6966 br label %put1401 put1401: %t6980 = load ptr, ptr %t6967 %t6981 = getelementptr inbounds ptr, ptr %t6980, i32 %t6968 store ptr @.str8031, ptr %t6981 %t6982 = add i32 %t6968, 1 store i32 %t6982, ptr %t6965 %t6983 = load ptr, ptr %t427 %t6984 = getelementptr inbounds %LSlice, ptr %t6983, i32 0, i32 1 %t6985 = getelementptr inbounds %LSlice, ptr %t6983, i32 0, i32 2 %t6986 = getelementptr inbounds %LSlice, ptr %t6983, i32 0, i32 0 %t6987 = load i32, ptr %t6984 %t6988 = load i32, ptr %t6985 %t6989 = icmp sge i32 %t6987, %t6988 br i1 %t6989, label %grow1402, label %put1403 grow1402: %t6990 = mul i32 %t6988, 2 %t6991 = icmp eq i32 %t6988, 0 %t6992 = select i1 %t6991, i32 8, i32 %t6990 %t6993 = getelementptr ptr, ptr null, i32 1 %t6994 = ptrtoint ptr %t6993 to i64 %t6995 = zext i32 %t6992 to i64 %t6996 = mul i64 %t6995, %t6994 %t6997 = load ptr, ptr %t6986 %t6998 = call ptr @realloc(ptr %t6997, i64 %t6996) store ptr %t6998, ptr %t6986 store i32 %t6992, ptr %t6985 br label %put1403 put1403: %t6999 = load ptr, ptr %t6986 %t7000 = getelementptr inbounds ptr, ptr %t6999, i32 %t6987 store ptr @.str8032, ptr %t7000 %t7001 = add i32 %t6987, 1 store i32 %t7001, ptr %t6984 br label %ifend1397 ifend1397: %t7002 = load ptr, ptr %t1 %t7003 = call i32 @lp_str_eq(ptr %t7002, ptr @.str8033) %t7004 = icmp ne i32 %t7003, 0 br i1 %t7004, label %then1404, label %ifend1406 then1404: store ptr @.str8034, ptr %t420 %t7005 = load ptr, ptr %t427 %t7006 = getelementptr inbounds %LSlice, ptr %t7005, i32 0, i32 1 %t7007 = getelementptr inbounds %LSlice, ptr %t7005, i32 0, i32 2 %t7008 = getelementptr inbounds %LSlice, ptr %t7005, i32 0, i32 0 %t7009 = load i32, ptr %t7006 %t7010 = load i32, ptr %t7007 %t7011 = icmp sge i32 %t7009, %t7010 br i1 %t7011, label %grow1407, label %put1408 grow1407: %t7012 = mul i32 %t7010, 2 %t7013 = icmp eq i32 %t7010, 0 %t7014 = select i1 %t7013, i32 8, i32 %t7012 %t7015 = getelementptr ptr, ptr null, i32 1 %t7016 = ptrtoint ptr %t7015 to i64 %t7017 = zext i32 %t7014 to i64 %t7018 = mul i64 %t7017, %t7016 %t7019 = load ptr, ptr %t7008 %t7020 = call ptr @realloc(ptr %t7019, i64 %t7018) store ptr %t7020, ptr %t7008 store i32 %t7014, ptr %t7007 br label %put1408 put1408: %t7021 = load ptr, ptr %t7008 %t7022 = getelementptr inbounds ptr, ptr %t7021, i32 %t7009 store ptr @.str8035, ptr %t7022 %t7023 = add i32 %t7009, 1 store i32 %t7023, ptr %t7006 br label %ifend1406 ifend1406: %t7024 = load ptr, ptr %t1 %t7025 = call i32 @lp_str_eq(ptr %t7024, ptr @.str8036) %t7026 = icmp ne i32 %t7025, 0 br i1 %t7026, label %then1409, label %ifend1411 then1409: store ptr @.str8037, ptr %t420 %t7027 = load ptr, ptr %t427 %t7028 = getelementptr inbounds %LSlice, ptr %t7027, i32 0, i32 1 %t7029 = getelementptr inbounds %LSlice, ptr %t7027, i32 0, i32 2 %t7030 = getelementptr inbounds %LSlice, ptr %t7027, i32 0, i32 0 %t7031 = load i32, ptr %t7028 %t7032 = load i32, ptr %t7029 %t7033 = icmp sge i32 %t7031, %t7032 br i1 %t7033, label %grow1412, label %put1413 grow1412: %t7034 = mul i32 %t7032, 2 %t7035 = icmp eq i32 %t7032, 0 %t7036 = select i1 %t7035, i32 8, i32 %t7034 %t7037 = getelementptr ptr, ptr null, i32 1 %t7038 = ptrtoint ptr %t7037 to i64 %t7039 = zext i32 %t7036 to i64 %t7040 = mul i64 %t7039, %t7038 %t7041 = load ptr, ptr %t7030 %t7042 = call ptr @realloc(ptr %t7041, i64 %t7040) store ptr %t7042, ptr %t7030 store i32 %t7036, ptr %t7029 br label %put1413 put1413: %t7043 = load ptr, ptr %t7030 %t7044 = getelementptr inbounds ptr, ptr %t7043, i32 %t7031 store ptr @.str8038, ptr %t7044 %t7045 = add i32 %t7031, 1 store i32 %t7045, ptr %t7028 br label %ifend1411 ifend1411: %t7046 = load ptr, ptr %t1 %t7047 = call i32 @lp_str_eq(ptr %t7046, ptr @.str8039) %t7048 = icmp ne i32 %t7047, 0 br i1 %t7048, label %then1414, label %ifend1416 then1414: store ptr @.str8040, ptr %t420 %t7049 = load ptr, ptr %t427 %t7050 = getelementptr inbounds %LSlice, ptr %t7049, i32 0, i32 1 %t7051 = getelementptr inbounds %LSlice, ptr %t7049, i32 0, i32 2 %t7052 = getelementptr inbounds %LSlice, ptr %t7049, i32 0, i32 0 %t7053 = load i32, ptr %t7050 %t7054 = load i32, ptr %t7051 %t7055 = icmp sge i32 %t7053, %t7054 br i1 %t7055, label %grow1417, label %put1418 grow1417: %t7056 = mul i32 %t7054, 2 %t7057 = icmp eq i32 %t7054, 0 %t7058 = select i1 %t7057, i32 8, i32 %t7056 %t7059 = getelementptr ptr, ptr null, i32 1 %t7060 = ptrtoint ptr %t7059 to i64 %t7061 = zext i32 %t7058 to i64 %t7062 = mul i64 %t7061, %t7060 %t7063 = load ptr, ptr %t7052 %t7064 = call ptr @realloc(ptr %t7063, i64 %t7062) store ptr %t7064, ptr %t7052 store i32 %t7058, ptr %t7051 br label %put1418 put1418: %t7065 = load ptr, ptr %t7052 %t7066 = getelementptr inbounds ptr, ptr %t7065, i32 %t7053 store ptr @.str8041, ptr %t7066 %t7067 = add i32 %t7053, 1 store i32 %t7067, ptr %t7050 br label %ifend1416 ifend1416: %t7068 = load ptr, ptr %t1 %t7069 = call i32 @lp_str_eq(ptr %t7068, ptr @.str8042) %t7070 = icmp ne i32 %t7069, 0 br i1 %t7070, label %then1419, label %ifend1421 then1419: store ptr @.str8043, ptr %t420 %t7071 = load ptr, ptr %t427 %t7072 = getelementptr inbounds %LSlice, ptr %t7071, i32 0, i32 1 %t7073 = getelementptr inbounds %LSlice, ptr %t7071, i32 0, i32 2 %t7074 = getelementptr inbounds %LSlice, ptr %t7071, i32 0, i32 0 %t7075 = load i32, ptr %t7072 %t7076 = load i32, ptr %t7073 %t7077 = icmp sge i32 %t7075, %t7076 br i1 %t7077, label %grow1422, label %put1423 grow1422: %t7078 = mul i32 %t7076, 2 %t7079 = icmp eq i32 %t7076, 0 %t7080 = select i1 %t7079, i32 8, i32 %t7078 %t7081 = getelementptr ptr, ptr null, i32 1 %t7082 = ptrtoint ptr %t7081 to i64 %t7083 = zext i32 %t7080 to i64 %t7084 = mul i64 %t7083, %t7082 %t7085 = load ptr, ptr %t7074 %t7086 = call ptr @realloc(ptr %t7085, i64 %t7084) store ptr %t7086, ptr %t7074 store i32 %t7080, ptr %t7073 br label %put1423 put1423: %t7087 = load ptr, ptr %t7074 %t7088 = getelementptr inbounds ptr, ptr %t7087, i32 %t7075 store ptr @.str8044, ptr %t7088 %t7089 = add i32 %t7075, 1 store i32 %t7089, ptr %t7072 br label %ifend1421 ifend1421: %t7090 = load ptr, ptr %t1 %t7091 = call i32 @lp_str_eq(ptr %t7090, ptr @.str8045) %t7092 = icmp ne i32 %t7091, 0 br i1 %t7092, label %then1424, label %ifend1426 then1424: store ptr @.str8046, ptr %t420 br label %ifend1426 ifend1426: %t7093 = load ptr, ptr %t1 %t7094 = call i32 @lp_str_eq(ptr %t7093, ptr @.str8047) %t7095 = icmp ne i32 %t7094, 0 br i1 %t7095, label %then1427, label %ifend1429 then1427: store ptr @.str8048, ptr %t420 %t7096 = load ptr, ptr %t427 %t7097 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 1 %t7098 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 2 %t7099 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 0 %t7100 = load i32, ptr %t7097 %t7101 = load i32, ptr %t7098 %t7102 = icmp sge i32 %t7100, %t7101 br i1 %t7102, label %grow1430, label %put1431 grow1430: %t7103 = mul i32 %t7101, 2 %t7104 = icmp eq i32 %t7101, 0 %t7105 = select i1 %t7104, i32 8, i32 %t7103 %t7106 = getelementptr ptr, ptr null, i32 1 %t7107 = ptrtoint ptr %t7106 to i64 %t7108 = zext i32 %t7105 to i64 %t7109 = mul i64 %t7108, %t7107 %t7110 = load ptr, ptr %t7099 %t7111 = call ptr @realloc(ptr %t7110, i64 %t7109) store ptr %t7111, ptr %t7099 store i32 %t7105, ptr %t7098 br label %put1431 put1431: %t7112 = load ptr, ptr %t7099 %t7113 = getelementptr inbounds ptr, ptr %t7112, i32 %t7100 store ptr @.str8049, ptr %t7113 %t7114 = add i32 %t7100, 1 store i32 %t7114, ptr %t7097 br label %ifend1429 ifend1429: %t7115 = load ptr, ptr %t1 %t7116 = call i32 @lp_str_eq(ptr %t7115, ptr @.str8050) %t7117 = icmp ne i32 %t7116, 0 br i1 %t7117, label %then1432, label %ifend1434 then1432: store ptr @.str8051, ptr %t420 %t7118 = load ptr, ptr %t427 %t7119 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 1 %t7120 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 2 %t7121 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 0 %t7122 = load i32, ptr %t7119 %t7123 = load i32, ptr %t7120 %t7124 = icmp sge i32 %t7122, %t7123 br i1 %t7124, label %grow1435, label %put1436 grow1435: %t7125 = mul i32 %t7123, 2 %t7126 = icmp eq i32 %t7123, 0 %t7127 = select i1 %t7126, i32 8, i32 %t7125 %t7128 = getelementptr ptr, ptr null, i32 1 %t7129 = ptrtoint ptr %t7128 to i64 %t7130 = zext i32 %t7127 to i64 %t7131 = mul i64 %t7130, %t7129 %t7132 = load ptr, ptr %t7121 %t7133 = call ptr @realloc(ptr %t7132, i64 %t7131) store ptr %t7133, ptr %t7121 store i32 %t7127, ptr %t7120 br label %put1436 put1436: %t7134 = load ptr, ptr %t7121 %t7135 = getelementptr inbounds ptr, ptr %t7134, i32 %t7122 store ptr @.str8052, ptr %t7135 %t7136 = add i32 %t7122, 1 store i32 %t7136, ptr %t7119 br label %ifend1434 ifend1434: br label %ifend1371 ifend1371: %t7137 = load ptr, ptr %t0 %t7138 = call i32 @lp_str_eq(ptr %t7137, ptr @.str8053) %t7139 = icmp ne i32 %t7138, 0 br i1 %t7139, label %then1437, label %ifend1439 then1437: %t7140 = load ptr, ptr %t1 %t7141 = call i32 @lp_str_eq(ptr %t7140, ptr @.str8054) %t7142 = icmp ne i32 %t7141, 0 br i1 %t7142, label %then1440, label %ifend1442 then1440: store ptr @.str8055, ptr %t420 %t7143 = load ptr, ptr %t427 %t7144 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 1 %t7145 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 2 %t7146 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 0 %t7147 = load i32, ptr %t7144 %t7148 = load i32, ptr %t7145 %t7149 = icmp sge i32 %t7147, %t7148 br i1 %t7149, label %grow1443, label %put1444 grow1443: %t7150 = mul i32 %t7148, 2 %t7151 = icmp eq i32 %t7148, 0 %t7152 = select i1 %t7151, i32 8, i32 %t7150 %t7153 = getelementptr ptr, ptr null, i32 1 %t7154 = ptrtoint ptr %t7153 to i64 %t7155 = zext i32 %t7152 to i64 %t7156 = mul i64 %t7155, %t7154 %t7157 = load ptr, ptr %t7146 %t7158 = call ptr @realloc(ptr %t7157, i64 %t7156) store ptr %t7158, ptr %t7146 store i32 %t7152, ptr %t7145 br label %put1444 put1444: %t7159 = load ptr, ptr %t7146 %t7160 = getelementptr inbounds ptr, ptr %t7159, i32 %t7147 store ptr @.str8056, ptr %t7160 %t7161 = add i32 %t7147, 1 store i32 %t7161, ptr %t7144 %t7162 = load ptr, ptr %t427 %t7163 = getelementptr inbounds %LSlice, ptr %t7162, i32 0, i32 1 %t7164 = getelementptr inbounds %LSlice, ptr %t7162, i32 0, i32 2 %t7165 = getelementptr inbounds %LSlice, ptr %t7162, i32 0, i32 0 %t7166 = load i32, ptr %t7163 %t7167 = load i32, ptr %t7164 %t7168 = icmp sge i32 %t7166, %t7167 br i1 %t7168, label %grow1445, label %put1446 grow1445: %t7169 = mul i32 %t7167, 2 %t7170 = icmp eq i32 %t7167, 0 %t7171 = select i1 %t7170, i32 8, i32 %t7169 %t7172 = getelementptr ptr, ptr null, i32 1 %t7173 = ptrtoint ptr %t7172 to i64 %t7174 = zext i32 %t7171 to i64 %t7175 = mul i64 %t7174, %t7173 %t7176 = load ptr, ptr %t7165 %t7177 = call ptr @realloc(ptr %t7176, i64 %t7175) store ptr %t7177, ptr %t7165 store i32 %t7171, ptr %t7164 br label %put1446 put1446: %t7178 = load ptr, ptr %t7165 %t7179 = getelementptr inbounds ptr, ptr %t7178, i32 %t7166 store ptr @.str8057, ptr %t7179 %t7180 = add i32 %t7166, 1 store i32 %t7180, ptr %t7163 br label %ifend1442 ifend1442: %t7181 = load ptr, ptr %t1 %t7182 = call i32 @lp_str_eq(ptr %t7181, ptr @.str8058) %t7183 = icmp ne i32 %t7182, 0 br i1 %t7183, label %then1447, label %ifend1449 then1447: store ptr @.str8059, ptr %t420 %t7184 = load ptr, ptr %t427 %t7185 = getelementptr inbounds %LSlice, ptr %t7184, i32 0, i32 1 %t7186 = getelementptr inbounds %LSlice, ptr %t7184, i32 0, i32 2 %t7187 = getelementptr inbounds %LSlice, ptr %t7184, i32 0, i32 0 %t7188 = load i32, ptr %t7185 %t7189 = load i32, ptr %t7186 %t7190 = icmp sge i32 %t7188, %t7189 br i1 %t7190, label %grow1450, label %put1451 grow1450: %t7191 = mul i32 %t7189, 2 %t7192 = icmp eq i32 %t7189, 0 %t7193 = select i1 %t7192, i32 8, i32 %t7191 %t7194 = getelementptr ptr, ptr null, i32 1 %t7195 = ptrtoint ptr %t7194 to i64 %t7196 = zext i32 %t7193 to i64 %t7197 = mul i64 %t7196, %t7195 %t7198 = load ptr, ptr %t7187 %t7199 = call ptr @realloc(ptr %t7198, i64 %t7197) store ptr %t7199, ptr %t7187 store i32 %t7193, ptr %t7186 br label %put1451 put1451: %t7200 = load ptr, ptr %t7187 %t7201 = getelementptr inbounds ptr, ptr %t7200, i32 %t7188 store ptr @.str8060, ptr %t7201 %t7202 = add i32 %t7188, 1 store i32 %t7202, ptr %t7185 br label %ifend1449 ifend1449: %t7203 = load ptr, ptr %t1 %t7204 = call i32 @lp_str_eq(ptr %t7203, ptr @.str8061) %t7205 = icmp ne i32 %t7204, 0 br i1 %t7205, label %then1452, label %ifend1454 then1452: store ptr @.str8062, ptr %t420 %t7206 = load ptr, ptr %t427 %t7207 = getelementptr inbounds %LSlice, ptr %t7206, i32 0, i32 1 %t7208 = getelementptr inbounds %LSlice, ptr %t7206, i32 0, i32 2 %t7209 = getelementptr inbounds %LSlice, ptr %t7206, i32 0, i32 0 %t7210 = load i32, ptr %t7207 %t7211 = load i32, ptr %t7208 %t7212 = icmp sge i32 %t7210, %t7211 br i1 %t7212, label %grow1455, label %put1456 grow1455: %t7213 = mul i32 %t7211, 2 %t7214 = icmp eq i32 %t7211, 0 %t7215 = select i1 %t7214, i32 8, i32 %t7213 %t7216 = getelementptr ptr, ptr null, i32 1 %t7217 = ptrtoint ptr %t7216 to i64 %t7218 = zext i32 %t7215 to i64 %t7219 = mul i64 %t7218, %t7217 %t7220 = load ptr, ptr %t7209 %t7221 = call ptr @realloc(ptr %t7220, i64 %t7219) store ptr %t7221, ptr %t7209 store i32 %t7215, ptr %t7208 br label %put1456 put1456: %t7222 = load ptr, ptr %t7209 %t7223 = getelementptr inbounds ptr, ptr %t7222, i32 %t7210 store ptr @.str8063, ptr %t7223 %t7224 = add i32 %t7210, 1 store i32 %t7224, ptr %t7207 br label %ifend1454 ifend1454: %t7225 = load ptr, ptr %t1 %t7226 = call i32 @lp_str_eq(ptr %t7225, ptr @.str8064) %t7227 = icmp ne i32 %t7226, 0 br i1 %t7227, label %then1457, label %ifend1459 then1457: store ptr @.str8065, ptr %t420 %t7228 = load ptr, ptr %t427 %t7229 = getelementptr inbounds %LSlice, ptr %t7228, i32 0, i32 1 %t7230 = getelementptr inbounds %LSlice, ptr %t7228, i32 0, i32 2 %t7231 = getelementptr inbounds %LSlice, ptr %t7228, i32 0, i32 0 %t7232 = load i32, ptr %t7229 %t7233 = load i32, ptr %t7230 %t7234 = icmp sge i32 %t7232, %t7233 br i1 %t7234, label %grow1460, label %put1461 grow1460: %t7235 = mul i32 %t7233, 2 %t7236 = icmp eq i32 %t7233, 0 %t7237 = select i1 %t7236, i32 8, i32 %t7235 %t7238 = getelementptr ptr, ptr null, i32 1 %t7239 = ptrtoint ptr %t7238 to i64 %t7240 = zext i32 %t7237 to i64 %t7241 = mul i64 %t7240, %t7239 %t7242 = load ptr, ptr %t7231 %t7243 = call ptr @realloc(ptr %t7242, i64 %t7241) store ptr %t7243, ptr %t7231 store i32 %t7237, ptr %t7230 br label %put1461 put1461: %t7244 = load ptr, ptr %t7231 %t7245 = getelementptr inbounds ptr, ptr %t7244, i32 %t7232 store ptr @.str8066, ptr %t7245 %t7246 = add i32 %t7232, 1 store i32 %t7246, ptr %t7229 br label %ifend1459 ifend1459: br label %ifend1439 ifend1439: %t7247 = load ptr, ptr %t0 %t7248 = call i32 @lp_str_eq(ptr %t7247, ptr @.str8067) %t7249 = icmp ne i32 %t7248, 0 br i1 %t7249, label %then1462, label %ifend1464 then1462: %t7250 = load ptr, ptr %t1 %t7251 = call i32 @lp_str_eq(ptr %t7250, ptr @.str8068) %t7252 = icmp ne i32 %t7251, 0 br i1 %t7252, label %then1465, label %ifend1467 then1465: store ptr @.str8069, ptr %t420 br label %ifend1467 ifend1467: %t7253 = load ptr, ptr %t1 %t7254 = call i32 @lp_str_eq(ptr %t7253, ptr @.str8070) %t7255 = icmp ne i32 %t7254, 0 br i1 %t7255, label %then1468, label %ifend1470 then1468: store ptr @.str8071, ptr %t420 br label %ifend1470 ifend1470: %t7256 = load ptr, ptr %t1 %t7257 = call i32 @lp_str_eq(ptr %t7256, ptr @.str8072) %t7258 = icmp ne i32 %t7257, 0 br i1 %t7258, label %then1471, label %ifend1473 then1471: store ptr @.str8073, ptr %t420 br label %ifend1473 ifend1473: %t7259 = load ptr, ptr %t1 %t7260 = call i32 @lp_str_eq(ptr %t7259, ptr @.str8074) %t7261 = icmp ne i32 %t7260, 0 br i1 %t7261, label %then1474, label %ifend1476 then1474: store ptr @.str8075, ptr %t420 br label %ifend1476 ifend1476: %t7262 = load ptr, ptr %t1 %t7263 = call i32 @lp_str_eq(ptr %t7262, ptr @.str8076) %t7264 = icmp ne i32 %t7263, 0 br i1 %t7264, label %then1477, label %ifend1479 then1477: store ptr @.str8077, ptr %t420 br label %ifend1479 ifend1479: %t7265 = load ptr, ptr %t1 %t7266 = call i32 @lp_str_eq(ptr %t7265, ptr @.str8078) %t7267 = icmp ne i32 %t7266, 0 br i1 %t7267, label %then1480, label %ifend1482 then1480: store ptr @.str8079, ptr %t420 br label %ifend1482 ifend1482: %t7268 = load ptr, ptr %t1 %t7269 = call i32 @lp_str_eq(ptr %t7268, ptr @.str8080) %t7270 = icmp ne i32 %t7269, 0 br i1 %t7270, label %then1483, label %ifend1485 then1483: store ptr @.str8081, ptr %t420 br label %ifend1485 ifend1485: %t7271 = load ptr, ptr %t1 %t7272 = call i32 @lp_str_eq(ptr %t7271, ptr @.str8082) %t7273 = icmp ne i32 %t7272, 0 br i1 %t7273, label %then1486, label %ifend1488 then1486: store ptr @.str8083, ptr %t420 br label %ifend1488 ifend1488: %t7274 = load ptr, ptr %t1 %t7275 = call i32 @lp_str_eq(ptr %t7274, ptr @.str8084) %t7276 = icmp ne i32 %t7275, 0 br i1 %t7276, label %then1489, label %ifend1491 then1489: store ptr @.str8085, ptr %t420 br label %ifend1491 ifend1491: %t7277 = load ptr, ptr %t1 %t7278 = call i32 @lp_str_eq(ptr %t7277, ptr @.str8086) %t7279 = icmp ne i32 %t7278, 0 br i1 %t7279, label %then1492, label %ifend1494 then1492: store ptr @.str8087, ptr %t420 br label %ifend1494 ifend1494: %t7280 = load ptr, ptr %t1 %t7281 = call i32 @lp_str_eq(ptr %t7280, ptr @.str8088) %t7282 = icmp ne i32 %t7281, 0 br i1 %t7282, label %then1495, label %ifend1497 then1495: store ptr @.str8089, ptr %t420 br label %ifend1497 ifend1497: %t7283 = load ptr, ptr %t1 %t7284 = call i32 @lp_str_eq(ptr %t7283, ptr @.str8090) %t7285 = icmp ne i32 %t7284, 0 br i1 %t7285, label %then1498, label %ifend1500 then1498: store ptr @.str8091, ptr %t420 br label %ifend1500 ifend1500: %t7286 = load ptr, ptr %t1 %t7287 = call i32 @lp_str_eq(ptr %t7286, ptr @.str8092) %t7288 = icmp ne i32 %t7287, 0 br i1 %t7288, label %then1501, label %ifend1503 then1501: store ptr @.str8093, ptr %t420 br label %ifend1503 ifend1503: %t7289 = load ptr, ptr %t1 %t7290 = call i32 @lp_str_eq(ptr %t7289, ptr @.str8094) %t7291 = icmp ne i32 %t7290, 0 br i1 %t7291, label %then1504, label %ifend1506 then1504: store ptr @.str8095, ptr %t420 br label %ifend1506 ifend1506: %t7292 = load ptr, ptr %t1 %t7293 = call i32 @lp_str_eq(ptr %t7292, ptr @.str8096) %t7294 = icmp ne i32 %t7293, 0 br i1 %t7294, label %then1507, label %ifend1509 then1507: store ptr @.str8097, ptr %t420 br label %ifend1509 ifend1509: %t7295 = load ptr, ptr %t1 %t7296 = call i32 @lp_str_eq(ptr %t7295, ptr @.str8098) %t7297 = icmp ne i32 %t7296, 0 br i1 %t7297, label %then1510, label %ifend1512 then1510: store ptr @.str8099, ptr %t420 br label %ifend1512 ifend1512: %t7298 = load ptr, ptr %t1 %t7299 = call i32 @lp_str_eq(ptr %t7298, ptr @.str8100) %t7300 = icmp ne i32 %t7299, 0 br i1 %t7300, label %then1513, label %ifend1515 then1513: store ptr @.str8101, ptr %t420 br label %ifend1515 ifend1515: br label %ifend1464 ifend1464: %t7301 = load ptr, ptr %t0 %t7302 = call i32 @lp_str_eq(ptr %t7301, ptr @.str8102) %t7303 = icmp ne i32 %t7302, 0 br i1 %t7303, label %then1516, label %ifend1518 then1516: %t7304 = load ptr, ptr %t1 %t7305 = call i32 @lp_str_eq(ptr %t7304, ptr @.str8103) %t7306 = icmp ne i32 %t7305, 0 br i1 %t7306, label %then1519, label %ifend1521 then1519: store ptr @.str8104, ptr %t420 br label %ifend1521 ifend1521: %t7307 = load ptr, ptr %t1 %t7308 = call i32 @lp_str_eq(ptr %t7307, ptr @.str8105) %t7309 = icmp ne i32 %t7308, 0 br i1 %t7309, label %then1522, label %ifend1524 then1522: store ptr @.str8106, ptr %t420 br label %ifend1524 ifend1524: %t7310 = load ptr, ptr %t1 %t7311 = call i32 @lp_str_eq(ptr %t7310, ptr @.str8107) %t7312 = icmp ne i32 %t7311, 0 br i1 %t7312, label %then1525, label %ifend1527 then1525: store ptr @.str8108, ptr %t420 br label %ifend1527 ifend1527: %t7313 = load ptr, ptr %t1 %t7314 = call i32 @lp_str_eq(ptr %t7313, ptr @.str8109) %t7315 = icmp ne i32 %t7314, 0 br i1 %t7315, label %then1528, label %ifend1530 then1528: store ptr @.str8110, ptr %t420 br label %ifend1530 ifend1530: %t7316 = load ptr, ptr %t1 %t7317 = call i32 @lp_str_eq(ptr %t7316, ptr @.str8111) %t7318 = icmp ne i32 %t7317, 0 br i1 %t7318, label %then1531, label %ifend1533 then1531: store ptr @.str8112, ptr %t420 br label %ifend1533 ifend1533: %t7319 = load ptr, ptr %t1 %t7320 = call i32 @lp_str_eq(ptr %t7319, ptr @.str8113) %t7321 = icmp ne i32 %t7320, 0 br i1 %t7321, label %then1534, label %ifend1536 then1534: store ptr @.str8114, ptr %t420 br label %ifend1536 ifend1536: %t7322 = load ptr, ptr %t1 %t7323 = call i32 @lp_str_eq(ptr %t7322, ptr @.str8115) %t7324 = icmp ne i32 %t7323, 0 br i1 %t7324, label %then1537, label %ifend1539 then1537: store ptr @.str8116, ptr %t420 br label %ifend1539 ifend1539: %t7325 = load ptr, ptr %t1 %t7326 = call i32 @lp_str_eq(ptr %t7325, ptr @.str8117) %t7327 = icmp ne i32 %t7326, 0 br i1 %t7327, label %then1540, label %ifend1542 then1540: store ptr @.str8118, ptr %t420 br label %ifend1542 ifend1542: %t7328 = load ptr, ptr %t1 %t7329 = call i32 @lp_str_eq(ptr %t7328, ptr @.str8119) %t7330 = icmp ne i32 %t7329, 0 br i1 %t7330, label %then1543, label %ifend1545 then1543: store ptr @.str8120, ptr %t420 br label %ifend1545 ifend1545: br label %ifend1518 ifend1518: %t7331 = load ptr, ptr %t0 %t7332 = call i32 @lp_str_eq(ptr %t7331, ptr @.str8121) %t7333 = icmp ne i32 %t7332, 0 br i1 %t7333, label %then1546, label %ifend1548 then1546: %t7334 = load ptr, ptr %t1 %t7335 = call i32 @lp_str_eq(ptr %t7334, ptr @.str8122) %t7336 = icmp ne i32 %t7335, 0 br i1 %t7336, label %then1549, label %ifend1551 then1549: store ptr @.str8123, ptr %t420 br label %ifend1551 ifend1551: %t7337 = load ptr, ptr %t1 %t7338 = call i32 @lp_str_eq(ptr %t7337, ptr @.str8124) %t7339 = icmp ne i32 %t7338, 0 br i1 %t7339, label %then1552, label %ifend1554 then1552: store ptr @.str8125, ptr %t420 br label %ifend1554 ifend1554: %t7340 = load ptr, ptr %t1 %t7341 = call i32 @lp_str_eq(ptr %t7340, ptr @.str8126) %t7342 = icmp ne i32 %t7341, 0 br i1 %t7342, label %then1555, label %ifend1557 then1555: store ptr @.str8127, ptr %t420 br label %ifend1557 ifend1557: %t7343 = load ptr, ptr %t1 %t7344 = call i32 @lp_str_eq(ptr %t7343, ptr @.str8128) %t7345 = icmp ne i32 %t7344, 0 br i1 %t7345, label %then1558, label %ifend1560 then1558: store ptr @.str8129, ptr %t420 br label %ifend1560 ifend1560: %t7346 = load ptr, ptr %t1 %t7347 = call i32 @lp_str_eq(ptr %t7346, ptr @.str8130) %t7348 = icmp ne i32 %t7347, 0 br i1 %t7348, label %then1561, label %ifend1563 then1561: store ptr @.str8131, ptr %t420 br label %ifend1563 ifend1563: %t7349 = load ptr, ptr %t1 %t7350 = call i32 @lp_str_eq(ptr %t7349, ptr @.str8132) %t7351 = icmp ne i32 %t7350, 0 br i1 %t7351, label %then1564, label %ifend1566 then1564: store ptr @.str8133, ptr %t420 br label %ifend1566 ifend1566: %t7352 = load ptr, ptr %t1 %t7353 = call i32 @lp_str_eq(ptr %t7352, ptr @.str8134) %t7354 = icmp ne i32 %t7353, 0 br i1 %t7354, label %then1567, label %ifend1569 then1567: store ptr @.str8135, ptr %t420 br label %ifend1569 ifend1569: %t7355 = load ptr, ptr %t1 %t7356 = call i32 @lp_str_eq(ptr %t7355, ptr @.str8136) %t7357 = icmp ne i32 %t7356, 0 br i1 %t7357, label %then1570, label %ifend1572 then1570: store ptr @.str8137, ptr %t420 br label %ifend1572 ifend1572: br label %ifend1548 ifend1548: %t7358 = load ptr, ptr %t0 %t7359 = call i32 @lp_str_eq(ptr %t7358, ptr @.str8138) %t7360 = icmp ne i32 %t7359, 0 br i1 %t7360, label %then1573, label %ifend1575 then1573: %t7361 = load ptr, ptr %t1 %t7362 = call i32 @lp_str_eq(ptr %t7361, ptr @.str8139) %t7363 = icmp ne i32 %t7362, 0 br i1 %t7363, label %then1576, label %ifend1578 then1576: store ptr @.str8140, ptr %t420 br label %ifend1578 ifend1578: %t7364 = load ptr, ptr %t1 %t7365 = call i32 @lp_str_eq(ptr %t7364, ptr @.str8141) %t7366 = icmp ne i32 %t7365, 0 br i1 %t7366, label %then1579, label %ifend1581 then1579: store ptr @.str8142, ptr %t420 br label %ifend1581 ifend1581: br label %ifend1575 ifend1575: %t7367 = load ptr, ptr %t0 %t7368 = call i32 @lp_str_eq(ptr %t7367, ptr @.str8143) %t7369 = icmp ne i32 %t7368, 0 br i1 %t7369, label %then1582, label %ifend1584 then1582: %t7370 = load ptr, ptr %t1 %t7371 = call i32 @lp_str_eq(ptr %t7370, ptr @.str8144) %t7372 = icmp ne i32 %t7371, 0 br i1 %t7372, label %then1585, label %ifend1587 then1585: store ptr @.str8145, ptr %t420 %t7373 = load ptr, ptr %t427 %t7374 = getelementptr inbounds %LSlice, ptr %t7373, i32 0, i32 1 %t7375 = getelementptr inbounds %LSlice, ptr %t7373, i32 0, i32 2 %t7376 = getelementptr inbounds %LSlice, ptr %t7373, i32 0, i32 0 %t7377 = load i32, ptr %t7374 %t7378 = load i32, ptr %t7375 %t7379 = icmp sge i32 %t7377, %t7378 br i1 %t7379, label %grow1588, label %put1589 grow1588: %t7380 = mul i32 %t7378, 2 %t7381 = icmp eq i32 %t7378, 0 %t7382 = select i1 %t7381, i32 8, i32 %t7380 %t7383 = getelementptr ptr, ptr null, i32 1 %t7384 = ptrtoint ptr %t7383 to i64 %t7385 = zext i32 %t7382 to i64 %t7386 = mul i64 %t7385, %t7384 %t7387 = load ptr, ptr %t7376 %t7388 = call ptr @realloc(ptr %t7387, i64 %t7386) store ptr %t7388, ptr %t7376 store i32 %t7382, ptr %t7375 br label %put1589 put1589: %t7389 = load ptr, ptr %t7376 %t7390 = getelementptr inbounds ptr, ptr %t7389, i32 %t7377 store ptr @.str8146, ptr %t7390 %t7391 = add i32 %t7377, 1 store i32 %t7391, ptr %t7374 br label %ifend1587 ifend1587: %t7392 = load ptr, ptr %t1 %t7393 = call i32 @lp_str_eq(ptr %t7392, ptr @.str8147) %t7394 = icmp ne i32 %t7393, 0 br i1 %t7394, label %then1590, label %ifend1592 then1590: store ptr @.str8148, ptr %t420 %t7395 = load ptr, ptr %t427 %t7396 = getelementptr inbounds %LSlice, ptr %t7395, i32 0, i32 1 %t7397 = getelementptr inbounds %LSlice, ptr %t7395, i32 0, i32 2 %t7398 = getelementptr inbounds %LSlice, ptr %t7395, i32 0, i32 0 %t7399 = load i32, ptr %t7396 %t7400 = load i32, ptr %t7397 %t7401 = icmp sge i32 %t7399, %t7400 br i1 %t7401, label %grow1593, label %put1594 grow1593: %t7402 = mul i32 %t7400, 2 %t7403 = icmp eq i32 %t7400, 0 %t7404 = select i1 %t7403, i32 8, i32 %t7402 %t7405 = getelementptr ptr, ptr null, i32 1 %t7406 = ptrtoint ptr %t7405 to i64 %t7407 = zext i32 %t7404 to i64 %t7408 = mul i64 %t7407, %t7406 %t7409 = load ptr, ptr %t7398 %t7410 = call ptr @realloc(ptr %t7409, i64 %t7408) store ptr %t7410, ptr %t7398 store i32 %t7404, ptr %t7397 br label %put1594 put1594: %t7411 = load ptr, ptr %t7398 %t7412 = getelementptr inbounds ptr, ptr %t7411, i32 %t7399 store ptr @.str8149, ptr %t7412 %t7413 = add i32 %t7399, 1 store i32 %t7413, ptr %t7396 br label %ifend1592 ifend1592: %t7414 = load ptr, ptr %t1 %t7415 = call i32 @lp_str_eq(ptr %t7414, ptr @.str8150) %t7416 = icmp ne i32 %t7415, 0 br i1 %t7416, label %then1595, label %ifend1597 then1595: store ptr @.str8151, ptr %t420 %t7417 = load ptr, ptr %t427 %t7418 = getelementptr inbounds %LSlice, ptr %t7417, i32 0, i32 1 %t7419 = getelementptr inbounds %LSlice, ptr %t7417, i32 0, i32 2 %t7420 = getelementptr inbounds %LSlice, ptr %t7417, i32 0, i32 0 %t7421 = load i32, ptr %t7418 %t7422 = load i32, ptr %t7419 %t7423 = icmp sge i32 %t7421, %t7422 br i1 %t7423, label %grow1598, label %put1599 grow1598: %t7424 = mul i32 %t7422, 2 %t7425 = icmp eq i32 %t7422, 0 %t7426 = select i1 %t7425, i32 8, i32 %t7424 %t7427 = getelementptr ptr, ptr null, i32 1 %t7428 = ptrtoint ptr %t7427 to i64 %t7429 = zext i32 %t7426 to i64 %t7430 = mul i64 %t7429, %t7428 %t7431 = load ptr, ptr %t7420 %t7432 = call ptr @realloc(ptr %t7431, i64 %t7430) store ptr %t7432, ptr %t7420 store i32 %t7426, ptr %t7419 br label %put1599 put1599: %t7433 = load ptr, ptr %t7420 %t7434 = getelementptr inbounds ptr, ptr %t7433, i32 %t7421 store ptr @.str8152, ptr %t7434 %t7435 = add i32 %t7421, 1 store i32 %t7435, ptr %t7418 %t7436 = load ptr, ptr %t427 %t7437 = getelementptr inbounds %LSlice, ptr %t7436, i32 0, i32 1 %t7438 = getelementptr inbounds %LSlice, ptr %t7436, i32 0, i32 2 %t7439 = getelementptr inbounds %LSlice, ptr %t7436, i32 0, i32 0 %t7440 = load i32, ptr %t7437 %t7441 = load i32, ptr %t7438 %t7442 = icmp sge i32 %t7440, %t7441 br i1 %t7442, label %grow1600, label %put1601 grow1600: %t7443 = mul i32 %t7441, 2 %t7444 = icmp eq i32 %t7441, 0 %t7445 = select i1 %t7444, i32 8, i32 %t7443 %t7446 = getelementptr ptr, ptr null, i32 1 %t7447 = ptrtoint ptr %t7446 to i64 %t7448 = zext i32 %t7445 to i64 %t7449 = mul i64 %t7448, %t7447 %t7450 = load ptr, ptr %t7439 %t7451 = call ptr @realloc(ptr %t7450, i64 %t7449) store ptr %t7451, ptr %t7439 store i32 %t7445, ptr %t7438 br label %put1601 put1601: %t7452 = load ptr, ptr %t7439 %t7453 = getelementptr inbounds ptr, ptr %t7452, i32 %t7440 store ptr @.str8153, ptr %t7453 %t7454 = add i32 %t7440, 1 store i32 %t7454, ptr %t7437 br label %ifend1597 ifend1597: %t7455 = load ptr, ptr %t1 %t7456 = call i32 @lp_str_eq(ptr %t7455, ptr @.str8154) %t7457 = icmp ne i32 %t7456, 0 br i1 %t7457, label %then1602, label %ifend1604 then1602: store ptr @.str8155, ptr %t420 %t7458 = load ptr, ptr %t427 %t7459 = getelementptr inbounds %LSlice, ptr %t7458, i32 0, i32 1 %t7460 = getelementptr inbounds %LSlice, ptr %t7458, i32 0, i32 2 %t7461 = getelementptr inbounds %LSlice, ptr %t7458, i32 0, i32 0 %t7462 = load i32, ptr %t7459 %t7463 = load i32, ptr %t7460 %t7464 = icmp sge i32 %t7462, %t7463 br i1 %t7464, label %grow1605, label %put1606 grow1605: %t7465 = mul i32 %t7463, 2 %t7466 = icmp eq i32 %t7463, 0 %t7467 = select i1 %t7466, i32 8, i32 %t7465 %t7468 = getelementptr ptr, ptr null, i32 1 %t7469 = ptrtoint ptr %t7468 to i64 %t7470 = zext i32 %t7467 to i64 %t7471 = mul i64 %t7470, %t7469 %t7472 = load ptr, ptr %t7461 %t7473 = call ptr @realloc(ptr %t7472, i64 %t7471) store ptr %t7473, ptr %t7461 store i32 %t7467, ptr %t7460 br label %put1606 put1606: %t7474 = load ptr, ptr %t7461 %t7475 = getelementptr inbounds ptr, ptr %t7474, i32 %t7462 store ptr @.str8156, ptr %t7475 %t7476 = add i32 %t7462, 1 store i32 %t7476, ptr %t7459 %t7477 = load ptr, ptr %t427 %t7478 = getelementptr inbounds %LSlice, ptr %t7477, i32 0, i32 1 %t7479 = getelementptr inbounds %LSlice, ptr %t7477, i32 0, i32 2 %t7480 = getelementptr inbounds %LSlice, ptr %t7477, i32 0, i32 0 %t7481 = load i32, ptr %t7478 %t7482 = load i32, ptr %t7479 %t7483 = icmp sge i32 %t7481, %t7482 br i1 %t7483, label %grow1607, label %put1608 grow1607: %t7484 = mul i32 %t7482, 2 %t7485 = icmp eq i32 %t7482, 0 %t7486 = select i1 %t7485, i32 8, i32 %t7484 %t7487 = getelementptr ptr, ptr null, i32 1 %t7488 = ptrtoint ptr %t7487 to i64 %t7489 = zext i32 %t7486 to i64 %t7490 = mul i64 %t7489, %t7488 %t7491 = load ptr, ptr %t7480 %t7492 = call ptr @realloc(ptr %t7491, i64 %t7490) store ptr %t7492, ptr %t7480 store i32 %t7486, ptr %t7479 br label %put1608 put1608: %t7493 = load ptr, ptr %t7480 %t7494 = getelementptr inbounds ptr, ptr %t7493, i32 %t7481 store ptr @.str8157, ptr %t7494 %t7495 = add i32 %t7481, 1 store i32 %t7495, ptr %t7478 br label %ifend1604 ifend1604: %t7496 = load ptr, ptr %t1 %t7497 = call i32 @lp_str_eq(ptr %t7496, ptr @.str8158) %t7498 = icmp ne i32 %t7497, 0 br i1 %t7498, label %then1609, label %ifend1611 then1609: store ptr @.str8159, ptr %t420 %t7499 = load ptr, ptr %t427 %t7500 = getelementptr inbounds %LSlice, ptr %t7499, i32 0, i32 1 %t7501 = getelementptr inbounds %LSlice, ptr %t7499, i32 0, i32 2 %t7502 = getelementptr inbounds %LSlice, ptr %t7499, i32 0, i32 0 %t7503 = load i32, ptr %t7500 %t7504 = load i32, ptr %t7501 %t7505 = icmp sge i32 %t7503, %t7504 br i1 %t7505, label %grow1612, label %put1613 grow1612: %t7506 = mul i32 %t7504, 2 %t7507 = icmp eq i32 %t7504, 0 %t7508 = select i1 %t7507, i32 8, i32 %t7506 %t7509 = getelementptr ptr, ptr null, i32 1 %t7510 = ptrtoint ptr %t7509 to i64 %t7511 = zext i32 %t7508 to i64 %t7512 = mul i64 %t7511, %t7510 %t7513 = load ptr, ptr %t7502 %t7514 = call ptr @realloc(ptr %t7513, i64 %t7512) store ptr %t7514, ptr %t7502 store i32 %t7508, ptr %t7501 br label %put1613 put1613: %t7515 = load ptr, ptr %t7502 %t7516 = getelementptr inbounds ptr, ptr %t7515, i32 %t7503 store ptr @.str8160, ptr %t7516 %t7517 = add i32 %t7503, 1 store i32 %t7517, ptr %t7500 %t7518 = load ptr, ptr %t427 %t7519 = getelementptr inbounds %LSlice, ptr %t7518, i32 0, i32 1 %t7520 = getelementptr inbounds %LSlice, ptr %t7518, i32 0, i32 2 %t7521 = getelementptr inbounds %LSlice, ptr %t7518, i32 0, i32 0 %t7522 = load i32, ptr %t7519 %t7523 = load i32, ptr %t7520 %t7524 = icmp sge i32 %t7522, %t7523 br i1 %t7524, label %grow1614, label %put1615 grow1614: %t7525 = mul i32 %t7523, 2 %t7526 = icmp eq i32 %t7523, 0 %t7527 = select i1 %t7526, i32 8, i32 %t7525 %t7528 = getelementptr ptr, ptr null, i32 1 %t7529 = ptrtoint ptr %t7528 to i64 %t7530 = zext i32 %t7527 to i64 %t7531 = mul i64 %t7530, %t7529 %t7532 = load ptr, ptr %t7521 %t7533 = call ptr @realloc(ptr %t7532, i64 %t7531) store ptr %t7533, ptr %t7521 store i32 %t7527, ptr %t7520 br label %put1615 put1615: %t7534 = load ptr, ptr %t7521 %t7535 = getelementptr inbounds ptr, ptr %t7534, i32 %t7522 store ptr @.str8161, ptr %t7535 %t7536 = add i32 %t7522, 1 store i32 %t7536, ptr %t7519 br label %ifend1611 ifend1611: %t7537 = load ptr, ptr %t1 %t7538 = call i32 @lp_str_eq(ptr %t7537, ptr @.str8162) %t7539 = icmp ne i32 %t7538, 0 br i1 %t7539, label %then1616, label %ifend1618 then1616: store ptr @.str8163, ptr %t420 %t7540 = load ptr, ptr %t427 %t7541 = getelementptr inbounds %LSlice, ptr %t7540, i32 0, i32 1 %t7542 = getelementptr inbounds %LSlice, ptr %t7540, i32 0, i32 2 %t7543 = getelementptr inbounds %LSlice, ptr %t7540, i32 0, i32 0 %t7544 = load i32, ptr %t7541 %t7545 = load i32, ptr %t7542 %t7546 = icmp sge i32 %t7544, %t7545 br i1 %t7546, label %grow1619, label %put1620 grow1619: %t7547 = mul i32 %t7545, 2 %t7548 = icmp eq i32 %t7545, 0 %t7549 = select i1 %t7548, i32 8, i32 %t7547 %t7550 = getelementptr ptr, ptr null, i32 1 %t7551 = ptrtoint ptr %t7550 to i64 %t7552 = zext i32 %t7549 to i64 %t7553 = mul i64 %t7552, %t7551 %t7554 = load ptr, ptr %t7543 %t7555 = call ptr @realloc(ptr %t7554, i64 %t7553) store ptr %t7555, ptr %t7543 store i32 %t7549, ptr %t7542 br label %put1620 put1620: %t7556 = load ptr, ptr %t7543 %t7557 = getelementptr inbounds ptr, ptr %t7556, i32 %t7544 store ptr @.str8164, ptr %t7557 %t7558 = add i32 %t7544, 1 store i32 %t7558, ptr %t7541 %t7559 = load ptr, ptr %t427 %t7560 = getelementptr inbounds %LSlice, ptr %t7559, i32 0, i32 1 %t7561 = getelementptr inbounds %LSlice, ptr %t7559, i32 0, i32 2 %t7562 = getelementptr inbounds %LSlice, ptr %t7559, i32 0, i32 0 %t7563 = load i32, ptr %t7560 %t7564 = load i32, ptr %t7561 %t7565 = icmp sge i32 %t7563, %t7564 br i1 %t7565, label %grow1621, label %put1622 grow1621: %t7566 = mul i32 %t7564, 2 %t7567 = icmp eq i32 %t7564, 0 %t7568 = select i1 %t7567, i32 8, i32 %t7566 %t7569 = getelementptr ptr, ptr null, i32 1 %t7570 = ptrtoint ptr %t7569 to i64 %t7571 = zext i32 %t7568 to i64 %t7572 = mul i64 %t7571, %t7570 %t7573 = load ptr, ptr %t7562 %t7574 = call ptr @realloc(ptr %t7573, i64 %t7572) store ptr %t7574, ptr %t7562 store i32 %t7568, ptr %t7561 br label %put1622 put1622: %t7575 = load ptr, ptr %t7562 %t7576 = getelementptr inbounds ptr, ptr %t7575, i32 %t7563 store ptr @.str8165, ptr %t7576 %t7577 = add i32 %t7563, 1 store i32 %t7577, ptr %t7560 br label %ifend1618 ifend1618: %t7578 = load ptr, ptr %t1 %t7579 = call i32 @lp_str_eq(ptr %t7578, ptr @.str8166) %t7580 = icmp ne i32 %t7579, 0 br i1 %t7580, label %then1623, label %ifend1625 then1623: store ptr @.str8167, ptr %t420 %t7581 = load ptr, ptr %t427 %t7582 = getelementptr inbounds %LSlice, ptr %t7581, i32 0, i32 1 %t7583 = getelementptr inbounds %LSlice, ptr %t7581, i32 0, i32 2 %t7584 = getelementptr inbounds %LSlice, ptr %t7581, i32 0, i32 0 %t7585 = load i32, ptr %t7582 %t7586 = load i32, ptr %t7583 %t7587 = icmp sge i32 %t7585, %t7586 br i1 %t7587, label %grow1626, label %put1627 grow1626: %t7588 = mul i32 %t7586, 2 %t7589 = icmp eq i32 %t7586, 0 %t7590 = select i1 %t7589, i32 8, i32 %t7588 %t7591 = getelementptr ptr, ptr null, i32 1 %t7592 = ptrtoint ptr %t7591 to i64 %t7593 = zext i32 %t7590 to i64 %t7594 = mul i64 %t7593, %t7592 %t7595 = load ptr, ptr %t7584 %t7596 = call ptr @realloc(ptr %t7595, i64 %t7594) store ptr %t7596, ptr %t7584 store i32 %t7590, ptr %t7583 br label %put1627 put1627: %t7597 = load ptr, ptr %t7584 %t7598 = getelementptr inbounds ptr, ptr %t7597, i32 %t7585 store ptr @.str8168, ptr %t7598 %t7599 = add i32 %t7585, 1 store i32 %t7599, ptr %t7582 %t7600 = load ptr, ptr %t427 %t7601 = getelementptr inbounds %LSlice, ptr %t7600, i32 0, i32 1 %t7602 = getelementptr inbounds %LSlice, ptr %t7600, i32 0, i32 2 %t7603 = getelementptr inbounds %LSlice, ptr %t7600, i32 0, i32 0 %t7604 = load i32, ptr %t7601 %t7605 = load i32, ptr %t7602 %t7606 = icmp sge i32 %t7604, %t7605 br i1 %t7606, label %grow1628, label %put1629 grow1628: %t7607 = mul i32 %t7605, 2 %t7608 = icmp eq i32 %t7605, 0 %t7609 = select i1 %t7608, i32 8, i32 %t7607 %t7610 = getelementptr ptr, ptr null, i32 1 %t7611 = ptrtoint ptr %t7610 to i64 %t7612 = zext i32 %t7609 to i64 %t7613 = mul i64 %t7612, %t7611 %t7614 = load ptr, ptr %t7603 %t7615 = call ptr @realloc(ptr %t7614, i64 %t7613) store ptr %t7615, ptr %t7603 store i32 %t7609, ptr %t7602 br label %put1629 put1629: %t7616 = load ptr, ptr %t7603 %t7617 = getelementptr inbounds ptr, ptr %t7616, i32 %t7604 store ptr @.str8169, ptr %t7617 %t7618 = add i32 %t7604, 1 store i32 %t7618, ptr %t7601 %t7619 = load ptr, ptr %t427 %t7620 = getelementptr inbounds %LSlice, ptr %t7619, i32 0, i32 1 %t7621 = getelementptr inbounds %LSlice, ptr %t7619, i32 0, i32 2 %t7622 = getelementptr inbounds %LSlice, ptr %t7619, i32 0, i32 0 %t7623 = load i32, ptr %t7620 %t7624 = load i32, ptr %t7621 %t7625 = icmp sge i32 %t7623, %t7624 br i1 %t7625, label %grow1630, label %put1631 grow1630: %t7626 = mul i32 %t7624, 2 %t7627 = icmp eq i32 %t7624, 0 %t7628 = select i1 %t7627, i32 8, i32 %t7626 %t7629 = getelementptr ptr, ptr null, i32 1 %t7630 = ptrtoint ptr %t7629 to i64 %t7631 = zext i32 %t7628 to i64 %t7632 = mul i64 %t7631, %t7630 %t7633 = load ptr, ptr %t7622 %t7634 = call ptr @realloc(ptr %t7633, i64 %t7632) store ptr %t7634, ptr %t7622 store i32 %t7628, ptr %t7621 br label %put1631 put1631: %t7635 = load ptr, ptr %t7622 %t7636 = getelementptr inbounds ptr, ptr %t7635, i32 %t7623 store ptr @.str8170, ptr %t7636 %t7637 = add i32 %t7623, 1 store i32 %t7637, ptr %t7620 br label %ifend1625 ifend1625: %t7638 = load ptr, ptr %t1 %t7639 = call i32 @lp_str_eq(ptr %t7638, ptr @.str8171) %t7640 = icmp ne i32 %t7639, 0 br i1 %t7640, label %then1632, label %ifend1634 then1632: store ptr @.str8172, ptr %t420 %t7641 = load ptr, ptr %t427 %t7642 = getelementptr inbounds %LSlice, ptr %t7641, i32 0, i32 1 %t7643 = getelementptr inbounds %LSlice, ptr %t7641, i32 0, i32 2 %t7644 = getelementptr inbounds %LSlice, ptr %t7641, i32 0, i32 0 %t7645 = load i32, ptr %t7642 %t7646 = load i32, ptr %t7643 %t7647 = icmp sge i32 %t7645, %t7646 br i1 %t7647, label %grow1635, label %put1636 grow1635: %t7648 = mul i32 %t7646, 2 %t7649 = icmp eq i32 %t7646, 0 %t7650 = select i1 %t7649, i32 8, i32 %t7648 %t7651 = getelementptr ptr, ptr null, i32 1 %t7652 = ptrtoint ptr %t7651 to i64 %t7653 = zext i32 %t7650 to i64 %t7654 = mul i64 %t7653, %t7652 %t7655 = load ptr, ptr %t7644 %t7656 = call ptr @realloc(ptr %t7655, i64 %t7654) store ptr %t7656, ptr %t7644 store i32 %t7650, ptr %t7643 br label %put1636 put1636: %t7657 = load ptr, ptr %t7644 %t7658 = getelementptr inbounds ptr, ptr %t7657, i32 %t7645 store ptr @.str8173, ptr %t7658 %t7659 = add i32 %t7645, 1 store i32 %t7659, ptr %t7642 %t7660 = load ptr, ptr %t427 %t7661 = getelementptr inbounds %LSlice, ptr %t7660, i32 0, i32 1 %t7662 = getelementptr inbounds %LSlice, ptr %t7660, i32 0, i32 2 %t7663 = getelementptr inbounds %LSlice, ptr %t7660, i32 0, i32 0 %t7664 = load i32, ptr %t7661 %t7665 = load i32, ptr %t7662 %t7666 = icmp sge i32 %t7664, %t7665 br i1 %t7666, label %grow1637, label %put1638 grow1637: %t7667 = mul i32 %t7665, 2 %t7668 = icmp eq i32 %t7665, 0 %t7669 = select i1 %t7668, i32 8, i32 %t7667 %t7670 = getelementptr ptr, ptr null, i32 1 %t7671 = ptrtoint ptr %t7670 to i64 %t7672 = zext i32 %t7669 to i64 %t7673 = mul i64 %t7672, %t7671 %t7674 = load ptr, ptr %t7663 %t7675 = call ptr @realloc(ptr %t7674, i64 %t7673) store ptr %t7675, ptr %t7663 store i32 %t7669, ptr %t7662 br label %put1638 put1638: %t7676 = load ptr, ptr %t7663 %t7677 = getelementptr inbounds ptr, ptr %t7676, i32 %t7664 store ptr @.str8174, ptr %t7677 %t7678 = add i32 %t7664, 1 store i32 %t7678, ptr %t7661 %t7679 = load ptr, ptr %t427 %t7680 = getelementptr inbounds %LSlice, ptr %t7679, i32 0, i32 1 %t7681 = getelementptr inbounds %LSlice, ptr %t7679, i32 0, i32 2 %t7682 = getelementptr inbounds %LSlice, ptr %t7679, i32 0, i32 0 %t7683 = load i32, ptr %t7680 %t7684 = load i32, ptr %t7681 %t7685 = icmp sge i32 %t7683, %t7684 br i1 %t7685, label %grow1639, label %put1640 grow1639: %t7686 = mul i32 %t7684, 2 %t7687 = icmp eq i32 %t7684, 0 %t7688 = select i1 %t7687, i32 8, i32 %t7686 %t7689 = getelementptr ptr, ptr null, i32 1 %t7690 = ptrtoint ptr %t7689 to i64 %t7691 = zext i32 %t7688 to i64 %t7692 = mul i64 %t7691, %t7690 %t7693 = load ptr, ptr %t7682 %t7694 = call ptr @realloc(ptr %t7693, i64 %t7692) store ptr %t7694, ptr %t7682 store i32 %t7688, ptr %t7681 br label %put1640 put1640: %t7695 = load ptr, ptr %t7682 %t7696 = getelementptr inbounds ptr, ptr %t7695, i32 %t7683 store ptr @.str8175, ptr %t7696 %t7697 = add i32 %t7683, 1 store i32 %t7697, ptr %t7680 br label %ifend1634 ifend1634: %t7698 = load ptr, ptr %t1 %t7699 = call i32 @lp_str_eq(ptr %t7698, ptr @.str8176) %t7700 = icmp ne i32 %t7699, 0 br i1 %t7700, label %then1641, label %ifend1643 then1641: store ptr @.str8177, ptr %t420 %t7701 = load ptr, ptr %t427 %t7702 = getelementptr inbounds %LSlice, ptr %t7701, i32 0, i32 1 %t7703 = getelementptr inbounds %LSlice, ptr %t7701, i32 0, i32 2 %t7704 = getelementptr inbounds %LSlice, ptr %t7701, i32 0, i32 0 %t7705 = load i32, ptr %t7702 %t7706 = load i32, ptr %t7703 %t7707 = icmp sge i32 %t7705, %t7706 br i1 %t7707, label %grow1644, label %put1645 grow1644: %t7708 = mul i32 %t7706, 2 %t7709 = icmp eq i32 %t7706, 0 %t7710 = select i1 %t7709, i32 8, i32 %t7708 %t7711 = getelementptr ptr, ptr null, i32 1 %t7712 = ptrtoint ptr %t7711 to i64 %t7713 = zext i32 %t7710 to i64 %t7714 = mul i64 %t7713, %t7712 %t7715 = load ptr, ptr %t7704 %t7716 = call ptr @realloc(ptr %t7715, i64 %t7714) store ptr %t7716, ptr %t7704 store i32 %t7710, ptr %t7703 br label %put1645 put1645: %t7717 = load ptr, ptr %t7704 %t7718 = getelementptr inbounds ptr, ptr %t7717, i32 %t7705 store ptr @.str8178, ptr %t7718 %t7719 = add i32 %t7705, 1 store i32 %t7719, ptr %t7702 %t7720 = load ptr, ptr %t427 %t7721 = getelementptr inbounds %LSlice, ptr %t7720, i32 0, i32 1 %t7722 = getelementptr inbounds %LSlice, ptr %t7720, i32 0, i32 2 %t7723 = getelementptr inbounds %LSlice, ptr %t7720, i32 0, i32 0 %t7724 = load i32, ptr %t7721 %t7725 = load i32, ptr %t7722 %t7726 = icmp sge i32 %t7724, %t7725 br i1 %t7726, label %grow1646, label %put1647 grow1646: %t7727 = mul i32 %t7725, 2 %t7728 = icmp eq i32 %t7725, 0 %t7729 = select i1 %t7728, i32 8, i32 %t7727 %t7730 = getelementptr ptr, ptr null, i32 1 %t7731 = ptrtoint ptr %t7730 to i64 %t7732 = zext i32 %t7729 to i64 %t7733 = mul i64 %t7732, %t7731 %t7734 = load ptr, ptr %t7723 %t7735 = call ptr @realloc(ptr %t7734, i64 %t7733) store ptr %t7735, ptr %t7723 store i32 %t7729, ptr %t7722 br label %put1647 put1647: %t7736 = load ptr, ptr %t7723 %t7737 = getelementptr inbounds ptr, ptr %t7736, i32 %t7724 store ptr @.str8179, ptr %t7737 %t7738 = add i32 %t7724, 1 store i32 %t7738, ptr %t7721 br label %ifend1643 ifend1643: %t7739 = load ptr, ptr %t1 %t7740 = call i32 @lp_str_eq(ptr %t7739, ptr @.str8180) %t7741 = icmp ne i32 %t7740, 0 br i1 %t7741, label %then1648, label %ifend1650 then1648: store ptr @.str8181, ptr %t420 %t7742 = load ptr, ptr %t427 %t7743 = getelementptr inbounds %LSlice, ptr %t7742, i32 0, i32 1 %t7744 = getelementptr inbounds %LSlice, ptr %t7742, i32 0, i32 2 %t7745 = getelementptr inbounds %LSlice, ptr %t7742, i32 0, i32 0 %t7746 = load i32, ptr %t7743 %t7747 = load i32, ptr %t7744 %t7748 = icmp sge i32 %t7746, %t7747 br i1 %t7748, label %grow1651, label %put1652 grow1651: %t7749 = mul i32 %t7747, 2 %t7750 = icmp eq i32 %t7747, 0 %t7751 = select i1 %t7750, i32 8, i32 %t7749 %t7752 = getelementptr ptr, ptr null, i32 1 %t7753 = ptrtoint ptr %t7752 to i64 %t7754 = zext i32 %t7751 to i64 %t7755 = mul i64 %t7754, %t7753 %t7756 = load ptr, ptr %t7745 %t7757 = call ptr @realloc(ptr %t7756, i64 %t7755) store ptr %t7757, ptr %t7745 store i32 %t7751, ptr %t7744 br label %put1652 put1652: %t7758 = load ptr, ptr %t7745 %t7759 = getelementptr inbounds ptr, ptr %t7758, i32 %t7746 store ptr @.str8182, ptr %t7759 %t7760 = add i32 %t7746, 1 store i32 %t7760, ptr %t7743 br label %ifend1650 ifend1650: %t7761 = load ptr, ptr %t1 %t7762 = call i32 @lp_str_eq(ptr %t7761, ptr @.str8183) %t7763 = icmp ne i32 %t7762, 0 br i1 %t7763, label %then1653, label %ifend1655 then1653: store ptr @.str8184, ptr %t420 %t7764 = load ptr, ptr %t427 %t7765 = getelementptr inbounds %LSlice, ptr %t7764, i32 0, i32 1 %t7766 = getelementptr inbounds %LSlice, ptr %t7764, i32 0, i32 2 %t7767 = getelementptr inbounds %LSlice, ptr %t7764, i32 0, i32 0 %t7768 = load i32, ptr %t7765 %t7769 = load i32, ptr %t7766 %t7770 = icmp sge i32 %t7768, %t7769 br i1 %t7770, label %grow1656, label %put1657 grow1656: %t7771 = mul i32 %t7769, 2 %t7772 = icmp eq i32 %t7769, 0 %t7773 = select i1 %t7772, i32 8, i32 %t7771 %t7774 = getelementptr ptr, ptr null, i32 1 %t7775 = ptrtoint ptr %t7774 to i64 %t7776 = zext i32 %t7773 to i64 %t7777 = mul i64 %t7776, %t7775 %t7778 = load ptr, ptr %t7767 %t7779 = call ptr @realloc(ptr %t7778, i64 %t7777) store ptr %t7779, ptr %t7767 store i32 %t7773, ptr %t7766 br label %put1657 put1657: %t7780 = load ptr, ptr %t7767 %t7781 = getelementptr inbounds ptr, ptr %t7780, i32 %t7768 store ptr @.str8185, ptr %t7781 %t7782 = add i32 %t7768, 1 store i32 %t7782, ptr %t7765 %t7783 = load ptr, ptr %t427 %t7784 = getelementptr inbounds %LSlice, ptr %t7783, i32 0, i32 1 %t7785 = getelementptr inbounds %LSlice, ptr %t7783, i32 0, i32 2 %t7786 = getelementptr inbounds %LSlice, ptr %t7783, i32 0, i32 0 %t7787 = load i32, ptr %t7784 %t7788 = load i32, ptr %t7785 %t7789 = icmp sge i32 %t7787, %t7788 br i1 %t7789, label %grow1658, label %put1659 grow1658: %t7790 = mul i32 %t7788, 2 %t7791 = icmp eq i32 %t7788, 0 %t7792 = select i1 %t7791, i32 8, i32 %t7790 %t7793 = getelementptr ptr, ptr null, i32 1 %t7794 = ptrtoint ptr %t7793 to i64 %t7795 = zext i32 %t7792 to i64 %t7796 = mul i64 %t7795, %t7794 %t7797 = load ptr, ptr %t7786 %t7798 = call ptr @realloc(ptr %t7797, i64 %t7796) store ptr %t7798, ptr %t7786 store i32 %t7792, ptr %t7785 br label %put1659 put1659: %t7799 = load ptr, ptr %t7786 %t7800 = getelementptr inbounds ptr, ptr %t7799, i32 %t7787 store ptr @.str8186, ptr %t7800 %t7801 = add i32 %t7787, 1 store i32 %t7801, ptr %t7784 br label %ifend1655 ifend1655: %t7802 = load ptr, ptr %t1 %t7803 = call i32 @lp_str_eq(ptr %t7802, ptr @.str8187) %t7804 = icmp ne i32 %t7803, 0 br i1 %t7804, label %then1660, label %ifend1662 then1660: store ptr @.str8188, ptr %t420 %t7805 = load ptr, ptr %t427 %t7806 = getelementptr inbounds %LSlice, ptr %t7805, i32 0, i32 1 %t7807 = getelementptr inbounds %LSlice, ptr %t7805, i32 0, i32 2 %t7808 = getelementptr inbounds %LSlice, ptr %t7805, i32 0, i32 0 %t7809 = load i32, ptr %t7806 %t7810 = load i32, ptr %t7807 %t7811 = icmp sge i32 %t7809, %t7810 br i1 %t7811, label %grow1663, label %put1664 grow1663: %t7812 = mul i32 %t7810, 2 %t7813 = icmp eq i32 %t7810, 0 %t7814 = select i1 %t7813, i32 8, i32 %t7812 %t7815 = getelementptr ptr, ptr null, i32 1 %t7816 = ptrtoint ptr %t7815 to i64 %t7817 = zext i32 %t7814 to i64 %t7818 = mul i64 %t7817, %t7816 %t7819 = load ptr, ptr %t7808 %t7820 = call ptr @realloc(ptr %t7819, i64 %t7818) store ptr %t7820, ptr %t7808 store i32 %t7814, ptr %t7807 br label %put1664 put1664: %t7821 = load ptr, ptr %t7808 %t7822 = getelementptr inbounds ptr, ptr %t7821, i32 %t7809 store ptr @.str8189, ptr %t7822 %t7823 = add i32 %t7809, 1 store i32 %t7823, ptr %t7806 %t7824 = load ptr, ptr %t427 %t7825 = getelementptr inbounds %LSlice, ptr %t7824, i32 0, i32 1 %t7826 = getelementptr inbounds %LSlice, ptr %t7824, i32 0, i32 2 %t7827 = getelementptr inbounds %LSlice, ptr %t7824, i32 0, i32 0 %t7828 = load i32, ptr %t7825 %t7829 = load i32, ptr %t7826 %t7830 = icmp sge i32 %t7828, %t7829 br i1 %t7830, label %grow1665, label %put1666 grow1665: %t7831 = mul i32 %t7829, 2 %t7832 = icmp eq i32 %t7829, 0 %t7833 = select i1 %t7832, i32 8, i32 %t7831 %t7834 = getelementptr ptr, ptr null, i32 1 %t7835 = ptrtoint ptr %t7834 to i64 %t7836 = zext i32 %t7833 to i64 %t7837 = mul i64 %t7836, %t7835 %t7838 = load ptr, ptr %t7827 %t7839 = call ptr @realloc(ptr %t7838, i64 %t7837) store ptr %t7839, ptr %t7827 store i32 %t7833, ptr %t7826 br label %put1666 put1666: %t7840 = load ptr, ptr %t7827 %t7841 = getelementptr inbounds ptr, ptr %t7840, i32 %t7828 store ptr @.str8190, ptr %t7841 %t7842 = add i32 %t7828, 1 store i32 %t7842, ptr %t7825 br label %ifend1662 ifend1662: %t7843 = load ptr, ptr %t1 %t7844 = call i32 @lp_str_eq(ptr %t7843, ptr @.str8191) %t7845 = icmp ne i32 %t7844, 0 br i1 %t7845, label %then1667, label %ifend1669 then1667: store ptr @.str8192, ptr %t420 %t7846 = load ptr, ptr %t427 %t7847 = getelementptr inbounds %LSlice, ptr %t7846, i32 0, i32 1 %t7848 = getelementptr inbounds %LSlice, ptr %t7846, i32 0, i32 2 %t7849 = getelementptr inbounds %LSlice, ptr %t7846, i32 0, i32 0 %t7850 = load i32, ptr %t7847 %t7851 = load i32, ptr %t7848 %t7852 = icmp sge i32 %t7850, %t7851 br i1 %t7852, label %grow1670, label %put1671 grow1670: %t7853 = mul i32 %t7851, 2 %t7854 = icmp eq i32 %t7851, 0 %t7855 = select i1 %t7854, i32 8, i32 %t7853 %t7856 = getelementptr ptr, ptr null, i32 1 %t7857 = ptrtoint ptr %t7856 to i64 %t7858 = zext i32 %t7855 to i64 %t7859 = mul i64 %t7858, %t7857 %t7860 = load ptr, ptr %t7849 %t7861 = call ptr @realloc(ptr %t7860, i64 %t7859) store ptr %t7861, ptr %t7849 store i32 %t7855, ptr %t7848 br label %put1671 put1671: %t7862 = load ptr, ptr %t7849 %t7863 = getelementptr inbounds ptr, ptr %t7862, i32 %t7850 store ptr @.str8193, ptr %t7863 %t7864 = add i32 %t7850, 1 store i32 %t7864, ptr %t7847 br label %ifend1669 ifend1669: br label %ifend1584 ifend1584: %t7865 = load ptr, ptr %t0 %t7866 = call i32 @lp_str_eq(ptr %t7865, ptr @.str8194) %t7867 = icmp ne i32 %t7866, 0 br i1 %t7867, label %then1672, label %ifend1674 then1672: %t7868 = load ptr, ptr %t1 %t7869 = call i32 @lp_str_eq(ptr %t7868, ptr @.str8195) %t7870 = icmp ne i32 %t7869, 0 br i1 %t7870, label %then1675, label %ifend1677 then1675: store ptr @.str8196, ptr %t420 %t7871 = load ptr, ptr %t427 %t7872 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 1 %t7873 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 2 %t7874 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 0 %t7875 = load i32, ptr %t7872 %t7876 = load i32, ptr %t7873 %t7877 = icmp sge i32 %t7875, %t7876 br i1 %t7877, label %grow1678, label %put1679 grow1678: %t7878 = mul i32 %t7876, 2 %t7879 = icmp eq i32 %t7876, 0 %t7880 = select i1 %t7879, i32 8, i32 %t7878 %t7881 = getelementptr ptr, ptr null, i32 1 %t7882 = ptrtoint ptr %t7881 to i64 %t7883 = zext i32 %t7880 to i64 %t7884 = mul i64 %t7883, %t7882 %t7885 = load ptr, ptr %t7874 %t7886 = call ptr @realloc(ptr %t7885, i64 %t7884) store ptr %t7886, ptr %t7874 store i32 %t7880, ptr %t7873 br label %put1679 put1679: %t7887 = load ptr, ptr %t7874 %t7888 = getelementptr inbounds ptr, ptr %t7887, i32 %t7875 store ptr @.str8197, ptr %t7888 %t7889 = add i32 %t7875, 1 store i32 %t7889, ptr %t7872 br label %ifend1677 ifend1677: %t7890 = load ptr, ptr %t1 %t7891 = call i32 @lp_str_eq(ptr %t7890, ptr @.str8198) %t7892 = icmp ne i32 %t7891, 0 br i1 %t7892, label %then1680, label %ifend1682 then1680: store ptr @.str8199, ptr %t420 %t7893 = load ptr, ptr %t427 %t7894 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 1 %t7895 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 2 %t7896 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 0 %t7897 = load i32, ptr %t7894 %t7898 = load i32, ptr %t7895 %t7899 = icmp sge i32 %t7897, %t7898 br i1 %t7899, label %grow1683, label %put1684 grow1683: %t7900 = mul i32 %t7898, 2 %t7901 = icmp eq i32 %t7898, 0 %t7902 = select i1 %t7901, i32 8, i32 %t7900 %t7903 = getelementptr ptr, ptr null, i32 1 %t7904 = ptrtoint ptr %t7903 to i64 %t7905 = zext i32 %t7902 to i64 %t7906 = mul i64 %t7905, %t7904 %t7907 = load ptr, ptr %t7896 %t7908 = call ptr @realloc(ptr %t7907, i64 %t7906) store ptr %t7908, ptr %t7896 store i32 %t7902, ptr %t7895 br label %put1684 put1684: %t7909 = load ptr, ptr %t7896 %t7910 = getelementptr inbounds ptr, ptr %t7909, i32 %t7897 store ptr @.str8200, ptr %t7910 %t7911 = add i32 %t7897, 1 store i32 %t7911, ptr %t7894 br label %ifend1682 ifend1682: %t7912 = load ptr, ptr %t1 %t7913 = call i32 @lp_str_eq(ptr %t7912, ptr @.str8201) %t7914 = icmp ne i32 %t7913, 0 br i1 %t7914, label %then1685, label %ifend1687 then1685: store ptr @.str8202, ptr %t420 %t7915 = load ptr, ptr %t427 %t7916 = getelementptr inbounds %LSlice, ptr %t7915, i32 0, i32 1 %t7917 = getelementptr inbounds %LSlice, ptr %t7915, i32 0, i32 2 %t7918 = getelementptr inbounds %LSlice, ptr %t7915, i32 0, i32 0 %t7919 = load i32, ptr %t7916 %t7920 = load i32, ptr %t7917 %t7921 = icmp sge i32 %t7919, %t7920 br i1 %t7921, label %grow1688, label %put1689 grow1688: %t7922 = mul i32 %t7920, 2 %t7923 = icmp eq i32 %t7920, 0 %t7924 = select i1 %t7923, i32 8, i32 %t7922 %t7925 = getelementptr ptr, ptr null, i32 1 %t7926 = ptrtoint ptr %t7925 to i64 %t7927 = zext i32 %t7924 to i64 %t7928 = mul i64 %t7927, %t7926 %t7929 = load ptr, ptr %t7918 %t7930 = call ptr @realloc(ptr %t7929, i64 %t7928) store ptr %t7930, ptr %t7918 store i32 %t7924, ptr %t7917 br label %put1689 put1689: %t7931 = load ptr, ptr %t7918 %t7932 = getelementptr inbounds ptr, ptr %t7931, i32 %t7919 store ptr @.str8203, ptr %t7932 %t7933 = add i32 %t7919, 1 store i32 %t7933, ptr %t7916 %t7934 = load ptr, ptr %t427 %t7935 = getelementptr inbounds %LSlice, ptr %t7934, i32 0, i32 1 %t7936 = getelementptr inbounds %LSlice, ptr %t7934, i32 0, i32 2 %t7937 = getelementptr inbounds %LSlice, ptr %t7934, i32 0, i32 0 %t7938 = load i32, ptr %t7935 %t7939 = load i32, ptr %t7936 %t7940 = icmp sge i32 %t7938, %t7939 br i1 %t7940, label %grow1690, label %put1691 grow1690: %t7941 = mul i32 %t7939, 2 %t7942 = icmp eq i32 %t7939, 0 %t7943 = select i1 %t7942, i32 8, i32 %t7941 %t7944 = getelementptr ptr, ptr null, i32 1 %t7945 = ptrtoint ptr %t7944 to i64 %t7946 = zext i32 %t7943 to i64 %t7947 = mul i64 %t7946, %t7945 %t7948 = load ptr, ptr %t7937 %t7949 = call ptr @realloc(ptr %t7948, i64 %t7947) store ptr %t7949, ptr %t7937 store i32 %t7943, ptr %t7936 br label %put1691 put1691: %t7950 = load ptr, ptr %t7937 %t7951 = getelementptr inbounds ptr, ptr %t7950, i32 %t7938 store ptr @.str8204, ptr %t7951 %t7952 = add i32 %t7938, 1 store i32 %t7952, ptr %t7935 br label %ifend1687 ifend1687: %t7953 = load ptr, ptr %t1 %t7954 = call i32 @lp_str_eq(ptr %t7953, ptr @.str8205) %t7955 = icmp ne i32 %t7954, 0 br i1 %t7955, label %then1692, label %ifend1694 then1692: store ptr @.str8206, ptr %t420 %t7956 = load ptr, ptr %t427 %t7957 = getelementptr inbounds %LSlice, ptr %t7956, i32 0, i32 1 %t7958 = getelementptr inbounds %LSlice, ptr %t7956, i32 0, i32 2 %t7959 = getelementptr inbounds %LSlice, ptr %t7956, i32 0, i32 0 %t7960 = load i32, ptr %t7957 %t7961 = load i32, ptr %t7958 %t7962 = icmp sge i32 %t7960, %t7961 br i1 %t7962, label %grow1695, label %put1696 grow1695: %t7963 = mul i32 %t7961, 2 %t7964 = icmp eq i32 %t7961, 0 %t7965 = select i1 %t7964, i32 8, i32 %t7963 %t7966 = getelementptr ptr, ptr null, i32 1 %t7967 = ptrtoint ptr %t7966 to i64 %t7968 = zext i32 %t7965 to i64 %t7969 = mul i64 %t7968, %t7967 %t7970 = load ptr, ptr %t7959 %t7971 = call ptr @realloc(ptr %t7970, i64 %t7969) store ptr %t7971, ptr %t7959 store i32 %t7965, ptr %t7958 br label %put1696 put1696: %t7972 = load ptr, ptr %t7959 %t7973 = getelementptr inbounds ptr, ptr %t7972, i32 %t7960 store ptr @.str8207, ptr %t7973 %t7974 = add i32 %t7960, 1 store i32 %t7974, ptr %t7957 %t7975 = load ptr, ptr %t427 %t7976 = getelementptr inbounds %LSlice, ptr %t7975, i32 0, i32 1 %t7977 = getelementptr inbounds %LSlice, ptr %t7975, i32 0, i32 2 %t7978 = getelementptr inbounds %LSlice, ptr %t7975, i32 0, i32 0 %t7979 = load i32, ptr %t7976 %t7980 = load i32, ptr %t7977 %t7981 = icmp sge i32 %t7979, %t7980 br i1 %t7981, label %grow1697, label %put1698 grow1697: %t7982 = mul i32 %t7980, 2 %t7983 = icmp eq i32 %t7980, 0 %t7984 = select i1 %t7983, i32 8, i32 %t7982 %t7985 = getelementptr ptr, ptr null, i32 1 %t7986 = ptrtoint ptr %t7985 to i64 %t7987 = zext i32 %t7984 to i64 %t7988 = mul i64 %t7987, %t7986 %t7989 = load ptr, ptr %t7978 %t7990 = call ptr @realloc(ptr %t7989, i64 %t7988) store ptr %t7990, ptr %t7978 store i32 %t7984, ptr %t7977 br label %put1698 put1698: %t7991 = load ptr, ptr %t7978 %t7992 = getelementptr inbounds ptr, ptr %t7991, i32 %t7979 store ptr @.str8208, ptr %t7992 %t7993 = add i32 %t7979, 1 store i32 %t7993, ptr %t7976 br label %ifend1694 ifend1694: %t7994 = load ptr, ptr %t1 %t7995 = call i32 @lp_str_eq(ptr %t7994, ptr @.str8209) %t7996 = icmp ne i32 %t7995, 0 br i1 %t7996, label %then1699, label %ifend1701 then1699: store ptr @.str8210, ptr %t420 %t7997 = load ptr, ptr %t427 %t7998 = getelementptr inbounds %LSlice, ptr %t7997, i32 0, i32 1 %t7999 = getelementptr inbounds %LSlice, ptr %t7997, i32 0, i32 2 %t8000 = getelementptr inbounds %LSlice, ptr %t7997, i32 0, i32 0 %t8001 = load i32, ptr %t7998 %t8002 = load i32, ptr %t7999 %t8003 = icmp sge i32 %t8001, %t8002 br i1 %t8003, label %grow1702, label %put1703 grow1702: %t8004 = mul i32 %t8002, 2 %t8005 = icmp eq i32 %t8002, 0 %t8006 = select i1 %t8005, i32 8, i32 %t8004 %t8007 = getelementptr ptr, ptr null, i32 1 %t8008 = ptrtoint ptr %t8007 to i64 %t8009 = zext i32 %t8006 to i64 %t8010 = mul i64 %t8009, %t8008 %t8011 = load ptr, ptr %t8000 %t8012 = call ptr @realloc(ptr %t8011, i64 %t8010) store ptr %t8012, ptr %t8000 store i32 %t8006, ptr %t7999 br label %put1703 put1703: %t8013 = load ptr, ptr %t8000 %t8014 = getelementptr inbounds ptr, ptr %t8013, i32 %t8001 store ptr @.str8211, ptr %t8014 %t8015 = add i32 %t8001, 1 store i32 %t8015, ptr %t7998 %t8016 = load ptr, ptr %t427 %t8017 = getelementptr inbounds %LSlice, ptr %t8016, i32 0, i32 1 %t8018 = getelementptr inbounds %LSlice, ptr %t8016, i32 0, i32 2 %t8019 = getelementptr inbounds %LSlice, ptr %t8016, i32 0, i32 0 %t8020 = load i32, ptr %t8017 %t8021 = load i32, ptr %t8018 %t8022 = icmp sge i32 %t8020, %t8021 br i1 %t8022, label %grow1704, label %put1705 grow1704: %t8023 = mul i32 %t8021, 2 %t8024 = icmp eq i32 %t8021, 0 %t8025 = select i1 %t8024, i32 8, i32 %t8023 %t8026 = getelementptr ptr, ptr null, i32 1 %t8027 = ptrtoint ptr %t8026 to i64 %t8028 = zext i32 %t8025 to i64 %t8029 = mul i64 %t8028, %t8027 %t8030 = load ptr, ptr %t8019 %t8031 = call ptr @realloc(ptr %t8030, i64 %t8029) store ptr %t8031, ptr %t8019 store i32 %t8025, ptr %t8018 br label %put1705 put1705: %t8032 = load ptr, ptr %t8019 %t8033 = getelementptr inbounds ptr, ptr %t8032, i32 %t8020 store ptr @.str8212, ptr %t8033 %t8034 = add i32 %t8020, 1 store i32 %t8034, ptr %t8017 br label %ifend1701 ifend1701: %t8035 = load ptr, ptr %t1 %t8036 = call i32 @lp_str_eq(ptr %t8035, ptr @.str8213) %t8037 = icmp ne i32 %t8036, 0 br i1 %t8037, label %then1706, label %ifend1708 then1706: store ptr @.str8214, ptr %t420 %t8038 = load ptr, ptr %t427 %t8039 = getelementptr inbounds %LSlice, ptr %t8038, i32 0, i32 1 %t8040 = getelementptr inbounds %LSlice, ptr %t8038, i32 0, i32 2 %t8041 = getelementptr inbounds %LSlice, ptr %t8038, i32 0, i32 0 %t8042 = load i32, ptr %t8039 %t8043 = load i32, ptr %t8040 %t8044 = icmp sge i32 %t8042, %t8043 br i1 %t8044, label %grow1709, label %put1710 grow1709: %t8045 = mul i32 %t8043, 2 %t8046 = icmp eq i32 %t8043, 0 %t8047 = select i1 %t8046, i32 8, i32 %t8045 %t8048 = getelementptr ptr, ptr null, i32 1 %t8049 = ptrtoint ptr %t8048 to i64 %t8050 = zext i32 %t8047 to i64 %t8051 = mul i64 %t8050, %t8049 %t8052 = load ptr, ptr %t8041 %t8053 = call ptr @realloc(ptr %t8052, i64 %t8051) store ptr %t8053, ptr %t8041 store i32 %t8047, ptr %t8040 br label %put1710 put1710: %t8054 = load ptr, ptr %t8041 %t8055 = getelementptr inbounds ptr, ptr %t8054, i32 %t8042 store ptr @.str8215, ptr %t8055 %t8056 = add i32 %t8042, 1 store i32 %t8056, ptr %t8039 br label %ifend1708 ifend1708: %t8057 = load ptr, ptr %t1 %t8058 = call i32 @lp_str_eq(ptr %t8057, ptr @.str8216) %t8059 = icmp ne i32 %t8058, 0 br i1 %t8059, label %then1711, label %ifend1713 then1711: store ptr @.str8217, ptr %t420 %t8060 = load ptr, ptr %t427 %t8061 = getelementptr inbounds %LSlice, ptr %t8060, i32 0, i32 1 %t8062 = getelementptr inbounds %LSlice, ptr %t8060, i32 0, i32 2 %t8063 = getelementptr inbounds %LSlice, ptr %t8060, i32 0, i32 0 %t8064 = load i32, ptr %t8061 %t8065 = load i32, ptr %t8062 %t8066 = icmp sge i32 %t8064, %t8065 br i1 %t8066, label %grow1714, label %put1715 grow1714: %t8067 = mul i32 %t8065, 2 %t8068 = icmp eq i32 %t8065, 0 %t8069 = select i1 %t8068, i32 8, i32 %t8067 %t8070 = getelementptr ptr, ptr null, i32 1 %t8071 = ptrtoint ptr %t8070 to i64 %t8072 = zext i32 %t8069 to i64 %t8073 = mul i64 %t8072, %t8071 %t8074 = load ptr, ptr %t8063 %t8075 = call ptr @realloc(ptr %t8074, i64 %t8073) store ptr %t8075, ptr %t8063 store i32 %t8069, ptr %t8062 br label %put1715 put1715: %t8076 = load ptr, ptr %t8063 %t8077 = getelementptr inbounds ptr, ptr %t8076, i32 %t8064 store ptr @.str8218, ptr %t8077 %t8078 = add i32 %t8064, 1 store i32 %t8078, ptr %t8061 %t8079 = load ptr, ptr %t427 %t8080 = getelementptr inbounds %LSlice, ptr %t8079, i32 0, i32 1 %t8081 = getelementptr inbounds %LSlice, ptr %t8079, i32 0, i32 2 %t8082 = getelementptr inbounds %LSlice, ptr %t8079, i32 0, i32 0 %t8083 = load i32, ptr %t8080 %t8084 = load i32, ptr %t8081 %t8085 = icmp sge i32 %t8083, %t8084 br i1 %t8085, label %grow1716, label %put1717 grow1716: %t8086 = mul i32 %t8084, 2 %t8087 = icmp eq i32 %t8084, 0 %t8088 = select i1 %t8087, i32 8, i32 %t8086 %t8089 = getelementptr ptr, ptr null, i32 1 %t8090 = ptrtoint ptr %t8089 to i64 %t8091 = zext i32 %t8088 to i64 %t8092 = mul i64 %t8091, %t8090 %t8093 = load ptr, ptr %t8082 %t8094 = call ptr @realloc(ptr %t8093, i64 %t8092) store ptr %t8094, ptr %t8082 store i32 %t8088, ptr %t8081 br label %put1717 put1717: %t8095 = load ptr, ptr %t8082 %t8096 = getelementptr inbounds ptr, ptr %t8095, i32 %t8083 store ptr @.str8219, ptr %t8096 %t8097 = add i32 %t8083, 1 store i32 %t8097, ptr %t8080 br label %ifend1713 ifend1713: %t8098 = load ptr, ptr %t1 %t8099 = call i32 @lp_str_eq(ptr %t8098, ptr @.str8220) %t8100 = icmp ne i32 %t8099, 0 br i1 %t8100, label %then1718, label %ifend1720 then1718: store ptr @.str8221, ptr %t420 %t8101 = load ptr, ptr %t427 %t8102 = getelementptr inbounds %LSlice, ptr %t8101, i32 0, i32 1 %t8103 = getelementptr inbounds %LSlice, ptr %t8101, i32 0, i32 2 %t8104 = getelementptr inbounds %LSlice, ptr %t8101, i32 0, i32 0 %t8105 = load i32, ptr %t8102 %t8106 = load i32, ptr %t8103 %t8107 = icmp sge i32 %t8105, %t8106 br i1 %t8107, label %grow1721, label %put1722 grow1721: %t8108 = mul i32 %t8106, 2 %t8109 = icmp eq i32 %t8106, 0 %t8110 = select i1 %t8109, i32 8, i32 %t8108 %t8111 = getelementptr ptr, ptr null, i32 1 %t8112 = ptrtoint ptr %t8111 to i64 %t8113 = zext i32 %t8110 to i64 %t8114 = mul i64 %t8113, %t8112 %t8115 = load ptr, ptr %t8104 %t8116 = call ptr @realloc(ptr %t8115, i64 %t8114) store ptr %t8116, ptr %t8104 store i32 %t8110, ptr %t8103 br label %put1722 put1722: %t8117 = load ptr, ptr %t8104 %t8118 = getelementptr inbounds ptr, ptr %t8117, i32 %t8105 store ptr @.str8222, ptr %t8118 %t8119 = add i32 %t8105, 1 store i32 %t8119, ptr %t8102 %t8120 = load ptr, ptr %t427 %t8121 = getelementptr inbounds %LSlice, ptr %t8120, i32 0, i32 1 %t8122 = getelementptr inbounds %LSlice, ptr %t8120, i32 0, i32 2 %t8123 = getelementptr inbounds %LSlice, ptr %t8120, i32 0, i32 0 %t8124 = load i32, ptr %t8121 %t8125 = load i32, ptr %t8122 %t8126 = icmp sge i32 %t8124, %t8125 br i1 %t8126, label %grow1723, label %put1724 grow1723: %t8127 = mul i32 %t8125, 2 %t8128 = icmp eq i32 %t8125, 0 %t8129 = select i1 %t8128, i32 8, i32 %t8127 %t8130 = getelementptr ptr, ptr null, i32 1 %t8131 = ptrtoint ptr %t8130 to i64 %t8132 = zext i32 %t8129 to i64 %t8133 = mul i64 %t8132, %t8131 %t8134 = load ptr, ptr %t8123 %t8135 = call ptr @realloc(ptr %t8134, i64 %t8133) store ptr %t8135, ptr %t8123 store i32 %t8129, ptr %t8122 br label %put1724 put1724: %t8136 = load ptr, ptr %t8123 %t8137 = getelementptr inbounds ptr, ptr %t8136, i32 %t8124 store ptr @.str8223, ptr %t8137 %t8138 = add i32 %t8124, 1 store i32 %t8138, ptr %t8121 br label %ifend1720 ifend1720: %t8139 = load ptr, ptr %t1 %t8140 = call i32 @lp_str_eq(ptr %t8139, ptr @.str8224) %t8141 = icmp ne i32 %t8140, 0 br i1 %t8141, label %then1725, label %ifend1727 then1725: store ptr @.str8225, ptr %t420 %t8142 = load ptr, ptr %t427 %t8143 = getelementptr inbounds %LSlice, ptr %t8142, i32 0, i32 1 %t8144 = getelementptr inbounds %LSlice, ptr %t8142, i32 0, i32 2 %t8145 = getelementptr inbounds %LSlice, ptr %t8142, i32 0, i32 0 %t8146 = load i32, ptr %t8143 %t8147 = load i32, ptr %t8144 %t8148 = icmp sge i32 %t8146, %t8147 br i1 %t8148, label %grow1728, label %put1729 grow1728: %t8149 = mul i32 %t8147, 2 %t8150 = icmp eq i32 %t8147, 0 %t8151 = select i1 %t8150, i32 8, i32 %t8149 %t8152 = getelementptr ptr, ptr null, i32 1 %t8153 = ptrtoint ptr %t8152 to i64 %t8154 = zext i32 %t8151 to i64 %t8155 = mul i64 %t8154, %t8153 %t8156 = load ptr, ptr %t8145 %t8157 = call ptr @realloc(ptr %t8156, i64 %t8155) store ptr %t8157, ptr %t8145 store i32 %t8151, ptr %t8144 br label %put1729 put1729: %t8158 = load ptr, ptr %t8145 %t8159 = getelementptr inbounds ptr, ptr %t8158, i32 %t8146 store ptr @.str8226, ptr %t8159 %t8160 = add i32 %t8146, 1 store i32 %t8160, ptr %t8143 %t8161 = load ptr, ptr %t427 %t8162 = getelementptr inbounds %LSlice, ptr %t8161, i32 0, i32 1 %t8163 = getelementptr inbounds %LSlice, ptr %t8161, i32 0, i32 2 %t8164 = getelementptr inbounds %LSlice, ptr %t8161, i32 0, i32 0 %t8165 = load i32, ptr %t8162 %t8166 = load i32, ptr %t8163 %t8167 = icmp sge i32 %t8165, %t8166 br i1 %t8167, label %grow1730, label %put1731 grow1730: %t8168 = mul i32 %t8166, 2 %t8169 = icmp eq i32 %t8166, 0 %t8170 = select i1 %t8169, i32 8, i32 %t8168 %t8171 = getelementptr ptr, ptr null, i32 1 %t8172 = ptrtoint ptr %t8171 to i64 %t8173 = zext i32 %t8170 to i64 %t8174 = mul i64 %t8173, %t8172 %t8175 = load ptr, ptr %t8164 %t8176 = call ptr @realloc(ptr %t8175, i64 %t8174) store ptr %t8176, ptr %t8164 store i32 %t8170, ptr %t8163 br label %put1731 put1731: %t8177 = load ptr, ptr %t8164 %t8178 = getelementptr inbounds ptr, ptr %t8177, i32 %t8165 store ptr @.str8227, ptr %t8178 %t8179 = add i32 %t8165, 1 store i32 %t8179, ptr %t8162 br label %ifend1727 ifend1727: %t8180 = load ptr, ptr %t1 %t8181 = call i32 @lp_str_eq(ptr %t8180, ptr @.str8228) %t8182 = icmp ne i32 %t8181, 0 br i1 %t8182, label %then1732, label %ifend1734 then1732: store ptr @.str8229, ptr %t420 %t8183 = load ptr, ptr %t427 %t8184 = getelementptr inbounds %LSlice, ptr %t8183, i32 0, i32 1 %t8185 = getelementptr inbounds %LSlice, ptr %t8183, i32 0, i32 2 %t8186 = getelementptr inbounds %LSlice, ptr %t8183, i32 0, i32 0 %t8187 = load i32, ptr %t8184 %t8188 = load i32, ptr %t8185 %t8189 = icmp sge i32 %t8187, %t8188 br i1 %t8189, label %grow1735, label %put1736 grow1735: %t8190 = mul i32 %t8188, 2 %t8191 = icmp eq i32 %t8188, 0 %t8192 = select i1 %t8191, i32 8, i32 %t8190 %t8193 = getelementptr ptr, ptr null, i32 1 %t8194 = ptrtoint ptr %t8193 to i64 %t8195 = zext i32 %t8192 to i64 %t8196 = mul i64 %t8195, %t8194 %t8197 = load ptr, ptr %t8186 %t8198 = call ptr @realloc(ptr %t8197, i64 %t8196) store ptr %t8198, ptr %t8186 store i32 %t8192, ptr %t8185 br label %put1736 put1736: %t8199 = load ptr, ptr %t8186 %t8200 = getelementptr inbounds ptr, ptr %t8199, i32 %t8187 store ptr @.str8230, ptr %t8200 %t8201 = add i32 %t8187, 1 store i32 %t8201, ptr %t8184 %t8202 = load ptr, ptr %t427 %t8203 = getelementptr inbounds %LSlice, ptr %t8202, i32 0, i32 1 %t8204 = getelementptr inbounds %LSlice, ptr %t8202, i32 0, i32 2 %t8205 = getelementptr inbounds %LSlice, ptr %t8202, i32 0, i32 0 %t8206 = load i32, ptr %t8203 %t8207 = load i32, ptr %t8204 %t8208 = icmp sge i32 %t8206, %t8207 br i1 %t8208, label %grow1737, label %put1738 grow1737: %t8209 = mul i32 %t8207, 2 %t8210 = icmp eq i32 %t8207, 0 %t8211 = select i1 %t8210, i32 8, i32 %t8209 %t8212 = getelementptr ptr, ptr null, i32 1 %t8213 = ptrtoint ptr %t8212 to i64 %t8214 = zext i32 %t8211 to i64 %t8215 = mul i64 %t8214, %t8213 %t8216 = load ptr, ptr %t8205 %t8217 = call ptr @realloc(ptr %t8216, i64 %t8215) store ptr %t8217, ptr %t8205 store i32 %t8211, ptr %t8204 br label %put1738 put1738: %t8218 = load ptr, ptr %t8205 %t8219 = getelementptr inbounds ptr, ptr %t8218, i32 %t8206 store ptr @.str8231, ptr %t8219 %t8220 = add i32 %t8206, 1 store i32 %t8220, ptr %t8203 br label %ifend1734 ifend1734: %t8221 = load ptr, ptr %t1 %t8222 = call i32 @lp_str_eq(ptr %t8221, ptr @.str8232) %t8223 = icmp ne i32 %t8222, 0 br i1 %t8223, label %then1739, label %ifend1741 then1739: store ptr @.str8233, ptr %t420 %t8224 = load ptr, ptr %t427 %t8225 = getelementptr inbounds %LSlice, ptr %t8224, i32 0, i32 1 %t8226 = getelementptr inbounds %LSlice, ptr %t8224, i32 0, i32 2 %t8227 = getelementptr inbounds %LSlice, ptr %t8224, i32 0, i32 0 %t8228 = load i32, ptr %t8225 %t8229 = load i32, ptr %t8226 %t8230 = icmp sge i32 %t8228, %t8229 br i1 %t8230, label %grow1742, label %put1743 grow1742: %t8231 = mul i32 %t8229, 2 %t8232 = icmp eq i32 %t8229, 0 %t8233 = select i1 %t8232, i32 8, i32 %t8231 %t8234 = getelementptr ptr, ptr null, i32 1 %t8235 = ptrtoint ptr %t8234 to i64 %t8236 = zext i32 %t8233 to i64 %t8237 = mul i64 %t8236, %t8235 %t8238 = load ptr, ptr %t8227 %t8239 = call ptr @realloc(ptr %t8238, i64 %t8237) store ptr %t8239, ptr %t8227 store i32 %t8233, ptr %t8226 br label %put1743 put1743: %t8240 = load ptr, ptr %t8227 %t8241 = getelementptr inbounds ptr, ptr %t8240, i32 %t8228 store ptr @.str8234, ptr %t8241 %t8242 = add i32 %t8228, 1 store i32 %t8242, ptr %t8225 %t8243 = load ptr, ptr %t427 %t8244 = getelementptr inbounds %LSlice, ptr %t8243, i32 0, i32 1 %t8245 = getelementptr inbounds %LSlice, ptr %t8243, i32 0, i32 2 %t8246 = getelementptr inbounds %LSlice, ptr %t8243, i32 0, i32 0 %t8247 = load i32, ptr %t8244 %t8248 = load i32, ptr %t8245 %t8249 = icmp sge i32 %t8247, %t8248 br i1 %t8249, label %grow1744, label %put1745 grow1744: %t8250 = mul i32 %t8248, 2 %t8251 = icmp eq i32 %t8248, 0 %t8252 = select i1 %t8251, i32 8, i32 %t8250 %t8253 = getelementptr ptr, ptr null, i32 1 %t8254 = ptrtoint ptr %t8253 to i64 %t8255 = zext i32 %t8252 to i64 %t8256 = mul i64 %t8255, %t8254 %t8257 = load ptr, ptr %t8246 %t8258 = call ptr @realloc(ptr %t8257, i64 %t8256) store ptr %t8258, ptr %t8246 store i32 %t8252, ptr %t8245 br label %put1745 put1745: %t8259 = load ptr, ptr %t8246 %t8260 = getelementptr inbounds ptr, ptr %t8259, i32 %t8247 store ptr @.str8235, ptr %t8260 %t8261 = add i32 %t8247, 1 store i32 %t8261, ptr %t8244 br label %ifend1741 ifend1741: %t8262 = load ptr, ptr %t1 %t8263 = call i32 @lp_str_eq(ptr %t8262, ptr @.str8236) %t8264 = icmp ne i32 %t8263, 0 br i1 %t8264, label %then1746, label %ifend1748 then1746: store ptr @.str8237, ptr %t420 %t8265 = load ptr, ptr %t427 %t8266 = getelementptr inbounds %LSlice, ptr %t8265, i32 0, i32 1 %t8267 = getelementptr inbounds %LSlice, ptr %t8265, i32 0, i32 2 %t8268 = getelementptr inbounds %LSlice, ptr %t8265, i32 0, i32 0 %t8269 = load i32, ptr %t8266 %t8270 = load i32, ptr %t8267 %t8271 = icmp sge i32 %t8269, %t8270 br i1 %t8271, label %grow1749, label %put1750 grow1749: %t8272 = mul i32 %t8270, 2 %t8273 = icmp eq i32 %t8270, 0 %t8274 = select i1 %t8273, i32 8, i32 %t8272 %t8275 = getelementptr ptr, ptr null, i32 1 %t8276 = ptrtoint ptr %t8275 to i64 %t8277 = zext i32 %t8274 to i64 %t8278 = mul i64 %t8277, %t8276 %t8279 = load ptr, ptr %t8268 %t8280 = call ptr @realloc(ptr %t8279, i64 %t8278) store ptr %t8280, ptr %t8268 store i32 %t8274, ptr %t8267 br label %put1750 put1750: %t8281 = load ptr, ptr %t8268 %t8282 = getelementptr inbounds ptr, ptr %t8281, i32 %t8269 store ptr @.str8238, ptr %t8282 %t8283 = add i32 %t8269, 1 store i32 %t8283, ptr %t8266 br label %ifend1748 ifend1748: %t8284 = load ptr, ptr %t1 %t8285 = call i32 @lp_str_eq(ptr %t8284, ptr @.str8239) %t8286 = icmp ne i32 %t8285, 0 br i1 %t8286, label %then1751, label %ifend1753 then1751: store ptr @.str8240, ptr %t420 %t8287 = load ptr, ptr %t427 %t8288 = getelementptr inbounds %LSlice, ptr %t8287, i32 0, i32 1 %t8289 = getelementptr inbounds %LSlice, ptr %t8287, i32 0, i32 2 %t8290 = getelementptr inbounds %LSlice, ptr %t8287, i32 0, i32 0 %t8291 = load i32, ptr %t8288 %t8292 = load i32, ptr %t8289 %t8293 = icmp sge i32 %t8291, %t8292 br i1 %t8293, label %grow1754, label %put1755 grow1754: %t8294 = mul i32 %t8292, 2 %t8295 = icmp eq i32 %t8292, 0 %t8296 = select i1 %t8295, i32 8, i32 %t8294 %t8297 = getelementptr ptr, ptr null, i32 1 %t8298 = ptrtoint ptr %t8297 to i64 %t8299 = zext i32 %t8296 to i64 %t8300 = mul i64 %t8299, %t8298 %t8301 = load ptr, ptr %t8290 %t8302 = call ptr @realloc(ptr %t8301, i64 %t8300) store ptr %t8302, ptr %t8290 store i32 %t8296, ptr %t8289 br label %put1755 put1755: %t8303 = load ptr, ptr %t8290 %t8304 = getelementptr inbounds ptr, ptr %t8303, i32 %t8291 store ptr @.str8241, ptr %t8304 %t8305 = add i32 %t8291, 1 store i32 %t8305, ptr %t8288 br label %ifend1753 ifend1753: %t8306 = load ptr, ptr %t1 %t8307 = call i32 @lp_str_eq(ptr %t8306, ptr @.str8242) %t8308 = icmp ne i32 %t8307, 0 br i1 %t8308, label %then1756, label %ifend1758 then1756: store ptr @.str8243, ptr %t420 %t8309 = load ptr, ptr %t427 %t8310 = getelementptr inbounds %LSlice, ptr %t8309, i32 0, i32 1 %t8311 = getelementptr inbounds %LSlice, ptr %t8309, i32 0, i32 2 %t8312 = getelementptr inbounds %LSlice, ptr %t8309, i32 0, i32 0 %t8313 = load i32, ptr %t8310 %t8314 = load i32, ptr %t8311 %t8315 = icmp sge i32 %t8313, %t8314 br i1 %t8315, label %grow1759, label %put1760 grow1759: %t8316 = mul i32 %t8314, 2 %t8317 = icmp eq i32 %t8314, 0 %t8318 = select i1 %t8317, i32 8, i32 %t8316 %t8319 = getelementptr ptr, ptr null, i32 1 %t8320 = ptrtoint ptr %t8319 to i64 %t8321 = zext i32 %t8318 to i64 %t8322 = mul i64 %t8321, %t8320 %t8323 = load ptr, ptr %t8312 %t8324 = call ptr @realloc(ptr %t8323, i64 %t8322) store ptr %t8324, ptr %t8312 store i32 %t8318, ptr %t8311 br label %put1760 put1760: %t8325 = load ptr, ptr %t8312 %t8326 = getelementptr inbounds ptr, ptr %t8325, i32 %t8313 store ptr @.str8244, ptr %t8326 %t8327 = add i32 %t8313, 1 store i32 %t8327, ptr %t8310 br label %ifend1758 ifend1758: br label %ifend1674 ifend1674: %t8328 = load ptr, ptr %t0 %t8329 = call i32 @lp_str_eq(ptr %t8328, ptr @.str8245) %t8330 = icmp ne i32 %t8329, 0 br i1 %t8330, label %then1761, label %ifend1763 then1761: %t8331 = load ptr, ptr %t1 %t8332 = call i32 @lp_str_eq(ptr %t8331, ptr @.str8246) %t8333 = icmp ne i32 %t8332, 0 br i1 %t8333, label %then1764, label %ifend1766 then1764: store ptr @.str8247, ptr %t420 %t8334 = load ptr, ptr %t427 %t8335 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 1 %t8336 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 2 %t8337 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 0 %t8338 = load i32, ptr %t8335 %t8339 = load i32, ptr %t8336 %t8340 = icmp sge i32 %t8338, %t8339 br i1 %t8340, label %grow1767, label %put1768 grow1767: %t8341 = mul i32 %t8339, 2 %t8342 = icmp eq i32 %t8339, 0 %t8343 = select i1 %t8342, i32 8, i32 %t8341 %t8344 = getelementptr ptr, ptr null, i32 1 %t8345 = ptrtoint ptr %t8344 to i64 %t8346 = zext i32 %t8343 to i64 %t8347 = mul i64 %t8346, %t8345 %t8348 = load ptr, ptr %t8337 %t8349 = call ptr @realloc(ptr %t8348, i64 %t8347) store ptr %t8349, ptr %t8337 store i32 %t8343, ptr %t8336 br label %put1768 put1768: %t8350 = load ptr, ptr %t8337 %t8351 = getelementptr inbounds ptr, ptr %t8350, i32 %t8338 store ptr @.str8248, ptr %t8351 %t8352 = add i32 %t8338, 1 store i32 %t8352, ptr %t8335 br label %ifend1766 ifend1766: %t8353 = load ptr, ptr %t1 %t8354 = call i32 @lp_str_eq(ptr %t8353, ptr @.str8249) %t8355 = icmp ne i32 %t8354, 0 br i1 %t8355, label %then1769, label %ifend1771 then1769: store ptr @.str8250, ptr %t420 %t8356 = load ptr, ptr %t427 %t8357 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 1 %t8358 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 2 %t8359 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 0 %t8360 = load i32, ptr %t8357 %t8361 = load i32, ptr %t8358 %t8362 = icmp sge i32 %t8360, %t8361 br i1 %t8362, label %grow1772, label %put1773 grow1772: %t8363 = mul i32 %t8361, 2 %t8364 = icmp eq i32 %t8361, 0 %t8365 = select i1 %t8364, i32 8, i32 %t8363 %t8366 = getelementptr ptr, ptr null, i32 1 %t8367 = ptrtoint ptr %t8366 to i64 %t8368 = zext i32 %t8365 to i64 %t8369 = mul i64 %t8368, %t8367 %t8370 = load ptr, ptr %t8359 %t8371 = call ptr @realloc(ptr %t8370, i64 %t8369) store ptr %t8371, ptr %t8359 store i32 %t8365, ptr %t8358 br label %put1773 put1773: %t8372 = load ptr, ptr %t8359 %t8373 = getelementptr inbounds ptr, ptr %t8372, i32 %t8360 store ptr @.str8251, ptr %t8373 %t8374 = add i32 %t8360, 1 store i32 %t8374, ptr %t8357 br label %ifend1771 ifend1771: %t8375 = load ptr, ptr %t1 %t8376 = call i32 @lp_str_eq(ptr %t8375, ptr @.str8252) %t8377 = icmp ne i32 %t8376, 0 br i1 %t8377, label %then1774, label %ifend1776 then1774: store ptr @.str8253, ptr %t420 %t8378 = load ptr, ptr %t427 %t8379 = getelementptr inbounds %LSlice, ptr %t8378, i32 0, i32 1 %t8380 = getelementptr inbounds %LSlice, ptr %t8378, i32 0, i32 2 %t8381 = getelementptr inbounds %LSlice, ptr %t8378, i32 0, i32 0 %t8382 = load i32, ptr %t8379 %t8383 = load i32, ptr %t8380 %t8384 = icmp sge i32 %t8382, %t8383 br i1 %t8384, label %grow1777, label %put1778 grow1777: %t8385 = mul i32 %t8383, 2 %t8386 = icmp eq i32 %t8383, 0 %t8387 = select i1 %t8386, i32 8, i32 %t8385 %t8388 = getelementptr ptr, ptr null, i32 1 %t8389 = ptrtoint ptr %t8388 to i64 %t8390 = zext i32 %t8387 to i64 %t8391 = mul i64 %t8390, %t8389 %t8392 = load ptr, ptr %t8381 %t8393 = call ptr @realloc(ptr %t8392, i64 %t8391) store ptr %t8393, ptr %t8381 store i32 %t8387, ptr %t8380 br label %put1778 put1778: %t8394 = load ptr, ptr %t8381 %t8395 = getelementptr inbounds ptr, ptr %t8394, i32 %t8382 store ptr @.str8254, ptr %t8395 %t8396 = add i32 %t8382, 1 store i32 %t8396, ptr %t8379 %t8397 = load ptr, ptr %t427 %t8398 = getelementptr inbounds %LSlice, ptr %t8397, i32 0, i32 1 %t8399 = getelementptr inbounds %LSlice, ptr %t8397, i32 0, i32 2 %t8400 = getelementptr inbounds %LSlice, ptr %t8397, i32 0, i32 0 %t8401 = load i32, ptr %t8398 %t8402 = load i32, ptr %t8399 %t8403 = icmp sge i32 %t8401, %t8402 br i1 %t8403, label %grow1779, label %put1780 grow1779: %t8404 = mul i32 %t8402, 2 %t8405 = icmp eq i32 %t8402, 0 %t8406 = select i1 %t8405, i32 8, i32 %t8404 %t8407 = getelementptr ptr, ptr null, i32 1 %t8408 = ptrtoint ptr %t8407 to i64 %t8409 = zext i32 %t8406 to i64 %t8410 = mul i64 %t8409, %t8408 %t8411 = load ptr, ptr %t8400 %t8412 = call ptr @realloc(ptr %t8411, i64 %t8410) store ptr %t8412, ptr %t8400 store i32 %t8406, ptr %t8399 br label %put1780 put1780: %t8413 = load ptr, ptr %t8400 %t8414 = getelementptr inbounds ptr, ptr %t8413, i32 %t8401 store ptr @.str8255, ptr %t8414 %t8415 = add i32 %t8401, 1 store i32 %t8415, ptr %t8398 br label %ifend1776 ifend1776: %t8416 = load ptr, ptr %t1 %t8417 = call i32 @lp_str_eq(ptr %t8416, ptr @.str8256) %t8418 = icmp ne i32 %t8417, 0 br i1 %t8418, label %then1781, label %ifend1783 then1781: store ptr @.str8257, ptr %t420 %t8419 = load ptr, ptr %t427 %t8420 = getelementptr inbounds %LSlice, ptr %t8419, i32 0, i32 1 %t8421 = getelementptr inbounds %LSlice, ptr %t8419, i32 0, i32 2 %t8422 = getelementptr inbounds %LSlice, ptr %t8419, i32 0, i32 0 %t8423 = load i32, ptr %t8420 %t8424 = load i32, ptr %t8421 %t8425 = icmp sge i32 %t8423, %t8424 br i1 %t8425, label %grow1784, label %put1785 grow1784: %t8426 = mul i32 %t8424, 2 %t8427 = icmp eq i32 %t8424, 0 %t8428 = select i1 %t8427, i32 8, i32 %t8426 %t8429 = getelementptr ptr, ptr null, i32 1 %t8430 = ptrtoint ptr %t8429 to i64 %t8431 = zext i32 %t8428 to i64 %t8432 = mul i64 %t8431, %t8430 %t8433 = load ptr, ptr %t8422 %t8434 = call ptr @realloc(ptr %t8433, i64 %t8432) store ptr %t8434, ptr %t8422 store i32 %t8428, ptr %t8421 br label %put1785 put1785: %t8435 = load ptr, ptr %t8422 %t8436 = getelementptr inbounds ptr, ptr %t8435, i32 %t8423 store ptr @.str8258, ptr %t8436 %t8437 = add i32 %t8423, 1 store i32 %t8437, ptr %t8420 %t8438 = load ptr, ptr %t427 %t8439 = getelementptr inbounds %LSlice, ptr %t8438, i32 0, i32 1 %t8440 = getelementptr inbounds %LSlice, ptr %t8438, i32 0, i32 2 %t8441 = getelementptr inbounds %LSlice, ptr %t8438, i32 0, i32 0 %t8442 = load i32, ptr %t8439 %t8443 = load i32, ptr %t8440 %t8444 = icmp sge i32 %t8442, %t8443 br i1 %t8444, label %grow1786, label %put1787 grow1786: %t8445 = mul i32 %t8443, 2 %t8446 = icmp eq i32 %t8443, 0 %t8447 = select i1 %t8446, i32 8, i32 %t8445 %t8448 = getelementptr ptr, ptr null, i32 1 %t8449 = ptrtoint ptr %t8448 to i64 %t8450 = zext i32 %t8447 to i64 %t8451 = mul i64 %t8450, %t8449 %t8452 = load ptr, ptr %t8441 %t8453 = call ptr @realloc(ptr %t8452, i64 %t8451) store ptr %t8453, ptr %t8441 store i32 %t8447, ptr %t8440 br label %put1787 put1787: %t8454 = load ptr, ptr %t8441 %t8455 = getelementptr inbounds ptr, ptr %t8454, i32 %t8442 store ptr @.str8259, ptr %t8455 %t8456 = add i32 %t8442, 1 store i32 %t8456, ptr %t8439 br label %ifend1783 ifend1783: %t8457 = load ptr, ptr %t1 %t8458 = call i32 @lp_str_eq(ptr %t8457, ptr @.str8260) %t8459 = icmp ne i32 %t8458, 0 br i1 %t8459, label %then1788, label %ifend1790 then1788: store ptr @.str8261, ptr %t420 %t8460 = load ptr, ptr %t427 %t8461 = getelementptr inbounds %LSlice, ptr %t8460, i32 0, i32 1 %t8462 = getelementptr inbounds %LSlice, ptr %t8460, i32 0, i32 2 %t8463 = getelementptr inbounds %LSlice, ptr %t8460, i32 0, i32 0 %t8464 = load i32, ptr %t8461 %t8465 = load i32, ptr %t8462 %t8466 = icmp sge i32 %t8464, %t8465 br i1 %t8466, label %grow1791, label %put1792 grow1791: %t8467 = mul i32 %t8465, 2 %t8468 = icmp eq i32 %t8465, 0 %t8469 = select i1 %t8468, i32 8, i32 %t8467 %t8470 = getelementptr ptr, ptr null, i32 1 %t8471 = ptrtoint ptr %t8470 to i64 %t8472 = zext i32 %t8469 to i64 %t8473 = mul i64 %t8472, %t8471 %t8474 = load ptr, ptr %t8463 %t8475 = call ptr @realloc(ptr %t8474, i64 %t8473) store ptr %t8475, ptr %t8463 store i32 %t8469, ptr %t8462 br label %put1792 put1792: %t8476 = load ptr, ptr %t8463 %t8477 = getelementptr inbounds ptr, ptr %t8476, i32 %t8464 store ptr @.str8262, ptr %t8477 %t8478 = add i32 %t8464, 1 store i32 %t8478, ptr %t8461 %t8479 = load ptr, ptr %t427 %t8480 = getelementptr inbounds %LSlice, ptr %t8479, i32 0, i32 1 %t8481 = getelementptr inbounds %LSlice, ptr %t8479, i32 0, i32 2 %t8482 = getelementptr inbounds %LSlice, ptr %t8479, i32 0, i32 0 %t8483 = load i32, ptr %t8480 %t8484 = load i32, ptr %t8481 %t8485 = icmp sge i32 %t8483, %t8484 br i1 %t8485, label %grow1793, label %put1794 grow1793: %t8486 = mul i32 %t8484, 2 %t8487 = icmp eq i32 %t8484, 0 %t8488 = select i1 %t8487, i32 8, i32 %t8486 %t8489 = getelementptr ptr, ptr null, i32 1 %t8490 = ptrtoint ptr %t8489 to i64 %t8491 = zext i32 %t8488 to i64 %t8492 = mul i64 %t8491, %t8490 %t8493 = load ptr, ptr %t8482 %t8494 = call ptr @realloc(ptr %t8493, i64 %t8492) store ptr %t8494, ptr %t8482 store i32 %t8488, ptr %t8481 br label %put1794 put1794: %t8495 = load ptr, ptr %t8482 %t8496 = getelementptr inbounds ptr, ptr %t8495, i32 %t8483 store ptr @.str8263, ptr %t8496 %t8497 = add i32 %t8483, 1 store i32 %t8497, ptr %t8480 br label %ifend1790 ifend1790: %t8498 = load ptr, ptr %t1 %t8499 = call i32 @lp_str_eq(ptr %t8498, ptr @.str8264) %t8500 = icmp ne i32 %t8499, 0 br i1 %t8500, label %then1795, label %ifend1797 then1795: store ptr @.str8265, ptr %t420 %t8501 = load ptr, ptr %t427 %t8502 = getelementptr inbounds %LSlice, ptr %t8501, i32 0, i32 1 %t8503 = getelementptr inbounds %LSlice, ptr %t8501, i32 0, i32 2 %t8504 = getelementptr inbounds %LSlice, ptr %t8501, i32 0, i32 0 %t8505 = load i32, ptr %t8502 %t8506 = load i32, ptr %t8503 %t8507 = icmp sge i32 %t8505, %t8506 br i1 %t8507, label %grow1798, label %put1799 grow1798: %t8508 = mul i32 %t8506, 2 %t8509 = icmp eq i32 %t8506, 0 %t8510 = select i1 %t8509, i32 8, i32 %t8508 %t8511 = getelementptr ptr, ptr null, i32 1 %t8512 = ptrtoint ptr %t8511 to i64 %t8513 = zext i32 %t8510 to i64 %t8514 = mul i64 %t8513, %t8512 %t8515 = load ptr, ptr %t8504 %t8516 = call ptr @realloc(ptr %t8515, i64 %t8514) store ptr %t8516, ptr %t8504 store i32 %t8510, ptr %t8503 br label %put1799 put1799: %t8517 = load ptr, ptr %t8504 %t8518 = getelementptr inbounds ptr, ptr %t8517, i32 %t8505 store ptr @.str8266, ptr %t8518 %t8519 = add i32 %t8505, 1 store i32 %t8519, ptr %t8502 br label %ifend1797 ifend1797: %t8520 = load ptr, ptr %t1 %t8521 = call i32 @lp_str_eq(ptr %t8520, ptr @.str8267) %t8522 = icmp ne i32 %t8521, 0 br i1 %t8522, label %then1800, label %ifend1802 then1800: store ptr @.str8268, ptr %t420 %t8523 = load ptr, ptr %t427 %t8524 = getelementptr inbounds %LSlice, ptr %t8523, i32 0, i32 1 %t8525 = getelementptr inbounds %LSlice, ptr %t8523, i32 0, i32 2 %t8526 = getelementptr inbounds %LSlice, ptr %t8523, i32 0, i32 0 %t8527 = load i32, ptr %t8524 %t8528 = load i32, ptr %t8525 %t8529 = icmp sge i32 %t8527, %t8528 br i1 %t8529, label %grow1803, label %put1804 grow1803: %t8530 = mul i32 %t8528, 2 %t8531 = icmp eq i32 %t8528, 0 %t8532 = select i1 %t8531, i32 8, i32 %t8530 %t8533 = getelementptr ptr, ptr null, i32 1 %t8534 = ptrtoint ptr %t8533 to i64 %t8535 = zext i32 %t8532 to i64 %t8536 = mul i64 %t8535, %t8534 %t8537 = load ptr, ptr %t8526 %t8538 = call ptr @realloc(ptr %t8537, i64 %t8536) store ptr %t8538, ptr %t8526 store i32 %t8532, ptr %t8525 br label %put1804 put1804: %t8539 = load ptr, ptr %t8526 %t8540 = getelementptr inbounds ptr, ptr %t8539, i32 %t8527 store ptr @.str8269, ptr %t8540 %t8541 = add i32 %t8527, 1 store i32 %t8541, ptr %t8524 %t8542 = load ptr, ptr %t427 %t8543 = getelementptr inbounds %LSlice, ptr %t8542, i32 0, i32 1 %t8544 = getelementptr inbounds %LSlice, ptr %t8542, i32 0, i32 2 %t8545 = getelementptr inbounds %LSlice, ptr %t8542, i32 0, i32 0 %t8546 = load i32, ptr %t8543 %t8547 = load i32, ptr %t8544 %t8548 = icmp sge i32 %t8546, %t8547 br i1 %t8548, label %grow1805, label %put1806 grow1805: %t8549 = mul i32 %t8547, 2 %t8550 = icmp eq i32 %t8547, 0 %t8551 = select i1 %t8550, i32 8, i32 %t8549 %t8552 = getelementptr ptr, ptr null, i32 1 %t8553 = ptrtoint ptr %t8552 to i64 %t8554 = zext i32 %t8551 to i64 %t8555 = mul i64 %t8554, %t8553 %t8556 = load ptr, ptr %t8545 %t8557 = call ptr @realloc(ptr %t8556, i64 %t8555) store ptr %t8557, ptr %t8545 store i32 %t8551, ptr %t8544 br label %put1806 put1806: %t8558 = load ptr, ptr %t8545 %t8559 = getelementptr inbounds ptr, ptr %t8558, i32 %t8546 store ptr @.str8270, ptr %t8559 %t8560 = add i32 %t8546, 1 store i32 %t8560, ptr %t8543 br label %ifend1802 ifend1802: %t8561 = load ptr, ptr %t1 %t8562 = call i32 @lp_str_eq(ptr %t8561, ptr @.str8271) %t8563 = icmp ne i32 %t8562, 0 br i1 %t8563, label %then1807, label %ifend1809 then1807: store ptr @.str8272, ptr %t420 %t8564 = load ptr, ptr %t427 %t8565 = getelementptr inbounds %LSlice, ptr %t8564, i32 0, i32 1 %t8566 = getelementptr inbounds %LSlice, ptr %t8564, i32 0, i32 2 %t8567 = getelementptr inbounds %LSlice, ptr %t8564, i32 0, i32 0 %t8568 = load i32, ptr %t8565 %t8569 = load i32, ptr %t8566 %t8570 = icmp sge i32 %t8568, %t8569 br i1 %t8570, label %grow1810, label %put1811 grow1810: %t8571 = mul i32 %t8569, 2 %t8572 = icmp eq i32 %t8569, 0 %t8573 = select i1 %t8572, i32 8, i32 %t8571 %t8574 = getelementptr ptr, ptr null, i32 1 %t8575 = ptrtoint ptr %t8574 to i64 %t8576 = zext i32 %t8573 to i64 %t8577 = mul i64 %t8576, %t8575 %t8578 = load ptr, ptr %t8567 %t8579 = call ptr @realloc(ptr %t8578, i64 %t8577) store ptr %t8579, ptr %t8567 store i32 %t8573, ptr %t8566 br label %put1811 put1811: %t8580 = load ptr, ptr %t8567 %t8581 = getelementptr inbounds ptr, ptr %t8580, i32 %t8568 store ptr @.str8273, ptr %t8581 %t8582 = add i32 %t8568, 1 store i32 %t8582, ptr %t8565 %t8583 = load ptr, ptr %t427 %t8584 = getelementptr inbounds %LSlice, ptr %t8583, i32 0, i32 1 %t8585 = getelementptr inbounds %LSlice, ptr %t8583, i32 0, i32 2 %t8586 = getelementptr inbounds %LSlice, ptr %t8583, i32 0, i32 0 %t8587 = load i32, ptr %t8584 %t8588 = load i32, ptr %t8585 %t8589 = icmp sge i32 %t8587, %t8588 br i1 %t8589, label %grow1812, label %put1813 grow1812: %t8590 = mul i32 %t8588, 2 %t8591 = icmp eq i32 %t8588, 0 %t8592 = select i1 %t8591, i32 8, i32 %t8590 %t8593 = getelementptr ptr, ptr null, i32 1 %t8594 = ptrtoint ptr %t8593 to i64 %t8595 = zext i32 %t8592 to i64 %t8596 = mul i64 %t8595, %t8594 %t8597 = load ptr, ptr %t8586 %t8598 = call ptr @realloc(ptr %t8597, i64 %t8596) store ptr %t8598, ptr %t8586 store i32 %t8592, ptr %t8585 br label %put1813 put1813: %t8599 = load ptr, ptr %t8586 %t8600 = getelementptr inbounds ptr, ptr %t8599, i32 %t8587 store ptr @.str8274, ptr %t8600 %t8601 = add i32 %t8587, 1 store i32 %t8601, ptr %t8584 br label %ifend1809 ifend1809: %t8602 = load ptr, ptr %t1 %t8603 = call i32 @lp_str_eq(ptr %t8602, ptr @.str8275) %t8604 = icmp ne i32 %t8603, 0 br i1 %t8604, label %then1814, label %ifend1816 then1814: store ptr @.str8276, ptr %t420 %t8605 = load ptr, ptr %t427 %t8606 = getelementptr inbounds %LSlice, ptr %t8605, i32 0, i32 1 %t8607 = getelementptr inbounds %LSlice, ptr %t8605, i32 0, i32 2 %t8608 = getelementptr inbounds %LSlice, ptr %t8605, i32 0, i32 0 %t8609 = load i32, ptr %t8606 %t8610 = load i32, ptr %t8607 %t8611 = icmp sge i32 %t8609, %t8610 br i1 %t8611, label %grow1817, label %put1818 grow1817: %t8612 = mul i32 %t8610, 2 %t8613 = icmp eq i32 %t8610, 0 %t8614 = select i1 %t8613, i32 8, i32 %t8612 %t8615 = getelementptr ptr, ptr null, i32 1 %t8616 = ptrtoint ptr %t8615 to i64 %t8617 = zext i32 %t8614 to i64 %t8618 = mul i64 %t8617, %t8616 %t8619 = load ptr, ptr %t8608 %t8620 = call ptr @realloc(ptr %t8619, i64 %t8618) store ptr %t8620, ptr %t8608 store i32 %t8614, ptr %t8607 br label %put1818 put1818: %t8621 = load ptr, ptr %t8608 %t8622 = getelementptr inbounds ptr, ptr %t8621, i32 %t8609 store ptr @.str8277, ptr %t8622 %t8623 = add i32 %t8609, 1 store i32 %t8623, ptr %t8606 br label %ifend1816 ifend1816: %t8624 = load ptr, ptr %t1 %t8625 = call i32 @lp_str_eq(ptr %t8624, ptr @.str8278) %t8626 = icmp ne i32 %t8625, 0 br i1 %t8626, label %then1819, label %ifend1821 then1819: store ptr @.str8279, ptr %t420 %t8627 = load ptr, ptr %t427 %t8628 = getelementptr inbounds %LSlice, ptr %t8627, i32 0, i32 1 %t8629 = getelementptr inbounds %LSlice, ptr %t8627, i32 0, i32 2 %t8630 = getelementptr inbounds %LSlice, ptr %t8627, i32 0, i32 0 %t8631 = load i32, ptr %t8628 %t8632 = load i32, ptr %t8629 %t8633 = icmp sge i32 %t8631, %t8632 br i1 %t8633, label %grow1822, label %put1823 grow1822: %t8634 = mul i32 %t8632, 2 %t8635 = icmp eq i32 %t8632, 0 %t8636 = select i1 %t8635, i32 8, i32 %t8634 %t8637 = getelementptr ptr, ptr null, i32 1 %t8638 = ptrtoint ptr %t8637 to i64 %t8639 = zext i32 %t8636 to i64 %t8640 = mul i64 %t8639, %t8638 %t8641 = load ptr, ptr %t8630 %t8642 = call ptr @realloc(ptr %t8641, i64 %t8640) store ptr %t8642, ptr %t8630 store i32 %t8636, ptr %t8629 br label %put1823 put1823: %t8643 = load ptr, ptr %t8630 %t8644 = getelementptr inbounds ptr, ptr %t8643, i32 %t8631 store ptr @.str8280, ptr %t8644 %t8645 = add i32 %t8631, 1 store i32 %t8645, ptr %t8628 %t8646 = load ptr, ptr %t427 %t8647 = getelementptr inbounds %LSlice, ptr %t8646, i32 0, i32 1 %t8648 = getelementptr inbounds %LSlice, ptr %t8646, i32 0, i32 2 %t8649 = getelementptr inbounds %LSlice, ptr %t8646, i32 0, i32 0 %t8650 = load i32, ptr %t8647 %t8651 = load i32, ptr %t8648 %t8652 = icmp sge i32 %t8650, %t8651 br i1 %t8652, label %grow1824, label %put1825 grow1824: %t8653 = mul i32 %t8651, 2 %t8654 = icmp eq i32 %t8651, 0 %t8655 = select i1 %t8654, i32 8, i32 %t8653 %t8656 = getelementptr ptr, ptr null, i32 1 %t8657 = ptrtoint ptr %t8656 to i64 %t8658 = zext i32 %t8655 to i64 %t8659 = mul i64 %t8658, %t8657 %t8660 = load ptr, ptr %t8649 %t8661 = call ptr @realloc(ptr %t8660, i64 %t8659) store ptr %t8661, ptr %t8649 store i32 %t8655, ptr %t8648 br label %put1825 put1825: %t8662 = load ptr, ptr %t8649 %t8663 = getelementptr inbounds ptr, ptr %t8662, i32 %t8650 store ptr @.str8281, ptr %t8663 %t8664 = add i32 %t8650, 1 store i32 %t8664, ptr %t8647 br label %ifend1821 ifend1821: %t8665 = load ptr, ptr %t1 %t8666 = call i32 @lp_str_eq(ptr %t8665, ptr @.str8282) %t8667 = icmp ne i32 %t8666, 0 br i1 %t8667, label %then1826, label %ifend1828 then1826: store ptr @.str8283, ptr %t420 %t8668 = load ptr, ptr %t427 %t8669 = getelementptr inbounds %LSlice, ptr %t8668, i32 0, i32 1 %t8670 = getelementptr inbounds %LSlice, ptr %t8668, i32 0, i32 2 %t8671 = getelementptr inbounds %LSlice, ptr %t8668, i32 0, i32 0 %t8672 = load i32, ptr %t8669 %t8673 = load i32, ptr %t8670 %t8674 = icmp sge i32 %t8672, %t8673 br i1 %t8674, label %grow1829, label %put1830 grow1829: %t8675 = mul i32 %t8673, 2 %t8676 = icmp eq i32 %t8673, 0 %t8677 = select i1 %t8676, i32 8, i32 %t8675 %t8678 = getelementptr ptr, ptr null, i32 1 %t8679 = ptrtoint ptr %t8678 to i64 %t8680 = zext i32 %t8677 to i64 %t8681 = mul i64 %t8680, %t8679 %t8682 = load ptr, ptr %t8671 %t8683 = call ptr @realloc(ptr %t8682, i64 %t8681) store ptr %t8683, ptr %t8671 store i32 %t8677, ptr %t8670 br label %put1830 put1830: %t8684 = load ptr, ptr %t8671 %t8685 = getelementptr inbounds ptr, ptr %t8684, i32 %t8672 store ptr @.str8284, ptr %t8685 %t8686 = add i32 %t8672, 1 store i32 %t8686, ptr %t8669 br label %ifend1828 ifend1828: br label %ifend1763 ifend1763: %t8687 = load ptr, ptr %t0 %t8688 = call i32 @lp_str_eq(ptr %t8687, ptr @.str8285) %t8689 = icmp ne i32 %t8688, 0 br i1 %t8689, label %then1831, label %ifend1833 then1831: %t8690 = load ptr, ptr %t1 %t8691 = call i32 @lp_str_eq(ptr %t8690, ptr @.str8286) %t8692 = icmp ne i32 %t8691, 0 br i1 %t8692, label %then1834, label %ifend1836 then1834: store ptr @.str8287, ptr %t420 br label %ifend1836 ifend1836: %t8693 = load ptr, ptr %t1 %t8694 = call i32 @lp_str_eq(ptr %t8693, ptr @.str8288) %t8695 = icmp ne i32 %t8694, 0 br i1 %t8695, label %then1837, label %ifend1839 then1837: store ptr @.str8289, ptr %t420 %t8696 = load ptr, ptr %t427 %t8697 = getelementptr inbounds %LSlice, ptr %t8696, i32 0, i32 1 %t8698 = getelementptr inbounds %LSlice, ptr %t8696, i32 0, i32 2 %t8699 = getelementptr inbounds %LSlice, ptr %t8696, i32 0, i32 0 %t8700 = load i32, ptr %t8697 %t8701 = load i32, ptr %t8698 %t8702 = icmp sge i32 %t8700, %t8701 br i1 %t8702, label %grow1840, label %put1841 grow1840: %t8703 = mul i32 %t8701, 2 %t8704 = icmp eq i32 %t8701, 0 %t8705 = select i1 %t8704, i32 8, i32 %t8703 %t8706 = getelementptr ptr, ptr null, i32 1 %t8707 = ptrtoint ptr %t8706 to i64 %t8708 = zext i32 %t8705 to i64 %t8709 = mul i64 %t8708, %t8707 %t8710 = load ptr, ptr %t8699 %t8711 = call ptr @realloc(ptr %t8710, i64 %t8709) store ptr %t8711, ptr %t8699 store i32 %t8705, ptr %t8698 br label %put1841 put1841: %t8712 = load ptr, ptr %t8699 %t8713 = getelementptr inbounds ptr, ptr %t8712, i32 %t8700 store ptr @.str8290, ptr %t8713 %t8714 = add i32 %t8700, 1 store i32 %t8714, ptr %t8697 %t8715 = load ptr, ptr %t427 %t8716 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 1 %t8717 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 2 %t8718 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 0 %t8719 = load i32, ptr %t8716 %t8720 = load i32, ptr %t8717 %t8721 = icmp sge i32 %t8719, %t8720 br i1 %t8721, label %grow1842, label %put1843 grow1842: %t8722 = mul i32 %t8720, 2 %t8723 = icmp eq i32 %t8720, 0 %t8724 = select i1 %t8723, i32 8, i32 %t8722 %t8725 = getelementptr ptr, ptr null, i32 1 %t8726 = ptrtoint ptr %t8725 to i64 %t8727 = zext i32 %t8724 to i64 %t8728 = mul i64 %t8727, %t8726 %t8729 = load ptr, ptr %t8718 %t8730 = call ptr @realloc(ptr %t8729, i64 %t8728) store ptr %t8730, ptr %t8718 store i32 %t8724, ptr %t8717 br label %put1843 put1843: %t8731 = load ptr, ptr %t8718 %t8732 = getelementptr inbounds ptr, ptr %t8731, i32 %t8719 store ptr @.str8291, ptr %t8732 %t8733 = add i32 %t8719, 1 store i32 %t8733, ptr %t8716 %t8734 = load ptr, ptr %t427 %t8735 = getelementptr inbounds %LSlice, ptr %t8734, i32 0, i32 1 %t8736 = getelementptr inbounds %LSlice, ptr %t8734, i32 0, i32 2 %t8737 = getelementptr inbounds %LSlice, ptr %t8734, i32 0, i32 0 %t8738 = load i32, ptr %t8735 %t8739 = load i32, ptr %t8736 %t8740 = icmp sge i32 %t8738, %t8739 br i1 %t8740, label %grow1844, label %put1845 grow1844: %t8741 = mul i32 %t8739, 2 %t8742 = icmp eq i32 %t8739, 0 %t8743 = select i1 %t8742, i32 8, i32 %t8741 %t8744 = getelementptr ptr, ptr null, i32 1 %t8745 = ptrtoint ptr %t8744 to i64 %t8746 = zext i32 %t8743 to i64 %t8747 = mul i64 %t8746, %t8745 %t8748 = load ptr, ptr %t8737 %t8749 = call ptr @realloc(ptr %t8748, i64 %t8747) store ptr %t8749, ptr %t8737 store i32 %t8743, ptr %t8736 br label %put1845 put1845: %t8750 = load ptr, ptr %t8737 %t8751 = getelementptr inbounds ptr, ptr %t8750, i32 %t8738 store ptr @.str8292, ptr %t8751 %t8752 = add i32 %t8738, 1 store i32 %t8752, ptr %t8735 br label %ifend1839 ifend1839: %t8753 = load ptr, ptr %t1 %t8754 = call i32 @lp_str_eq(ptr %t8753, ptr @.str8293) %t8755 = icmp ne i32 %t8754, 0 br i1 %t8755, label %then1846, label %ifend1848 then1846: store ptr @.str8294, ptr %t420 %t8756 = load ptr, ptr %t427 %t8757 = getelementptr inbounds %LSlice, ptr %t8756, i32 0, i32 1 %t8758 = getelementptr inbounds %LSlice, ptr %t8756, i32 0, i32 2 %t8759 = getelementptr inbounds %LSlice, ptr %t8756, i32 0, i32 0 %t8760 = load i32, ptr %t8757 %t8761 = load i32, ptr %t8758 %t8762 = icmp sge i32 %t8760, %t8761 br i1 %t8762, label %grow1849, label %put1850 grow1849: %t8763 = mul i32 %t8761, 2 %t8764 = icmp eq i32 %t8761, 0 %t8765 = select i1 %t8764, i32 8, i32 %t8763 %t8766 = getelementptr ptr, ptr null, i32 1 %t8767 = ptrtoint ptr %t8766 to i64 %t8768 = zext i32 %t8765 to i64 %t8769 = mul i64 %t8768, %t8767 %t8770 = load ptr, ptr %t8759 %t8771 = call ptr @realloc(ptr %t8770, i64 %t8769) store ptr %t8771, ptr %t8759 store i32 %t8765, ptr %t8758 br label %put1850 put1850: %t8772 = load ptr, ptr %t8759 %t8773 = getelementptr inbounds ptr, ptr %t8772, i32 %t8760 store ptr @.str8295, ptr %t8773 %t8774 = add i32 %t8760, 1 store i32 %t8774, ptr %t8757 %t8775 = load ptr, ptr %t427 %t8776 = getelementptr inbounds %LSlice, ptr %t8775, i32 0, i32 1 %t8777 = getelementptr inbounds %LSlice, ptr %t8775, i32 0, i32 2 %t8778 = getelementptr inbounds %LSlice, ptr %t8775, i32 0, i32 0 %t8779 = load i32, ptr %t8776 %t8780 = load i32, ptr %t8777 %t8781 = icmp sge i32 %t8779, %t8780 br i1 %t8781, label %grow1851, label %put1852 grow1851: %t8782 = mul i32 %t8780, 2 %t8783 = icmp eq i32 %t8780, 0 %t8784 = select i1 %t8783, i32 8, i32 %t8782 %t8785 = getelementptr ptr, ptr null, i32 1 %t8786 = ptrtoint ptr %t8785 to i64 %t8787 = zext i32 %t8784 to i64 %t8788 = mul i64 %t8787, %t8786 %t8789 = load ptr, ptr %t8778 %t8790 = call ptr @realloc(ptr %t8789, i64 %t8788) store ptr %t8790, ptr %t8778 store i32 %t8784, ptr %t8777 br label %put1852 put1852: %t8791 = load ptr, ptr %t8778 %t8792 = getelementptr inbounds ptr, ptr %t8791, i32 %t8779 store ptr @.str8296, ptr %t8792 %t8793 = add i32 %t8779, 1 store i32 %t8793, ptr %t8776 br label %ifend1848 ifend1848: %t8794 = load ptr, ptr %t1 %t8795 = call i32 @lp_str_eq(ptr %t8794, ptr @.str8297) %t8796 = icmp ne i32 %t8795, 0 br i1 %t8796, label %then1853, label %ifend1855 then1853: store ptr @.str8298, ptr %t420 %t8797 = load ptr, ptr %t427 %t8798 = getelementptr inbounds %LSlice, ptr %t8797, i32 0, i32 1 %t8799 = getelementptr inbounds %LSlice, ptr %t8797, i32 0, i32 2 %t8800 = getelementptr inbounds %LSlice, ptr %t8797, i32 0, i32 0 %t8801 = load i32, ptr %t8798 %t8802 = load i32, ptr %t8799 %t8803 = icmp sge i32 %t8801, %t8802 br i1 %t8803, label %grow1856, label %put1857 grow1856: %t8804 = mul i32 %t8802, 2 %t8805 = icmp eq i32 %t8802, 0 %t8806 = select i1 %t8805, i32 8, i32 %t8804 %t8807 = getelementptr ptr, ptr null, i32 1 %t8808 = ptrtoint ptr %t8807 to i64 %t8809 = zext i32 %t8806 to i64 %t8810 = mul i64 %t8809, %t8808 %t8811 = load ptr, ptr %t8800 %t8812 = call ptr @realloc(ptr %t8811, i64 %t8810) store ptr %t8812, ptr %t8800 store i32 %t8806, ptr %t8799 br label %put1857 put1857: %t8813 = load ptr, ptr %t8800 %t8814 = getelementptr inbounds ptr, ptr %t8813, i32 %t8801 store ptr @.str8299, ptr %t8814 %t8815 = add i32 %t8801, 1 store i32 %t8815, ptr %t8798 %t8816 = load ptr, ptr %t427 %t8817 = getelementptr inbounds %LSlice, ptr %t8816, i32 0, i32 1 %t8818 = getelementptr inbounds %LSlice, ptr %t8816, i32 0, i32 2 %t8819 = getelementptr inbounds %LSlice, ptr %t8816, i32 0, i32 0 %t8820 = load i32, ptr %t8817 %t8821 = load i32, ptr %t8818 %t8822 = icmp sge i32 %t8820, %t8821 br i1 %t8822, label %grow1858, label %put1859 grow1858: %t8823 = mul i32 %t8821, 2 %t8824 = icmp eq i32 %t8821, 0 %t8825 = select i1 %t8824, i32 8, i32 %t8823 %t8826 = getelementptr ptr, ptr null, i32 1 %t8827 = ptrtoint ptr %t8826 to i64 %t8828 = zext i32 %t8825 to i64 %t8829 = mul i64 %t8828, %t8827 %t8830 = load ptr, ptr %t8819 %t8831 = call ptr @realloc(ptr %t8830, i64 %t8829) store ptr %t8831, ptr %t8819 store i32 %t8825, ptr %t8818 br label %put1859 put1859: %t8832 = load ptr, ptr %t8819 %t8833 = getelementptr inbounds ptr, ptr %t8832, i32 %t8820 store ptr @.str8300, ptr %t8833 %t8834 = add i32 %t8820, 1 store i32 %t8834, ptr %t8817 %t8835 = load ptr, ptr %t427 %t8836 = getelementptr inbounds %LSlice, ptr %t8835, i32 0, i32 1 %t8837 = getelementptr inbounds %LSlice, ptr %t8835, i32 0, i32 2 %t8838 = getelementptr inbounds %LSlice, ptr %t8835, i32 0, i32 0 %t8839 = load i32, ptr %t8836 %t8840 = load i32, ptr %t8837 %t8841 = icmp sge i32 %t8839, %t8840 br i1 %t8841, label %grow1860, label %put1861 grow1860: %t8842 = mul i32 %t8840, 2 %t8843 = icmp eq i32 %t8840, 0 %t8844 = select i1 %t8843, i32 8, i32 %t8842 %t8845 = getelementptr ptr, ptr null, i32 1 %t8846 = ptrtoint ptr %t8845 to i64 %t8847 = zext i32 %t8844 to i64 %t8848 = mul i64 %t8847, %t8846 %t8849 = load ptr, ptr %t8838 %t8850 = call ptr @realloc(ptr %t8849, i64 %t8848) store ptr %t8850, ptr %t8838 store i32 %t8844, ptr %t8837 br label %put1861 put1861: %t8851 = load ptr, ptr %t8838 %t8852 = getelementptr inbounds ptr, ptr %t8851, i32 %t8839 store ptr @.str8301, ptr %t8852 %t8853 = add i32 %t8839, 1 store i32 %t8853, ptr %t8836 br label %ifend1855 ifend1855: %t8854 = load ptr, ptr %t1 %t8855 = call i32 @lp_str_eq(ptr %t8854, ptr @.str8302) %t8856 = icmp ne i32 %t8855, 0 br i1 %t8856, label %then1862, label %ifend1864 then1862: store ptr @.str8303, ptr %t420 %t8857 = load ptr, ptr %t427 %t8858 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 1 %t8859 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 2 %t8860 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 0 %t8861 = load i32, ptr %t8858 %t8862 = load i32, ptr %t8859 %t8863 = icmp sge i32 %t8861, %t8862 br i1 %t8863, label %grow1865, label %put1866 grow1865: %t8864 = mul i32 %t8862, 2 %t8865 = icmp eq i32 %t8862, 0 %t8866 = select i1 %t8865, i32 8, i32 %t8864 %t8867 = getelementptr ptr, ptr null, i32 1 %t8868 = ptrtoint ptr %t8867 to i64 %t8869 = zext i32 %t8866 to i64 %t8870 = mul i64 %t8869, %t8868 %t8871 = load ptr, ptr %t8860 %t8872 = call ptr @realloc(ptr %t8871, i64 %t8870) store ptr %t8872, ptr %t8860 store i32 %t8866, ptr %t8859 br label %put1866 put1866: %t8873 = load ptr, ptr %t8860 %t8874 = getelementptr inbounds ptr, ptr %t8873, i32 %t8861 store ptr @.str8304, ptr %t8874 %t8875 = add i32 %t8861, 1 store i32 %t8875, ptr %t8858 %t8876 = load ptr, ptr %t427 %t8877 = getelementptr inbounds %LSlice, ptr %t8876, i32 0, i32 1 %t8878 = getelementptr inbounds %LSlice, ptr %t8876, i32 0, i32 2 %t8879 = getelementptr inbounds %LSlice, ptr %t8876, i32 0, i32 0 %t8880 = load i32, ptr %t8877 %t8881 = load i32, ptr %t8878 %t8882 = icmp sge i32 %t8880, %t8881 br i1 %t8882, label %grow1867, label %put1868 grow1867: %t8883 = mul i32 %t8881, 2 %t8884 = icmp eq i32 %t8881, 0 %t8885 = select i1 %t8884, i32 8, i32 %t8883 %t8886 = getelementptr ptr, ptr null, i32 1 %t8887 = ptrtoint ptr %t8886 to i64 %t8888 = zext i32 %t8885 to i64 %t8889 = mul i64 %t8888, %t8887 %t8890 = load ptr, ptr %t8879 %t8891 = call ptr @realloc(ptr %t8890, i64 %t8889) store ptr %t8891, ptr %t8879 store i32 %t8885, ptr %t8878 br label %put1868 put1868: %t8892 = load ptr, ptr %t8879 %t8893 = getelementptr inbounds ptr, ptr %t8892, i32 %t8880 store ptr @.str8305, ptr %t8893 %t8894 = add i32 %t8880, 1 store i32 %t8894, ptr %t8877 br label %ifend1864 ifend1864: %t8895 = load ptr, ptr %t1 %t8896 = call i32 @lp_str_eq(ptr %t8895, ptr @.str8306) %t8897 = icmp ne i32 %t8896, 0 br i1 %t8897, label %then1869, label %ifend1871 then1869: store ptr @.str8307, ptr %t420 %t8898 = load ptr, ptr %t427 %t8899 = getelementptr inbounds %LSlice, ptr %t8898, i32 0, i32 1 %t8900 = getelementptr inbounds %LSlice, ptr %t8898, i32 0, i32 2 %t8901 = getelementptr inbounds %LSlice, ptr %t8898, i32 0, i32 0 %t8902 = load i32, ptr %t8899 %t8903 = load i32, ptr %t8900 %t8904 = icmp sge i32 %t8902, %t8903 br i1 %t8904, label %grow1872, label %put1873 grow1872: %t8905 = mul i32 %t8903, 2 %t8906 = icmp eq i32 %t8903, 0 %t8907 = select i1 %t8906, i32 8, i32 %t8905 %t8908 = getelementptr ptr, ptr null, i32 1 %t8909 = ptrtoint ptr %t8908 to i64 %t8910 = zext i32 %t8907 to i64 %t8911 = mul i64 %t8910, %t8909 %t8912 = load ptr, ptr %t8901 %t8913 = call ptr @realloc(ptr %t8912, i64 %t8911) store ptr %t8913, ptr %t8901 store i32 %t8907, ptr %t8900 br label %put1873 put1873: %t8914 = load ptr, ptr %t8901 %t8915 = getelementptr inbounds ptr, ptr %t8914, i32 %t8902 store ptr @.str8308, ptr %t8915 %t8916 = add i32 %t8902, 1 store i32 %t8916, ptr %t8899 %t8917 = load ptr, ptr %t427 %t8918 = getelementptr inbounds %LSlice, ptr %t8917, i32 0, i32 1 %t8919 = getelementptr inbounds %LSlice, ptr %t8917, i32 0, i32 2 %t8920 = getelementptr inbounds %LSlice, ptr %t8917, i32 0, i32 0 %t8921 = load i32, ptr %t8918 %t8922 = load i32, ptr %t8919 %t8923 = icmp sge i32 %t8921, %t8922 br i1 %t8923, label %grow1874, label %put1875 grow1874: %t8924 = mul i32 %t8922, 2 %t8925 = icmp eq i32 %t8922, 0 %t8926 = select i1 %t8925, i32 8, i32 %t8924 %t8927 = getelementptr ptr, ptr null, i32 1 %t8928 = ptrtoint ptr %t8927 to i64 %t8929 = zext i32 %t8926 to i64 %t8930 = mul i64 %t8929, %t8928 %t8931 = load ptr, ptr %t8920 %t8932 = call ptr @realloc(ptr %t8931, i64 %t8930) store ptr %t8932, ptr %t8920 store i32 %t8926, ptr %t8919 br label %put1875 put1875: %t8933 = load ptr, ptr %t8920 %t8934 = getelementptr inbounds ptr, ptr %t8933, i32 %t8921 store ptr @.str8309, ptr %t8934 %t8935 = add i32 %t8921, 1 store i32 %t8935, ptr %t8918 br label %ifend1871 ifend1871: %t8936 = load ptr, ptr %t1 %t8937 = call i32 @lp_str_eq(ptr %t8936, ptr @.str8310) %t8938 = icmp ne i32 %t8937, 0 br i1 %t8938, label %then1876, label %ifend1878 then1876: store ptr @.str8311, ptr %t420 %t8939 = load ptr, ptr %t427 %t8940 = getelementptr inbounds %LSlice, ptr %t8939, i32 0, i32 1 %t8941 = getelementptr inbounds %LSlice, ptr %t8939, i32 0, i32 2 %t8942 = getelementptr inbounds %LSlice, ptr %t8939, i32 0, i32 0 %t8943 = load i32, ptr %t8940 %t8944 = load i32, ptr %t8941 %t8945 = icmp sge i32 %t8943, %t8944 br i1 %t8945, label %grow1879, label %put1880 grow1879: %t8946 = mul i32 %t8944, 2 %t8947 = icmp eq i32 %t8944, 0 %t8948 = select i1 %t8947, i32 8, i32 %t8946 %t8949 = getelementptr ptr, ptr null, i32 1 %t8950 = ptrtoint ptr %t8949 to i64 %t8951 = zext i32 %t8948 to i64 %t8952 = mul i64 %t8951, %t8950 %t8953 = load ptr, ptr %t8942 %t8954 = call ptr @realloc(ptr %t8953, i64 %t8952) store ptr %t8954, ptr %t8942 store i32 %t8948, ptr %t8941 br label %put1880 put1880: %t8955 = load ptr, ptr %t8942 %t8956 = getelementptr inbounds ptr, ptr %t8955, i32 %t8943 store ptr @.str8312, ptr %t8956 %t8957 = add i32 %t8943, 1 store i32 %t8957, ptr %t8940 br label %ifend1878 ifend1878: %t8958 = load ptr, ptr %t1 %t8959 = call i32 @lp_str_eq(ptr %t8958, ptr @.str8313) %t8960 = icmp ne i32 %t8959, 0 br i1 %t8960, label %then1881, label %ifend1883 then1881: store ptr @.str8314, ptr %t420 %t8961 = load ptr, ptr %t427 %t8962 = getelementptr inbounds %LSlice, ptr %t8961, i32 0, i32 1 %t8963 = getelementptr inbounds %LSlice, ptr %t8961, i32 0, i32 2 %t8964 = getelementptr inbounds %LSlice, ptr %t8961, i32 0, i32 0 %t8965 = load i32, ptr %t8962 %t8966 = load i32, ptr %t8963 %t8967 = icmp sge i32 %t8965, %t8966 br i1 %t8967, label %grow1884, label %put1885 grow1884: %t8968 = mul i32 %t8966, 2 %t8969 = icmp eq i32 %t8966, 0 %t8970 = select i1 %t8969, i32 8, i32 %t8968 %t8971 = getelementptr ptr, ptr null, i32 1 %t8972 = ptrtoint ptr %t8971 to i64 %t8973 = zext i32 %t8970 to i64 %t8974 = mul i64 %t8973, %t8972 %t8975 = load ptr, ptr %t8964 %t8976 = call ptr @realloc(ptr %t8975, i64 %t8974) store ptr %t8976, ptr %t8964 store i32 %t8970, ptr %t8963 br label %put1885 put1885: %t8977 = load ptr, ptr %t8964 %t8978 = getelementptr inbounds ptr, ptr %t8977, i32 %t8965 store ptr @.str8315, ptr %t8978 %t8979 = add i32 %t8965, 1 store i32 %t8979, ptr %t8962 br label %ifend1883 ifend1883: %t8980 = load ptr, ptr %t1 %t8981 = call i32 @lp_str_eq(ptr %t8980, ptr @.str8316) %t8982 = icmp ne i32 %t8981, 0 br i1 %t8982, label %then1886, label %ifend1888 then1886: store ptr @.str8317, ptr %t420 %t8983 = load ptr, ptr %t427 %t8984 = getelementptr inbounds %LSlice, ptr %t8983, i32 0, i32 1 %t8985 = getelementptr inbounds %LSlice, ptr %t8983, i32 0, i32 2 %t8986 = getelementptr inbounds %LSlice, ptr %t8983, i32 0, i32 0 %t8987 = load i32, ptr %t8984 %t8988 = load i32, ptr %t8985 %t8989 = icmp sge i32 %t8987, %t8988 br i1 %t8989, label %grow1889, label %put1890 grow1889: %t8990 = mul i32 %t8988, 2 %t8991 = icmp eq i32 %t8988, 0 %t8992 = select i1 %t8991, i32 8, i32 %t8990 %t8993 = getelementptr ptr, ptr null, i32 1 %t8994 = ptrtoint ptr %t8993 to i64 %t8995 = zext i32 %t8992 to i64 %t8996 = mul i64 %t8995, %t8994 %t8997 = load ptr, ptr %t8986 %t8998 = call ptr @realloc(ptr %t8997, i64 %t8996) store ptr %t8998, ptr %t8986 store i32 %t8992, ptr %t8985 br label %put1890 put1890: %t8999 = load ptr, ptr %t8986 %t9000 = getelementptr inbounds ptr, ptr %t8999, i32 %t8987 store ptr @.str8318, ptr %t9000 %t9001 = add i32 %t8987, 1 store i32 %t9001, ptr %t8984 br label %ifend1888 ifend1888: br label %ifend1833 ifend1833: %t9002 = load ptr, ptr %t0 %t9003 = call i32 @lp_str_eq(ptr %t9002, ptr @.str8319) %t9004 = icmp ne i32 %t9003, 0 br i1 %t9004, label %then1891, label %ifend1893 then1891: %t9005 = load ptr, ptr %t1 %t9006 = call i32 @lp_str_eq(ptr %t9005, ptr @.str8320) %t9007 = icmp ne i32 %t9006, 0 br i1 %t9007, label %then1894, label %ifend1896 then1894: store ptr @.str8321, ptr %t420 br label %ifend1896 ifend1896: %t9008 = load ptr, ptr %t1 %t9009 = call i32 @lp_str_eq(ptr %t9008, ptr @.str8322) %t9010 = icmp ne i32 %t9009, 0 br i1 %t9010, label %then1897, label %ifend1899 then1897: store ptr @.str8323, ptr %t420 %t9011 = load ptr, ptr %t427 %t9012 = getelementptr inbounds %LSlice, ptr %t9011, i32 0, i32 1 %t9013 = getelementptr inbounds %LSlice, ptr %t9011, i32 0, i32 2 %t9014 = getelementptr inbounds %LSlice, ptr %t9011, i32 0, i32 0 %t9015 = load i32, ptr %t9012 %t9016 = load i32, ptr %t9013 %t9017 = icmp sge i32 %t9015, %t9016 br i1 %t9017, label %grow1900, label %put1901 grow1900: %t9018 = mul i32 %t9016, 2 %t9019 = icmp eq i32 %t9016, 0 %t9020 = select i1 %t9019, i32 8, i32 %t9018 %t9021 = getelementptr ptr, ptr null, i32 1 %t9022 = ptrtoint ptr %t9021 to i64 %t9023 = zext i32 %t9020 to i64 %t9024 = mul i64 %t9023, %t9022 %t9025 = load ptr, ptr %t9014 %t9026 = call ptr @realloc(ptr %t9025, i64 %t9024) store ptr %t9026, ptr %t9014 store i32 %t9020, ptr %t9013 br label %put1901 put1901: %t9027 = load ptr, ptr %t9014 %t9028 = getelementptr inbounds ptr, ptr %t9027, i32 %t9015 store ptr @.str8324, ptr %t9028 %t9029 = add i32 %t9015, 1 store i32 %t9029, ptr %t9012 %t9030 = load ptr, ptr %t427 %t9031 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 1 %t9032 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 2 %t9033 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 0 %t9034 = load i32, ptr %t9031 %t9035 = load i32, ptr %t9032 %t9036 = icmp sge i32 %t9034, %t9035 br i1 %t9036, label %grow1902, label %put1903 grow1902: %t9037 = mul i32 %t9035, 2 %t9038 = icmp eq i32 %t9035, 0 %t9039 = select i1 %t9038, i32 8, i32 %t9037 %t9040 = getelementptr ptr, ptr null, i32 1 %t9041 = ptrtoint ptr %t9040 to i64 %t9042 = zext i32 %t9039 to i64 %t9043 = mul i64 %t9042, %t9041 %t9044 = load ptr, ptr %t9033 %t9045 = call ptr @realloc(ptr %t9044, i64 %t9043) store ptr %t9045, ptr %t9033 store i32 %t9039, ptr %t9032 br label %put1903 put1903: %t9046 = load ptr, ptr %t9033 %t9047 = getelementptr inbounds ptr, ptr %t9046, i32 %t9034 store ptr @.str8325, ptr %t9047 %t9048 = add i32 %t9034, 1 store i32 %t9048, ptr %t9031 br label %ifend1899 ifend1899: %t9049 = load ptr, ptr %t1 %t9050 = call i32 @lp_str_eq(ptr %t9049, ptr @.str8326) %t9051 = icmp ne i32 %t9050, 0 br i1 %t9051, label %then1904, label %ifend1906 then1904: store ptr @.str8327, ptr %t420 %t9052 = load ptr, ptr %t427 %t9053 = getelementptr inbounds %LSlice, ptr %t9052, i32 0, i32 1 %t9054 = getelementptr inbounds %LSlice, ptr %t9052, i32 0, i32 2 %t9055 = getelementptr inbounds %LSlice, ptr %t9052, i32 0, i32 0 %t9056 = load i32, ptr %t9053 %t9057 = load i32, ptr %t9054 %t9058 = icmp sge i32 %t9056, %t9057 br i1 %t9058, label %grow1907, label %put1908 grow1907: %t9059 = mul i32 %t9057, 2 %t9060 = icmp eq i32 %t9057, 0 %t9061 = select i1 %t9060, i32 8, i32 %t9059 %t9062 = getelementptr ptr, ptr null, i32 1 %t9063 = ptrtoint ptr %t9062 to i64 %t9064 = zext i32 %t9061 to i64 %t9065 = mul i64 %t9064, %t9063 %t9066 = load ptr, ptr %t9055 %t9067 = call ptr @realloc(ptr %t9066, i64 %t9065) store ptr %t9067, ptr %t9055 store i32 %t9061, ptr %t9054 br label %put1908 put1908: %t9068 = load ptr, ptr %t9055 %t9069 = getelementptr inbounds ptr, ptr %t9068, i32 %t9056 store ptr @.str8328, ptr %t9069 %t9070 = add i32 %t9056, 1 store i32 %t9070, ptr %t9053 %t9071 = load ptr, ptr %t427 %t9072 = getelementptr inbounds %LSlice, ptr %t9071, i32 0, i32 1 %t9073 = getelementptr inbounds %LSlice, ptr %t9071, i32 0, i32 2 %t9074 = getelementptr inbounds %LSlice, ptr %t9071, i32 0, i32 0 %t9075 = load i32, ptr %t9072 %t9076 = load i32, ptr %t9073 %t9077 = icmp sge i32 %t9075, %t9076 br i1 %t9077, label %grow1909, label %put1910 grow1909: %t9078 = mul i32 %t9076, 2 %t9079 = icmp eq i32 %t9076, 0 %t9080 = select i1 %t9079, i32 8, i32 %t9078 %t9081 = getelementptr ptr, ptr null, i32 1 %t9082 = ptrtoint ptr %t9081 to i64 %t9083 = zext i32 %t9080 to i64 %t9084 = mul i64 %t9083, %t9082 %t9085 = load ptr, ptr %t9074 %t9086 = call ptr @realloc(ptr %t9085, i64 %t9084) store ptr %t9086, ptr %t9074 store i32 %t9080, ptr %t9073 br label %put1910 put1910: %t9087 = load ptr, ptr %t9074 %t9088 = getelementptr inbounds ptr, ptr %t9087, i32 %t9075 store ptr @.str8329, ptr %t9088 %t9089 = add i32 %t9075, 1 store i32 %t9089, ptr %t9072 br label %ifend1906 ifend1906: %t9090 = load ptr, ptr %t1 %t9091 = call i32 @lp_str_eq(ptr %t9090, ptr @.str8330) %t9092 = icmp ne i32 %t9091, 0 br i1 %t9092, label %then1911, label %ifend1913 then1911: store ptr @.str8331, ptr %t420 %t9093 = load ptr, ptr %t427 %t9094 = getelementptr inbounds %LSlice, ptr %t9093, i32 0, i32 1 %t9095 = getelementptr inbounds %LSlice, ptr %t9093, i32 0, i32 2 %t9096 = getelementptr inbounds %LSlice, ptr %t9093, i32 0, i32 0 %t9097 = load i32, ptr %t9094 %t9098 = load i32, ptr %t9095 %t9099 = icmp sge i32 %t9097, %t9098 br i1 %t9099, label %grow1914, label %put1915 grow1914: %t9100 = mul i32 %t9098, 2 %t9101 = icmp eq i32 %t9098, 0 %t9102 = select i1 %t9101, i32 8, i32 %t9100 %t9103 = getelementptr ptr, ptr null, i32 1 %t9104 = ptrtoint ptr %t9103 to i64 %t9105 = zext i32 %t9102 to i64 %t9106 = mul i64 %t9105, %t9104 %t9107 = load ptr, ptr %t9096 %t9108 = call ptr @realloc(ptr %t9107, i64 %t9106) store ptr %t9108, ptr %t9096 store i32 %t9102, ptr %t9095 br label %put1915 put1915: %t9109 = load ptr, ptr %t9096 %t9110 = getelementptr inbounds ptr, ptr %t9109, i32 %t9097 store ptr @.str8332, ptr %t9110 %t9111 = add i32 %t9097, 1 store i32 %t9111, ptr %t9094 %t9112 = load ptr, ptr %t427 %t9113 = getelementptr inbounds %LSlice, ptr %t9112, i32 0, i32 1 %t9114 = getelementptr inbounds %LSlice, ptr %t9112, i32 0, i32 2 %t9115 = getelementptr inbounds %LSlice, ptr %t9112, i32 0, i32 0 %t9116 = load i32, ptr %t9113 %t9117 = load i32, ptr %t9114 %t9118 = icmp sge i32 %t9116, %t9117 br i1 %t9118, label %grow1916, label %put1917 grow1916: %t9119 = mul i32 %t9117, 2 %t9120 = icmp eq i32 %t9117, 0 %t9121 = select i1 %t9120, i32 8, i32 %t9119 %t9122 = getelementptr ptr, ptr null, i32 1 %t9123 = ptrtoint ptr %t9122 to i64 %t9124 = zext i32 %t9121 to i64 %t9125 = mul i64 %t9124, %t9123 %t9126 = load ptr, ptr %t9115 %t9127 = call ptr @realloc(ptr %t9126, i64 %t9125) store ptr %t9127, ptr %t9115 store i32 %t9121, ptr %t9114 br label %put1917 put1917: %t9128 = load ptr, ptr %t9115 %t9129 = getelementptr inbounds ptr, ptr %t9128, i32 %t9116 store ptr @.str8333, ptr %t9129 %t9130 = add i32 %t9116, 1 store i32 %t9130, ptr %t9113 br label %ifend1913 ifend1913: %t9131 = load ptr, ptr %t1 %t9132 = call i32 @lp_str_eq(ptr %t9131, ptr @.str8334) %t9133 = icmp ne i32 %t9132, 0 br i1 %t9133, label %then1918, label %ifend1920 then1918: store ptr @.str8335, ptr %t420 %t9134 = load ptr, ptr %t427 %t9135 = getelementptr inbounds %LSlice, ptr %t9134, i32 0, i32 1 %t9136 = getelementptr inbounds %LSlice, ptr %t9134, i32 0, i32 2 %t9137 = getelementptr inbounds %LSlice, ptr %t9134, i32 0, i32 0 %t9138 = load i32, ptr %t9135 %t9139 = load i32, ptr %t9136 %t9140 = icmp sge i32 %t9138, %t9139 br i1 %t9140, label %grow1921, label %put1922 grow1921: %t9141 = mul i32 %t9139, 2 %t9142 = icmp eq i32 %t9139, 0 %t9143 = select i1 %t9142, i32 8, i32 %t9141 %t9144 = getelementptr ptr, ptr null, i32 1 %t9145 = ptrtoint ptr %t9144 to i64 %t9146 = zext i32 %t9143 to i64 %t9147 = mul i64 %t9146, %t9145 %t9148 = load ptr, ptr %t9137 %t9149 = call ptr @realloc(ptr %t9148, i64 %t9147) store ptr %t9149, ptr %t9137 store i32 %t9143, ptr %t9136 br label %put1922 put1922: %t9150 = load ptr, ptr %t9137 %t9151 = getelementptr inbounds ptr, ptr %t9150, i32 %t9138 store ptr @.str8336, ptr %t9151 %t9152 = add i32 %t9138, 1 store i32 %t9152, ptr %t9135 br label %ifend1920 ifend1920: %t9153 = load ptr, ptr %t1 %t9154 = call i32 @lp_str_eq(ptr %t9153, ptr @.str8337) %t9155 = icmp ne i32 %t9154, 0 br i1 %t9155, label %then1923, label %ifend1925 then1923: store ptr @.str8338, ptr %t420 %t9156 = load ptr, ptr %t427 %t9157 = getelementptr inbounds %LSlice, ptr %t9156, i32 0, i32 1 %t9158 = getelementptr inbounds %LSlice, ptr %t9156, i32 0, i32 2 %t9159 = getelementptr inbounds %LSlice, ptr %t9156, i32 0, i32 0 %t9160 = load i32, ptr %t9157 %t9161 = load i32, ptr %t9158 %t9162 = icmp sge i32 %t9160, %t9161 br i1 %t9162, label %grow1926, label %put1927 grow1926: %t9163 = mul i32 %t9161, 2 %t9164 = icmp eq i32 %t9161, 0 %t9165 = select i1 %t9164, i32 8, i32 %t9163 %t9166 = getelementptr ptr, ptr null, i32 1 %t9167 = ptrtoint ptr %t9166 to i64 %t9168 = zext i32 %t9165 to i64 %t9169 = mul i64 %t9168, %t9167 %t9170 = load ptr, ptr %t9159 %t9171 = call ptr @realloc(ptr %t9170, i64 %t9169) store ptr %t9171, ptr %t9159 store i32 %t9165, ptr %t9158 br label %put1927 put1927: %t9172 = load ptr, ptr %t9159 %t9173 = getelementptr inbounds ptr, ptr %t9172, i32 %t9160 store ptr @.str8339, ptr %t9173 %t9174 = add i32 %t9160, 1 store i32 %t9174, ptr %t9157 br label %ifend1925 ifend1925: %t9175 = load ptr, ptr %t1 %t9176 = call i32 @lp_str_eq(ptr %t9175, ptr @.str8340) %t9177 = icmp ne i32 %t9176, 0 br i1 %t9177, label %then1928, label %ifend1930 then1928: store ptr @.str8341, ptr %t420 %t9178 = load ptr, ptr %t427 %t9179 = getelementptr inbounds %LSlice, ptr %t9178, i32 0, i32 1 %t9180 = getelementptr inbounds %LSlice, ptr %t9178, i32 0, i32 2 %t9181 = getelementptr inbounds %LSlice, ptr %t9178, i32 0, i32 0 %t9182 = load i32, ptr %t9179 %t9183 = load i32, ptr %t9180 %t9184 = icmp sge i32 %t9182, %t9183 br i1 %t9184, label %grow1931, label %put1932 grow1931: %t9185 = mul i32 %t9183, 2 %t9186 = icmp eq i32 %t9183, 0 %t9187 = select i1 %t9186, i32 8, i32 %t9185 %t9188 = getelementptr ptr, ptr null, i32 1 %t9189 = ptrtoint ptr %t9188 to i64 %t9190 = zext i32 %t9187 to i64 %t9191 = mul i64 %t9190, %t9189 %t9192 = load ptr, ptr %t9181 %t9193 = call ptr @realloc(ptr %t9192, i64 %t9191) store ptr %t9193, ptr %t9181 store i32 %t9187, ptr %t9180 br label %put1932 put1932: %t9194 = load ptr, ptr %t9181 %t9195 = getelementptr inbounds ptr, ptr %t9194, i32 %t9182 store ptr @.str8342, ptr %t9195 %t9196 = add i32 %t9182, 1 store i32 %t9196, ptr %t9179 br label %ifend1930 ifend1930: br label %ifend1893 ifend1893: %t9197 = load ptr, ptr %t0 %t9198 = call i32 @lp_str_eq(ptr %t9197, ptr @.str8343) %t9199 = icmp ne i32 %t9198, 0 br i1 %t9199, label %then1933, label %ifend1935 then1933: %t9200 = load ptr, ptr %t1 %t9201 = call i32 @lp_str_eq(ptr %t9200, ptr @.str8344) %t9202 = icmp ne i32 %t9201, 0 br i1 %t9202, label %then1936, label %ifend1938 then1936: store ptr @.str8345, ptr %t420 br label %ifend1938 ifend1938: %t9203 = load ptr, ptr %t1 %t9204 = call i32 @lp_str_eq(ptr %t9203, ptr @.str8346) %t9205 = icmp ne i32 %t9204, 0 br i1 %t9205, label %then1939, label %ifend1941 then1939: store ptr @.str8347, ptr %t420 %t9206 = load ptr, ptr %t427 %t9207 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 1 %t9208 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 2 %t9209 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 0 %t9210 = load i32, ptr %t9207 %t9211 = load i32, ptr %t9208 %t9212 = icmp sge i32 %t9210, %t9211 br i1 %t9212, label %grow1942, label %put1943 grow1942: %t9213 = mul i32 %t9211, 2 %t9214 = icmp eq i32 %t9211, 0 %t9215 = select i1 %t9214, i32 8, i32 %t9213 %t9216 = getelementptr ptr, ptr null, i32 1 %t9217 = ptrtoint ptr %t9216 to i64 %t9218 = zext i32 %t9215 to i64 %t9219 = mul i64 %t9218, %t9217 %t9220 = load ptr, ptr %t9209 %t9221 = call ptr @realloc(ptr %t9220, i64 %t9219) store ptr %t9221, ptr %t9209 store i32 %t9215, ptr %t9208 br label %put1943 put1943: %t9222 = load ptr, ptr %t9209 %t9223 = getelementptr inbounds ptr, ptr %t9222, i32 %t9210 store ptr @.str8348, ptr %t9223 %t9224 = add i32 %t9210, 1 store i32 %t9224, ptr %t9207 %t9225 = load ptr, ptr %t427 %t9226 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 1 %t9227 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 2 %t9228 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 0 %t9229 = load i32, ptr %t9226 %t9230 = load i32, ptr %t9227 %t9231 = icmp sge i32 %t9229, %t9230 br i1 %t9231, label %grow1944, label %put1945 grow1944: %t9232 = mul i32 %t9230, 2 %t9233 = icmp eq i32 %t9230, 0 %t9234 = select i1 %t9233, i32 8, i32 %t9232 %t9235 = getelementptr ptr, ptr null, i32 1 %t9236 = ptrtoint ptr %t9235 to i64 %t9237 = zext i32 %t9234 to i64 %t9238 = mul i64 %t9237, %t9236 %t9239 = load ptr, ptr %t9228 %t9240 = call ptr @realloc(ptr %t9239, i64 %t9238) store ptr %t9240, ptr %t9228 store i32 %t9234, ptr %t9227 br label %put1945 put1945: %t9241 = load ptr, ptr %t9228 %t9242 = getelementptr inbounds ptr, ptr %t9241, i32 %t9229 store ptr @.str8349, ptr %t9242 %t9243 = add i32 %t9229, 1 store i32 %t9243, ptr %t9226 br label %ifend1941 ifend1941: %t9244 = load ptr, ptr %t1 %t9245 = call i32 @lp_str_eq(ptr %t9244, ptr @.str8350) %t9246 = icmp ne i32 %t9245, 0 br i1 %t9246, label %then1946, label %ifend1948 then1946: store ptr @.str8351, ptr %t420 %t9247 = load ptr, ptr %t427 %t9248 = getelementptr inbounds %LSlice, ptr %t9247, i32 0, i32 1 %t9249 = getelementptr inbounds %LSlice, ptr %t9247, i32 0, i32 2 %t9250 = getelementptr inbounds %LSlice, ptr %t9247, i32 0, i32 0 %t9251 = load i32, ptr %t9248 %t9252 = load i32, ptr %t9249 %t9253 = icmp sge i32 %t9251, %t9252 br i1 %t9253, label %grow1949, label %put1950 grow1949: %t9254 = mul i32 %t9252, 2 %t9255 = icmp eq i32 %t9252, 0 %t9256 = select i1 %t9255, i32 8, i32 %t9254 %t9257 = getelementptr ptr, ptr null, i32 1 %t9258 = ptrtoint ptr %t9257 to i64 %t9259 = zext i32 %t9256 to i64 %t9260 = mul i64 %t9259, %t9258 %t9261 = load ptr, ptr %t9250 %t9262 = call ptr @realloc(ptr %t9261, i64 %t9260) store ptr %t9262, ptr %t9250 store i32 %t9256, ptr %t9249 br label %put1950 put1950: %t9263 = load ptr, ptr %t9250 %t9264 = getelementptr inbounds ptr, ptr %t9263, i32 %t9251 store ptr @.str8352, ptr %t9264 %t9265 = add i32 %t9251, 1 store i32 %t9265, ptr %t9248 %t9266 = load ptr, ptr %t427 %t9267 = getelementptr inbounds %LSlice, ptr %t9266, i32 0, i32 1 %t9268 = getelementptr inbounds %LSlice, ptr %t9266, i32 0, i32 2 %t9269 = getelementptr inbounds %LSlice, ptr %t9266, i32 0, i32 0 %t9270 = load i32, ptr %t9267 %t9271 = load i32, ptr %t9268 %t9272 = icmp sge i32 %t9270, %t9271 br i1 %t9272, label %grow1951, label %put1952 grow1951: %t9273 = mul i32 %t9271, 2 %t9274 = icmp eq i32 %t9271, 0 %t9275 = select i1 %t9274, i32 8, i32 %t9273 %t9276 = getelementptr ptr, ptr null, i32 1 %t9277 = ptrtoint ptr %t9276 to i64 %t9278 = zext i32 %t9275 to i64 %t9279 = mul i64 %t9278, %t9277 %t9280 = load ptr, ptr %t9269 %t9281 = call ptr @realloc(ptr %t9280, i64 %t9279) store ptr %t9281, ptr %t9269 store i32 %t9275, ptr %t9268 br label %put1952 put1952: %t9282 = load ptr, ptr %t9269 %t9283 = getelementptr inbounds ptr, ptr %t9282, i32 %t9270 store ptr @.str8353, ptr %t9283 %t9284 = add i32 %t9270, 1 store i32 %t9284, ptr %t9267 br label %ifend1948 ifend1948: %t9285 = load ptr, ptr %t1 %t9286 = call i32 @lp_str_eq(ptr %t9285, ptr @.str8354) %t9287 = icmp ne i32 %t9286, 0 br i1 %t9287, label %then1953, label %ifend1955 then1953: store ptr @.str8355, ptr %t420 %t9288 = load ptr, ptr %t427 %t9289 = getelementptr inbounds %LSlice, ptr %t9288, i32 0, i32 1 %t9290 = getelementptr inbounds %LSlice, ptr %t9288, i32 0, i32 2 %t9291 = getelementptr inbounds %LSlice, ptr %t9288, i32 0, i32 0 %t9292 = load i32, ptr %t9289 %t9293 = load i32, ptr %t9290 %t9294 = icmp sge i32 %t9292, %t9293 br i1 %t9294, label %grow1956, label %put1957 grow1956: %t9295 = mul i32 %t9293, 2 %t9296 = icmp eq i32 %t9293, 0 %t9297 = select i1 %t9296, i32 8, i32 %t9295 %t9298 = getelementptr ptr, ptr null, i32 1 %t9299 = ptrtoint ptr %t9298 to i64 %t9300 = zext i32 %t9297 to i64 %t9301 = mul i64 %t9300, %t9299 %t9302 = load ptr, ptr %t9291 %t9303 = call ptr @realloc(ptr %t9302, i64 %t9301) store ptr %t9303, ptr %t9291 store i32 %t9297, ptr %t9290 br label %put1957 put1957: %t9304 = load ptr, ptr %t9291 %t9305 = getelementptr inbounds ptr, ptr %t9304, i32 %t9292 store ptr @.str8356, ptr %t9305 %t9306 = add i32 %t9292, 1 store i32 %t9306, ptr %t9289 %t9307 = load ptr, ptr %t427 %t9308 = getelementptr inbounds %LSlice, ptr %t9307, i32 0, i32 1 %t9309 = getelementptr inbounds %LSlice, ptr %t9307, i32 0, i32 2 %t9310 = getelementptr inbounds %LSlice, ptr %t9307, i32 0, i32 0 %t9311 = load i32, ptr %t9308 %t9312 = load i32, ptr %t9309 %t9313 = icmp sge i32 %t9311, %t9312 br i1 %t9313, label %grow1958, label %put1959 grow1958: %t9314 = mul i32 %t9312, 2 %t9315 = icmp eq i32 %t9312, 0 %t9316 = select i1 %t9315, i32 8, i32 %t9314 %t9317 = getelementptr ptr, ptr null, i32 1 %t9318 = ptrtoint ptr %t9317 to i64 %t9319 = zext i32 %t9316 to i64 %t9320 = mul i64 %t9319, %t9318 %t9321 = load ptr, ptr %t9310 %t9322 = call ptr @realloc(ptr %t9321, i64 %t9320) store ptr %t9322, ptr %t9310 store i32 %t9316, ptr %t9309 br label %put1959 put1959: %t9323 = load ptr, ptr %t9310 %t9324 = getelementptr inbounds ptr, ptr %t9323, i32 %t9311 store ptr @.str8357, ptr %t9324 %t9325 = add i32 %t9311, 1 store i32 %t9325, ptr %t9308 br label %ifend1955 ifend1955: %t9326 = load ptr, ptr %t1 %t9327 = call i32 @lp_str_eq(ptr %t9326, ptr @.str8358) %t9328 = icmp ne i32 %t9327, 0 br i1 %t9328, label %then1960, label %ifend1962 then1960: store ptr @.str8359, ptr %t420 %t9329 = load ptr, ptr %t427 %t9330 = getelementptr inbounds %LSlice, ptr %t9329, i32 0, i32 1 %t9331 = getelementptr inbounds %LSlice, ptr %t9329, i32 0, i32 2 %t9332 = getelementptr inbounds %LSlice, ptr %t9329, i32 0, i32 0 %t9333 = load i32, ptr %t9330 %t9334 = load i32, ptr %t9331 %t9335 = icmp sge i32 %t9333, %t9334 br i1 %t9335, label %grow1963, label %put1964 grow1963: %t9336 = mul i32 %t9334, 2 %t9337 = icmp eq i32 %t9334, 0 %t9338 = select i1 %t9337, i32 8, i32 %t9336 %t9339 = getelementptr ptr, ptr null, i32 1 %t9340 = ptrtoint ptr %t9339 to i64 %t9341 = zext i32 %t9338 to i64 %t9342 = mul i64 %t9341, %t9340 %t9343 = load ptr, ptr %t9332 %t9344 = call ptr @realloc(ptr %t9343, i64 %t9342) store ptr %t9344, ptr %t9332 store i32 %t9338, ptr %t9331 br label %put1964 put1964: %t9345 = load ptr, ptr %t9332 %t9346 = getelementptr inbounds ptr, ptr %t9345, i32 %t9333 store ptr @.str8360, ptr %t9346 %t9347 = add i32 %t9333, 1 store i32 %t9347, ptr %t9330 br label %ifend1962 ifend1962: %t9348 = load ptr, ptr %t1 %t9349 = call i32 @lp_str_eq(ptr %t9348, ptr @.str8361) %t9350 = icmp ne i32 %t9349, 0 br i1 %t9350, label %then1965, label %ifend1967 then1965: store ptr @.str8362, ptr %t420 %t9351 = load ptr, ptr %t427 %t9352 = getelementptr inbounds %LSlice, ptr %t9351, i32 0, i32 1 %t9353 = getelementptr inbounds %LSlice, ptr %t9351, i32 0, i32 2 %t9354 = getelementptr inbounds %LSlice, ptr %t9351, i32 0, i32 0 %t9355 = load i32, ptr %t9352 %t9356 = load i32, ptr %t9353 %t9357 = icmp sge i32 %t9355, %t9356 br i1 %t9357, label %grow1968, label %put1969 grow1968: %t9358 = mul i32 %t9356, 2 %t9359 = icmp eq i32 %t9356, 0 %t9360 = select i1 %t9359, i32 8, i32 %t9358 %t9361 = getelementptr ptr, ptr null, i32 1 %t9362 = ptrtoint ptr %t9361 to i64 %t9363 = zext i32 %t9360 to i64 %t9364 = mul i64 %t9363, %t9362 %t9365 = load ptr, ptr %t9354 %t9366 = call ptr @realloc(ptr %t9365, i64 %t9364) store ptr %t9366, ptr %t9354 store i32 %t9360, ptr %t9353 br label %put1969 put1969: %t9367 = load ptr, ptr %t9354 %t9368 = getelementptr inbounds ptr, ptr %t9367, i32 %t9355 store ptr @.str8363, ptr %t9368 %t9369 = add i32 %t9355, 1 store i32 %t9369, ptr %t9352 br label %ifend1967 ifend1967: %t9370 = load ptr, ptr %t1 %t9371 = call i32 @lp_str_eq(ptr %t9370, ptr @.str8364) %t9372 = icmp ne i32 %t9371, 0 br i1 %t9372, label %then1970, label %ifend1972 then1970: store ptr @.str8365, ptr %t420 %t9373 = load ptr, ptr %t427 %t9374 = getelementptr inbounds %LSlice, ptr %t9373, i32 0, i32 1 %t9375 = getelementptr inbounds %LSlice, ptr %t9373, i32 0, i32 2 %t9376 = getelementptr inbounds %LSlice, ptr %t9373, i32 0, i32 0 %t9377 = load i32, ptr %t9374 %t9378 = load i32, ptr %t9375 %t9379 = icmp sge i32 %t9377, %t9378 br i1 %t9379, label %grow1973, label %put1974 grow1973: %t9380 = mul i32 %t9378, 2 %t9381 = icmp eq i32 %t9378, 0 %t9382 = select i1 %t9381, i32 8, i32 %t9380 %t9383 = getelementptr ptr, ptr null, i32 1 %t9384 = ptrtoint ptr %t9383 to i64 %t9385 = zext i32 %t9382 to i64 %t9386 = mul i64 %t9385, %t9384 %t9387 = load ptr, ptr %t9376 %t9388 = call ptr @realloc(ptr %t9387, i64 %t9386) store ptr %t9388, ptr %t9376 store i32 %t9382, ptr %t9375 br label %put1974 put1974: %t9389 = load ptr, ptr %t9376 %t9390 = getelementptr inbounds ptr, ptr %t9389, i32 %t9377 store ptr @.str8366, ptr %t9390 %t9391 = add i32 %t9377, 1 store i32 %t9391, ptr %t9374 br label %ifend1972 ifend1972: %t9392 = load ptr, ptr %t1 %t9393 = call i32 @lp_str_eq(ptr %t9392, ptr @.str8367) %t9394 = icmp ne i32 %t9393, 0 br i1 %t9394, label %then1975, label %ifend1977 then1975: store ptr @.str8368, ptr %t420 %t9395 = load ptr, ptr %t427 %t9396 = getelementptr inbounds %LSlice, ptr %t9395, i32 0, i32 1 %t9397 = getelementptr inbounds %LSlice, ptr %t9395, i32 0, i32 2 %t9398 = getelementptr inbounds %LSlice, ptr %t9395, i32 0, i32 0 %t9399 = load i32, ptr %t9396 %t9400 = load i32, ptr %t9397 %t9401 = icmp sge i32 %t9399, %t9400 br i1 %t9401, label %grow1978, label %put1979 grow1978: %t9402 = mul i32 %t9400, 2 %t9403 = icmp eq i32 %t9400, 0 %t9404 = select i1 %t9403, i32 8, i32 %t9402 %t9405 = getelementptr ptr, ptr null, i32 1 %t9406 = ptrtoint ptr %t9405 to i64 %t9407 = zext i32 %t9404 to i64 %t9408 = mul i64 %t9407, %t9406 %t9409 = load ptr, ptr %t9398 %t9410 = call ptr @realloc(ptr %t9409, i64 %t9408) store ptr %t9410, ptr %t9398 store i32 %t9404, ptr %t9397 br label %put1979 put1979: %t9411 = load ptr, ptr %t9398 %t9412 = getelementptr inbounds ptr, ptr %t9411, i32 %t9399 store ptr @.str8369, ptr %t9412 %t9413 = add i32 %t9399, 1 store i32 %t9413, ptr %t9396 br label %ifend1977 ifend1977: %t9414 = load ptr, ptr %t1 %t9415 = call i32 @lp_str_eq(ptr %t9414, ptr @.str8370) %t9416 = icmp ne i32 %t9415, 0 br i1 %t9416, label %then1980, label %ifend1982 then1980: store ptr @.str8371, ptr %t420 %t9417 = load ptr, ptr %t427 %t9418 = getelementptr inbounds %LSlice, ptr %t9417, i32 0, i32 1 %t9419 = getelementptr inbounds %LSlice, ptr %t9417, i32 0, i32 2 %t9420 = getelementptr inbounds %LSlice, ptr %t9417, i32 0, i32 0 %t9421 = load i32, ptr %t9418 %t9422 = load i32, ptr %t9419 %t9423 = icmp sge i32 %t9421, %t9422 br i1 %t9423, label %grow1983, label %put1984 grow1983: %t9424 = mul i32 %t9422, 2 %t9425 = icmp eq i32 %t9422, 0 %t9426 = select i1 %t9425, i32 8, i32 %t9424 %t9427 = getelementptr ptr, ptr null, i32 1 %t9428 = ptrtoint ptr %t9427 to i64 %t9429 = zext i32 %t9426 to i64 %t9430 = mul i64 %t9429, %t9428 %t9431 = load ptr, ptr %t9420 %t9432 = call ptr @realloc(ptr %t9431, i64 %t9430) store ptr %t9432, ptr %t9420 store i32 %t9426, ptr %t9419 br label %put1984 put1984: %t9433 = load ptr, ptr %t9420 %t9434 = getelementptr inbounds ptr, ptr %t9433, i32 %t9421 store ptr @.str8372, ptr %t9434 %t9435 = add i32 %t9421, 1 store i32 %t9435, ptr %t9418 br label %ifend1982 ifend1982: %t9436 = load ptr, ptr %t1 %t9437 = call i32 @lp_str_eq(ptr %t9436, ptr @.str8373) %t9438 = icmp ne i32 %t9437, 0 br i1 %t9438, label %then1985, label %ifend1987 then1985: store ptr @.str8374, ptr %t420 %t9439 = load ptr, ptr %t427 %t9440 = getelementptr inbounds %LSlice, ptr %t9439, i32 0, i32 1 %t9441 = getelementptr inbounds %LSlice, ptr %t9439, i32 0, i32 2 %t9442 = getelementptr inbounds %LSlice, ptr %t9439, i32 0, i32 0 %t9443 = load i32, ptr %t9440 %t9444 = load i32, ptr %t9441 %t9445 = icmp sge i32 %t9443, %t9444 br i1 %t9445, label %grow1988, label %put1989 grow1988: %t9446 = mul i32 %t9444, 2 %t9447 = icmp eq i32 %t9444, 0 %t9448 = select i1 %t9447, i32 8, i32 %t9446 %t9449 = getelementptr ptr, ptr null, i32 1 %t9450 = ptrtoint ptr %t9449 to i64 %t9451 = zext i32 %t9448 to i64 %t9452 = mul i64 %t9451, %t9450 %t9453 = load ptr, ptr %t9442 %t9454 = call ptr @realloc(ptr %t9453, i64 %t9452) store ptr %t9454, ptr %t9442 store i32 %t9448, ptr %t9441 br label %put1989 put1989: %t9455 = load ptr, ptr %t9442 %t9456 = getelementptr inbounds ptr, ptr %t9455, i32 %t9443 store ptr @.str8375, ptr %t9456 %t9457 = add i32 %t9443, 1 store i32 %t9457, ptr %t9440 br label %ifend1987 ifend1987: %t9458 = load ptr, ptr %t1 %t9459 = call i32 @lp_str_eq(ptr %t9458, ptr @.str8376) %t9460 = icmp ne i32 %t9459, 0 br i1 %t9460, label %then1990, label %ifend1992 then1990: store ptr @.str8377, ptr %t420 %t9461 = load ptr, ptr %t427 %t9462 = getelementptr inbounds %LSlice, ptr %t9461, i32 0, i32 1 %t9463 = getelementptr inbounds %LSlice, ptr %t9461, i32 0, i32 2 %t9464 = getelementptr inbounds %LSlice, ptr %t9461, i32 0, i32 0 %t9465 = load i32, ptr %t9462 %t9466 = load i32, ptr %t9463 %t9467 = icmp sge i32 %t9465, %t9466 br i1 %t9467, label %grow1993, label %put1994 grow1993: %t9468 = mul i32 %t9466, 2 %t9469 = icmp eq i32 %t9466, 0 %t9470 = select i1 %t9469, i32 8, i32 %t9468 %t9471 = getelementptr ptr, ptr null, i32 1 %t9472 = ptrtoint ptr %t9471 to i64 %t9473 = zext i32 %t9470 to i64 %t9474 = mul i64 %t9473, %t9472 %t9475 = load ptr, ptr %t9464 %t9476 = call ptr @realloc(ptr %t9475, i64 %t9474) store ptr %t9476, ptr %t9464 store i32 %t9470, ptr %t9463 br label %put1994 put1994: %t9477 = load ptr, ptr %t9464 %t9478 = getelementptr inbounds ptr, ptr %t9477, i32 %t9465 store ptr @.str8378, ptr %t9478 %t9479 = add i32 %t9465, 1 store i32 %t9479, ptr %t9462 br label %ifend1992 ifend1992: %t9480 = load ptr, ptr %t1 %t9481 = call i32 @lp_str_eq(ptr %t9480, ptr @.str8379) %t9482 = icmp ne i32 %t9481, 0 br i1 %t9482, label %then1995, label %ifend1997 then1995: store ptr @.str8380, ptr %t420 %t9483 = load ptr, ptr %t427 %t9484 = getelementptr inbounds %LSlice, ptr %t9483, i32 0, i32 1 %t9485 = getelementptr inbounds %LSlice, ptr %t9483, i32 0, i32 2 %t9486 = getelementptr inbounds %LSlice, ptr %t9483, i32 0, i32 0 %t9487 = load i32, ptr %t9484 %t9488 = load i32, ptr %t9485 %t9489 = icmp sge i32 %t9487, %t9488 br i1 %t9489, label %grow1998, label %put1999 grow1998: %t9490 = mul i32 %t9488, 2 %t9491 = icmp eq i32 %t9488, 0 %t9492 = select i1 %t9491, i32 8, i32 %t9490 %t9493 = getelementptr ptr, ptr null, i32 1 %t9494 = ptrtoint ptr %t9493 to i64 %t9495 = zext i32 %t9492 to i64 %t9496 = mul i64 %t9495, %t9494 %t9497 = load ptr, ptr %t9486 %t9498 = call ptr @realloc(ptr %t9497, i64 %t9496) store ptr %t9498, ptr %t9486 store i32 %t9492, ptr %t9485 br label %put1999 put1999: %t9499 = load ptr, ptr %t9486 %t9500 = getelementptr inbounds ptr, ptr %t9499, i32 %t9487 store ptr @.str8381, ptr %t9500 %t9501 = add i32 %t9487, 1 store i32 %t9501, ptr %t9484 br label %ifend1997 ifend1997: %t9502 = load ptr, ptr %t1 %t9503 = call i32 @lp_str_eq(ptr %t9502, ptr @.str8382) %t9504 = icmp ne i32 %t9503, 0 br i1 %t9504, label %then2000, label %ifend2002 then2000: store ptr @.str8383, ptr %t420 br label %ifend2002 ifend2002: %t9505 = load ptr, ptr %t1 %t9506 = call i32 @lp_str_eq(ptr %t9505, ptr @.str8384) %t9507 = icmp ne i32 %t9506, 0 br i1 %t9507, label %then2003, label %ifend2005 then2003: store ptr @.str8385, ptr %t420 %t9508 = load ptr, ptr %t427 %t9509 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 1 %t9510 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 2 %t9511 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 0 %t9512 = load i32, ptr %t9509 %t9513 = load i32, ptr %t9510 %t9514 = icmp sge i32 %t9512, %t9513 br i1 %t9514, label %grow2006, label %put2007 grow2006: %t9515 = mul i32 %t9513, 2 %t9516 = icmp eq i32 %t9513, 0 %t9517 = select i1 %t9516, i32 8, i32 %t9515 %t9518 = getelementptr ptr, ptr null, i32 1 %t9519 = ptrtoint ptr %t9518 to i64 %t9520 = zext i32 %t9517 to i64 %t9521 = mul i64 %t9520, %t9519 %t9522 = load ptr, ptr %t9511 %t9523 = call ptr @realloc(ptr %t9522, i64 %t9521) store ptr %t9523, ptr %t9511 store i32 %t9517, ptr %t9510 br label %put2007 put2007: %t9524 = load ptr, ptr %t9511 %t9525 = getelementptr inbounds ptr, ptr %t9524, i32 %t9512 store ptr @.str8386, ptr %t9525 %t9526 = add i32 %t9512, 1 store i32 %t9526, ptr %t9509 br label %ifend2005 ifend2005: %t9527 = load ptr, ptr %t1 %t9528 = call i32 @lp_str_eq(ptr %t9527, ptr @.str8387) %t9529 = icmp ne i32 %t9528, 0 br i1 %t9529, label %then2008, label %ifend2010 then2008: store ptr @.str8388, ptr %t420 %t9530 = load ptr, ptr %t427 %t9531 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 1 %t9532 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 2 %t9533 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 0 %t9534 = load i32, ptr %t9531 %t9535 = load i32, ptr %t9532 %t9536 = icmp sge i32 %t9534, %t9535 br i1 %t9536, label %grow2011, label %put2012 grow2011: %t9537 = mul i32 %t9535, 2 %t9538 = icmp eq i32 %t9535, 0 %t9539 = select i1 %t9538, i32 8, i32 %t9537 %t9540 = getelementptr ptr, ptr null, i32 1 %t9541 = ptrtoint ptr %t9540 to i64 %t9542 = zext i32 %t9539 to i64 %t9543 = mul i64 %t9542, %t9541 %t9544 = load ptr, ptr %t9533 %t9545 = call ptr @realloc(ptr %t9544, i64 %t9543) store ptr %t9545, ptr %t9533 store i32 %t9539, ptr %t9532 br label %put2012 put2012: %t9546 = load ptr, ptr %t9533 %t9547 = getelementptr inbounds ptr, ptr %t9546, i32 %t9534 store ptr @.str8389, ptr %t9547 %t9548 = add i32 %t9534, 1 store i32 %t9548, ptr %t9531 %t9549 = load ptr, ptr %t427 %t9550 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 1 %t9551 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 2 %t9552 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 0 %t9553 = load i32, ptr %t9550 %t9554 = load i32, ptr %t9551 %t9555 = icmp sge i32 %t9553, %t9554 br i1 %t9555, label %grow2013, label %put2014 grow2013: %t9556 = mul i32 %t9554, 2 %t9557 = icmp eq i32 %t9554, 0 %t9558 = select i1 %t9557, i32 8, i32 %t9556 %t9559 = getelementptr ptr, ptr null, i32 1 %t9560 = ptrtoint ptr %t9559 to i64 %t9561 = zext i32 %t9558 to i64 %t9562 = mul i64 %t9561, %t9560 %t9563 = load ptr, ptr %t9552 %t9564 = call ptr @realloc(ptr %t9563, i64 %t9562) store ptr %t9564, ptr %t9552 store i32 %t9558, ptr %t9551 br label %put2014 put2014: %t9565 = load ptr, ptr %t9552 %t9566 = getelementptr inbounds ptr, ptr %t9565, i32 %t9553 store ptr @.str8390, ptr %t9566 %t9567 = add i32 %t9553, 1 store i32 %t9567, ptr %t9550 %t9568 = load ptr, ptr %t427 %t9569 = getelementptr inbounds %LSlice, ptr %t9568, i32 0, i32 1 %t9570 = getelementptr inbounds %LSlice, ptr %t9568, i32 0, i32 2 %t9571 = getelementptr inbounds %LSlice, ptr %t9568, i32 0, i32 0 %t9572 = load i32, ptr %t9569 %t9573 = load i32, ptr %t9570 %t9574 = icmp sge i32 %t9572, %t9573 br i1 %t9574, label %grow2015, label %put2016 grow2015: %t9575 = mul i32 %t9573, 2 %t9576 = icmp eq i32 %t9573, 0 %t9577 = select i1 %t9576, i32 8, i32 %t9575 %t9578 = getelementptr ptr, ptr null, i32 1 %t9579 = ptrtoint ptr %t9578 to i64 %t9580 = zext i32 %t9577 to i64 %t9581 = mul i64 %t9580, %t9579 %t9582 = load ptr, ptr %t9571 %t9583 = call ptr @realloc(ptr %t9582, i64 %t9581) store ptr %t9583, ptr %t9571 store i32 %t9577, ptr %t9570 br label %put2016 put2016: %t9584 = load ptr, ptr %t9571 %t9585 = getelementptr inbounds ptr, ptr %t9584, i32 %t9572 store ptr @.str8391, ptr %t9585 %t9586 = add i32 %t9572, 1 store i32 %t9586, ptr %t9569 br label %ifend2010 ifend2010: %t9587 = load ptr, ptr %t1 %t9588 = call i32 @lp_str_eq(ptr %t9587, ptr @.str8392) %t9589 = icmp ne i32 %t9588, 0 br i1 %t9589, label %then2017, label %ifend2019 then2017: store ptr @.str8393, ptr %t420 br label %ifend2019 ifend2019: br label %ifend1935 ifend1935: %t9590 = load ptr, ptr %t0 %t9591 = call i32 @lp_str_eq(ptr %t9590, ptr @.str8394) %t9592 = icmp ne i32 %t9591, 0 br i1 %t9592, label %then2020, label %ifend2022 then2020: %t9593 = load ptr, ptr %t1 %t9594 = call i32 @lp_str_eq(ptr %t9593, ptr @.str8395) %t9595 = icmp ne i32 %t9594, 0 br i1 %t9595, label %then2023, label %ifend2025 then2023: store ptr @.str8396, ptr %t420 %t9596 = load ptr, ptr %t427 %t9597 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 1 %t9598 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 2 %t9599 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 0 %t9600 = load i32, ptr %t9597 %t9601 = load i32, ptr %t9598 %t9602 = icmp sge i32 %t9600, %t9601 br i1 %t9602, label %grow2026, label %put2027 grow2026: %t9603 = mul i32 %t9601, 2 %t9604 = icmp eq i32 %t9601, 0 %t9605 = select i1 %t9604, i32 8, i32 %t9603 %t9606 = getelementptr ptr, ptr null, i32 1 %t9607 = ptrtoint ptr %t9606 to i64 %t9608 = zext i32 %t9605 to i64 %t9609 = mul i64 %t9608, %t9607 %t9610 = load ptr, ptr %t9599 %t9611 = call ptr @realloc(ptr %t9610, i64 %t9609) store ptr %t9611, ptr %t9599 store i32 %t9605, ptr %t9598 br label %put2027 put2027: %t9612 = load ptr, ptr %t9599 %t9613 = getelementptr inbounds ptr, ptr %t9612, i32 %t9600 store ptr @.str8397, ptr %t9613 %t9614 = add i32 %t9600, 1 store i32 %t9614, ptr %t9597 br label %ifend2025 ifend2025: %t9615 = load ptr, ptr %t1 %t9616 = call i32 @lp_str_eq(ptr %t9615, ptr @.str8398) %t9617 = icmp ne i32 %t9616, 0 br i1 %t9617, label %then2028, label %ifend2030 then2028: store ptr @.str8399, ptr %t420 %t9618 = load ptr, ptr %t427 %t9619 = getelementptr inbounds %LSlice, ptr %t9618, i32 0, i32 1 %t9620 = getelementptr inbounds %LSlice, ptr %t9618, i32 0, i32 2 %t9621 = getelementptr inbounds %LSlice, ptr %t9618, i32 0, i32 0 %t9622 = load i32, ptr %t9619 %t9623 = load i32, ptr %t9620 %t9624 = icmp sge i32 %t9622, %t9623 br i1 %t9624, label %grow2031, label %put2032 grow2031: %t9625 = mul i32 %t9623, 2 %t9626 = icmp eq i32 %t9623, 0 %t9627 = select i1 %t9626, i32 8, i32 %t9625 %t9628 = getelementptr ptr, ptr null, i32 1 %t9629 = ptrtoint ptr %t9628 to i64 %t9630 = zext i32 %t9627 to i64 %t9631 = mul i64 %t9630, %t9629 %t9632 = load ptr, ptr %t9621 %t9633 = call ptr @realloc(ptr %t9632, i64 %t9631) store ptr %t9633, ptr %t9621 store i32 %t9627, ptr %t9620 br label %put2032 put2032: %t9634 = load ptr, ptr %t9621 %t9635 = getelementptr inbounds ptr, ptr %t9634, i32 %t9622 store ptr @.str8400, ptr %t9635 %t9636 = add i32 %t9622, 1 store i32 %t9636, ptr %t9619 br label %ifend2030 ifend2030: %t9637 = load ptr, ptr %t1 %t9638 = call i32 @lp_str_eq(ptr %t9637, ptr @.str8401) %t9639 = icmp ne i32 %t9638, 0 br i1 %t9639, label %then2033, label %ifend2035 then2033: store ptr @.str8402, ptr %t420 %t9640 = load ptr, ptr %t427 %t9641 = getelementptr inbounds %LSlice, ptr %t9640, i32 0, i32 1 %t9642 = getelementptr inbounds %LSlice, ptr %t9640, i32 0, i32 2 %t9643 = getelementptr inbounds %LSlice, ptr %t9640, i32 0, i32 0 %t9644 = load i32, ptr %t9641 %t9645 = load i32, ptr %t9642 %t9646 = icmp sge i32 %t9644, %t9645 br i1 %t9646, label %grow2036, label %put2037 grow2036: %t9647 = mul i32 %t9645, 2 %t9648 = icmp eq i32 %t9645, 0 %t9649 = select i1 %t9648, i32 8, i32 %t9647 %t9650 = getelementptr ptr, ptr null, i32 1 %t9651 = ptrtoint ptr %t9650 to i64 %t9652 = zext i32 %t9649 to i64 %t9653 = mul i64 %t9652, %t9651 %t9654 = load ptr, ptr %t9643 %t9655 = call ptr @realloc(ptr %t9654, i64 %t9653) store ptr %t9655, ptr %t9643 store i32 %t9649, ptr %t9642 br label %put2037 put2037: %t9656 = load ptr, ptr %t9643 %t9657 = getelementptr inbounds ptr, ptr %t9656, i32 %t9644 store ptr @.str8403, ptr %t9657 %t9658 = add i32 %t9644, 1 store i32 %t9658, ptr %t9641 br label %ifend2035 ifend2035: %t9659 = load ptr, ptr %t1 %t9660 = call i32 @lp_str_eq(ptr %t9659, ptr @.str8404) %t9661 = icmp ne i32 %t9660, 0 br i1 %t9661, label %then2038, label %ifend2040 then2038: store ptr @.str8405, ptr %t420 %t9662 = load ptr, ptr %t427 %t9663 = getelementptr inbounds %LSlice, ptr %t9662, i32 0, i32 1 %t9664 = getelementptr inbounds %LSlice, ptr %t9662, i32 0, i32 2 %t9665 = getelementptr inbounds %LSlice, ptr %t9662, i32 0, i32 0 %t9666 = load i32, ptr %t9663 %t9667 = load i32, ptr %t9664 %t9668 = icmp sge i32 %t9666, %t9667 br i1 %t9668, label %grow2041, label %put2042 grow2041: %t9669 = mul i32 %t9667, 2 %t9670 = icmp eq i32 %t9667, 0 %t9671 = select i1 %t9670, i32 8, i32 %t9669 %t9672 = getelementptr ptr, ptr null, i32 1 %t9673 = ptrtoint ptr %t9672 to i64 %t9674 = zext i32 %t9671 to i64 %t9675 = mul i64 %t9674, %t9673 %t9676 = load ptr, ptr %t9665 %t9677 = call ptr @realloc(ptr %t9676, i64 %t9675) store ptr %t9677, ptr %t9665 store i32 %t9671, ptr %t9664 br label %put2042 put2042: %t9678 = load ptr, ptr %t9665 %t9679 = getelementptr inbounds ptr, ptr %t9678, i32 %t9666 store ptr @.str8406, ptr %t9679 %t9680 = add i32 %t9666, 1 store i32 %t9680, ptr %t9663 br label %ifend2040 ifend2040: br label %ifend2022 ifend2022: %t9681 = load ptr, ptr %t0 %t9682 = call i32 @lp_str_eq(ptr %t9681, ptr @.str8407) %t9683 = icmp ne i32 %t9682, 0 br i1 %t9683, label %then2043, label %ifend2045 then2043: %t9684 = load ptr, ptr %t1 %t9685 = call i32 @lp_str_eq(ptr %t9684, ptr @.str8408) %t9686 = icmp ne i32 %t9685, 0 br i1 %t9686, label %then2046, label %ifend2048 then2046: store ptr @.str8409, ptr %t420 br label %ifend2048 ifend2048: %t9687 = load ptr, ptr %t1 %t9688 = call i32 @lp_str_eq(ptr %t9687, ptr @.str8410) %t9689 = icmp ne i32 %t9688, 0 br i1 %t9689, label %then2049, label %ifend2051 then2049: store ptr @.str8411, ptr %t420 %t9690 = load ptr, ptr %t427 %t9691 = getelementptr inbounds %LSlice, ptr %t9690, i32 0, i32 1 %t9692 = getelementptr inbounds %LSlice, ptr %t9690, i32 0, i32 2 %t9693 = getelementptr inbounds %LSlice, ptr %t9690, i32 0, i32 0 %t9694 = load i32, ptr %t9691 %t9695 = load i32, ptr %t9692 %t9696 = icmp sge i32 %t9694, %t9695 br i1 %t9696, label %grow2052, label %put2053 grow2052: %t9697 = mul i32 %t9695, 2 %t9698 = icmp eq i32 %t9695, 0 %t9699 = select i1 %t9698, i32 8, i32 %t9697 %t9700 = getelementptr ptr, ptr null, i32 1 %t9701 = ptrtoint ptr %t9700 to i64 %t9702 = zext i32 %t9699 to i64 %t9703 = mul i64 %t9702, %t9701 %t9704 = load ptr, ptr %t9693 %t9705 = call ptr @realloc(ptr %t9704, i64 %t9703) store ptr %t9705, ptr %t9693 store i32 %t9699, ptr %t9692 br label %put2053 put2053: %t9706 = load ptr, ptr %t9693 %t9707 = getelementptr inbounds ptr, ptr %t9706, i32 %t9694 store ptr @.str8412, ptr %t9707 %t9708 = add i32 %t9694, 1 store i32 %t9708, ptr %t9691 br label %ifend2051 ifend2051: %t9709 = load ptr, ptr %t1 %t9710 = call i32 @lp_str_eq(ptr %t9709, ptr @.str8413) %t9711 = icmp ne i32 %t9710, 0 br i1 %t9711, label %then2054, label %ifend2056 then2054: store ptr @.str8414, ptr %t420 %t9712 = load ptr, ptr %t427 %t9713 = getelementptr inbounds %LSlice, ptr %t9712, i32 0, i32 1 %t9714 = getelementptr inbounds %LSlice, ptr %t9712, i32 0, i32 2 %t9715 = getelementptr inbounds %LSlice, ptr %t9712, i32 0, i32 0 %t9716 = load i32, ptr %t9713 %t9717 = load i32, ptr %t9714 %t9718 = icmp sge i32 %t9716, %t9717 br i1 %t9718, label %grow2057, label %put2058 grow2057: %t9719 = mul i32 %t9717, 2 %t9720 = icmp eq i32 %t9717, 0 %t9721 = select i1 %t9720, i32 8, i32 %t9719 %t9722 = getelementptr ptr, ptr null, i32 1 %t9723 = ptrtoint ptr %t9722 to i64 %t9724 = zext i32 %t9721 to i64 %t9725 = mul i64 %t9724, %t9723 %t9726 = load ptr, ptr %t9715 %t9727 = call ptr @realloc(ptr %t9726, i64 %t9725) store ptr %t9727, ptr %t9715 store i32 %t9721, ptr %t9714 br label %put2058 put2058: %t9728 = load ptr, ptr %t9715 %t9729 = getelementptr inbounds ptr, ptr %t9728, i32 %t9716 store ptr @.str8415, ptr %t9729 %t9730 = add i32 %t9716, 1 store i32 %t9730, ptr %t9713 br label %ifend2056 ifend2056: %t9731 = load ptr, ptr %t1 %t9732 = call i32 @lp_str_eq(ptr %t9731, ptr @.str8416) %t9733 = icmp ne i32 %t9732, 0 br i1 %t9733, label %then2059, label %ifend2061 then2059: store ptr @.str8417, ptr %t420 %t9734 = load ptr, ptr %t427 %t9735 = getelementptr inbounds %LSlice, ptr %t9734, i32 0, i32 1 %t9736 = getelementptr inbounds %LSlice, ptr %t9734, i32 0, i32 2 %t9737 = getelementptr inbounds %LSlice, ptr %t9734, i32 0, i32 0 %t9738 = load i32, ptr %t9735 %t9739 = load i32, ptr %t9736 %t9740 = icmp sge i32 %t9738, %t9739 br i1 %t9740, label %grow2062, label %put2063 grow2062: %t9741 = mul i32 %t9739, 2 %t9742 = icmp eq i32 %t9739, 0 %t9743 = select i1 %t9742, i32 8, i32 %t9741 %t9744 = getelementptr ptr, ptr null, i32 1 %t9745 = ptrtoint ptr %t9744 to i64 %t9746 = zext i32 %t9743 to i64 %t9747 = mul i64 %t9746, %t9745 %t9748 = load ptr, ptr %t9737 %t9749 = call ptr @realloc(ptr %t9748, i64 %t9747) store ptr %t9749, ptr %t9737 store i32 %t9743, ptr %t9736 br label %put2063 put2063: %t9750 = load ptr, ptr %t9737 %t9751 = getelementptr inbounds ptr, ptr %t9750, i32 %t9738 store ptr @.str8418, ptr %t9751 %t9752 = add i32 %t9738, 1 store i32 %t9752, ptr %t9735 br label %ifend2061 ifend2061: %t9753 = load ptr, ptr %t1 %t9754 = call i32 @lp_str_eq(ptr %t9753, ptr @.str8419) %t9755 = icmp ne i32 %t9754, 0 br i1 %t9755, label %then2064, label %ifend2066 then2064: store ptr @.str8420, ptr %t420 br label %ifend2066 ifend2066: %t9756 = load ptr, ptr %t1 %t9757 = call i32 @lp_str_eq(ptr %t9756, ptr @.str8421) %t9758 = icmp ne i32 %t9757, 0 br i1 %t9758, label %then2067, label %ifend2069 then2067: store ptr @.str8422, ptr %t420 %t9759 = load ptr, ptr %t427 %t9760 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 1 %t9761 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 2 %t9762 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 0 %t9763 = load i32, ptr %t9760 %t9764 = load i32, ptr %t9761 %t9765 = icmp sge i32 %t9763, %t9764 br i1 %t9765, label %grow2070, label %put2071 grow2070: %t9766 = mul i32 %t9764, 2 %t9767 = icmp eq i32 %t9764, 0 %t9768 = select i1 %t9767, i32 8, i32 %t9766 %t9769 = getelementptr ptr, ptr null, i32 1 %t9770 = ptrtoint ptr %t9769 to i64 %t9771 = zext i32 %t9768 to i64 %t9772 = mul i64 %t9771, %t9770 %t9773 = load ptr, ptr %t9762 %t9774 = call ptr @realloc(ptr %t9773, i64 %t9772) store ptr %t9774, ptr %t9762 store i32 %t9768, ptr %t9761 br label %put2071 put2071: %t9775 = load ptr, ptr %t9762 %t9776 = getelementptr inbounds ptr, ptr %t9775, i32 %t9763 store ptr @.str8423, ptr %t9776 %t9777 = add i32 %t9763, 1 store i32 %t9777, ptr %t9760 br label %ifend2069 ifend2069: %t9778 = load ptr, ptr %t1 %t9779 = call i32 @lp_str_eq(ptr %t9778, ptr @.str8424) %t9780 = icmp ne i32 %t9779, 0 br i1 %t9780, label %then2072, label %ifend2074 then2072: store ptr @.str8425, ptr %t420 %t9781 = load ptr, ptr %t427 %t9782 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 1 %t9783 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 2 %t9784 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 0 %t9785 = load i32, ptr %t9782 %t9786 = load i32, ptr %t9783 %t9787 = icmp sge i32 %t9785, %t9786 br i1 %t9787, label %grow2075, label %put2076 grow2075: %t9788 = mul i32 %t9786, 2 %t9789 = icmp eq i32 %t9786, 0 %t9790 = select i1 %t9789, i32 8, i32 %t9788 %t9791 = getelementptr ptr, ptr null, i32 1 %t9792 = ptrtoint ptr %t9791 to i64 %t9793 = zext i32 %t9790 to i64 %t9794 = mul i64 %t9793, %t9792 %t9795 = load ptr, ptr %t9784 %t9796 = call ptr @realloc(ptr %t9795, i64 %t9794) store ptr %t9796, ptr %t9784 store i32 %t9790, ptr %t9783 br label %put2076 put2076: %t9797 = load ptr, ptr %t9784 %t9798 = getelementptr inbounds ptr, ptr %t9797, i32 %t9785 store ptr @.str8426, ptr %t9798 %t9799 = add i32 %t9785, 1 store i32 %t9799, ptr %t9782 %t9800 = load ptr, ptr %t427 %t9801 = getelementptr inbounds %LSlice, ptr %t9800, i32 0, i32 1 %t9802 = getelementptr inbounds %LSlice, ptr %t9800, i32 0, i32 2 %t9803 = getelementptr inbounds %LSlice, ptr %t9800, i32 0, i32 0 %t9804 = load i32, ptr %t9801 %t9805 = load i32, ptr %t9802 %t9806 = icmp sge i32 %t9804, %t9805 br i1 %t9806, label %grow2077, label %put2078 grow2077: %t9807 = mul i32 %t9805, 2 %t9808 = icmp eq i32 %t9805, 0 %t9809 = select i1 %t9808, i32 8, i32 %t9807 %t9810 = getelementptr ptr, ptr null, i32 1 %t9811 = ptrtoint ptr %t9810 to i64 %t9812 = zext i32 %t9809 to i64 %t9813 = mul i64 %t9812, %t9811 %t9814 = load ptr, ptr %t9803 %t9815 = call ptr @realloc(ptr %t9814, i64 %t9813) store ptr %t9815, ptr %t9803 store i32 %t9809, ptr %t9802 br label %put2078 put2078: %t9816 = load ptr, ptr %t9803 %t9817 = getelementptr inbounds ptr, ptr %t9816, i32 %t9804 store ptr @.str8427, ptr %t9817 %t9818 = add i32 %t9804, 1 store i32 %t9818, ptr %t9801 br label %ifend2074 ifend2074: %t9819 = load ptr, ptr %t1 %t9820 = call i32 @lp_str_eq(ptr %t9819, ptr @.str8428) %t9821 = icmp ne i32 %t9820, 0 br i1 %t9821, label %then2079, label %ifend2081 then2079: store ptr @.str8429, ptr %t420 %t9822 = load ptr, ptr %t427 %t9823 = getelementptr inbounds %LSlice, ptr %t9822, i32 0, i32 1 %t9824 = getelementptr inbounds %LSlice, ptr %t9822, i32 0, i32 2 %t9825 = getelementptr inbounds %LSlice, ptr %t9822, i32 0, i32 0 %t9826 = load i32, ptr %t9823 %t9827 = load i32, ptr %t9824 %t9828 = icmp sge i32 %t9826, %t9827 br i1 %t9828, label %grow2082, label %put2083 grow2082: %t9829 = mul i32 %t9827, 2 %t9830 = icmp eq i32 %t9827, 0 %t9831 = select i1 %t9830, i32 8, i32 %t9829 %t9832 = getelementptr ptr, ptr null, i32 1 %t9833 = ptrtoint ptr %t9832 to i64 %t9834 = zext i32 %t9831 to i64 %t9835 = mul i64 %t9834, %t9833 %t9836 = load ptr, ptr %t9825 %t9837 = call ptr @realloc(ptr %t9836, i64 %t9835) store ptr %t9837, ptr %t9825 store i32 %t9831, ptr %t9824 br label %put2083 put2083: %t9838 = load ptr, ptr %t9825 %t9839 = getelementptr inbounds ptr, ptr %t9838, i32 %t9826 store ptr @.str8430, ptr %t9839 %t9840 = add i32 %t9826, 1 store i32 %t9840, ptr %t9823 %t9841 = load ptr, ptr %t427 %t9842 = getelementptr inbounds %LSlice, ptr %t9841, i32 0, i32 1 %t9843 = getelementptr inbounds %LSlice, ptr %t9841, i32 0, i32 2 %t9844 = getelementptr inbounds %LSlice, ptr %t9841, i32 0, i32 0 %t9845 = load i32, ptr %t9842 %t9846 = load i32, ptr %t9843 %t9847 = icmp sge i32 %t9845, %t9846 br i1 %t9847, label %grow2084, label %put2085 grow2084: %t9848 = mul i32 %t9846, 2 %t9849 = icmp eq i32 %t9846, 0 %t9850 = select i1 %t9849, i32 8, i32 %t9848 %t9851 = getelementptr ptr, ptr null, i32 1 %t9852 = ptrtoint ptr %t9851 to i64 %t9853 = zext i32 %t9850 to i64 %t9854 = mul i64 %t9853, %t9852 %t9855 = load ptr, ptr %t9844 %t9856 = call ptr @realloc(ptr %t9855, i64 %t9854) store ptr %t9856, ptr %t9844 store i32 %t9850, ptr %t9843 br label %put2085 put2085: %t9857 = load ptr, ptr %t9844 %t9858 = getelementptr inbounds ptr, ptr %t9857, i32 %t9845 store ptr @.str8431, ptr %t9858 %t9859 = add i32 %t9845, 1 store i32 %t9859, ptr %t9842 br label %ifend2081 ifend2081: %t9860 = load ptr, ptr %t1 %t9861 = call i32 @lp_str_eq(ptr %t9860, ptr @.str8432) %t9862 = icmp ne i32 %t9861, 0 br i1 %t9862, label %then2086, label %ifend2088 then2086: store ptr @.str8433, ptr %t420 %t9863 = load ptr, ptr %t427 %t9864 = getelementptr inbounds %LSlice, ptr %t9863, i32 0, i32 1 %t9865 = getelementptr inbounds %LSlice, ptr %t9863, i32 0, i32 2 %t9866 = getelementptr inbounds %LSlice, ptr %t9863, i32 0, i32 0 %t9867 = load i32, ptr %t9864 %t9868 = load i32, ptr %t9865 %t9869 = icmp sge i32 %t9867, %t9868 br i1 %t9869, label %grow2089, label %put2090 grow2089: %t9870 = mul i32 %t9868, 2 %t9871 = icmp eq i32 %t9868, 0 %t9872 = select i1 %t9871, i32 8, i32 %t9870 %t9873 = getelementptr ptr, ptr null, i32 1 %t9874 = ptrtoint ptr %t9873 to i64 %t9875 = zext i32 %t9872 to i64 %t9876 = mul i64 %t9875, %t9874 %t9877 = load ptr, ptr %t9866 %t9878 = call ptr @realloc(ptr %t9877, i64 %t9876) store ptr %t9878, ptr %t9866 store i32 %t9872, ptr %t9865 br label %put2090 put2090: %t9879 = load ptr, ptr %t9866 %t9880 = getelementptr inbounds ptr, ptr %t9879, i32 %t9867 store ptr @.str8434, ptr %t9880 %t9881 = add i32 %t9867, 1 store i32 %t9881, ptr %t9864 %t9882 = load ptr, ptr %t427 %t9883 = getelementptr inbounds %LSlice, ptr %t9882, i32 0, i32 1 %t9884 = getelementptr inbounds %LSlice, ptr %t9882, i32 0, i32 2 %t9885 = getelementptr inbounds %LSlice, ptr %t9882, i32 0, i32 0 %t9886 = load i32, ptr %t9883 %t9887 = load i32, ptr %t9884 %t9888 = icmp sge i32 %t9886, %t9887 br i1 %t9888, label %grow2091, label %put2092 grow2091: %t9889 = mul i32 %t9887, 2 %t9890 = icmp eq i32 %t9887, 0 %t9891 = select i1 %t9890, i32 8, i32 %t9889 %t9892 = getelementptr ptr, ptr null, i32 1 %t9893 = ptrtoint ptr %t9892 to i64 %t9894 = zext i32 %t9891 to i64 %t9895 = mul i64 %t9894, %t9893 %t9896 = load ptr, ptr %t9885 %t9897 = call ptr @realloc(ptr %t9896, i64 %t9895) store ptr %t9897, ptr %t9885 store i32 %t9891, ptr %t9884 br label %put2092 put2092: %t9898 = load ptr, ptr %t9885 %t9899 = getelementptr inbounds ptr, ptr %t9898, i32 %t9886 store ptr @.str8435, ptr %t9899 %t9900 = add i32 %t9886, 1 store i32 %t9900, ptr %t9883 %t9901 = load ptr, ptr %t427 %t9902 = getelementptr inbounds %LSlice, ptr %t9901, i32 0, i32 1 %t9903 = getelementptr inbounds %LSlice, ptr %t9901, i32 0, i32 2 %t9904 = getelementptr inbounds %LSlice, ptr %t9901, i32 0, i32 0 %t9905 = load i32, ptr %t9902 %t9906 = load i32, ptr %t9903 %t9907 = icmp sge i32 %t9905, %t9906 br i1 %t9907, label %grow2093, label %put2094 grow2093: %t9908 = mul i32 %t9906, 2 %t9909 = icmp eq i32 %t9906, 0 %t9910 = select i1 %t9909, i32 8, i32 %t9908 %t9911 = getelementptr ptr, ptr null, i32 1 %t9912 = ptrtoint ptr %t9911 to i64 %t9913 = zext i32 %t9910 to i64 %t9914 = mul i64 %t9913, %t9912 %t9915 = load ptr, ptr %t9904 %t9916 = call ptr @realloc(ptr %t9915, i64 %t9914) store ptr %t9916, ptr %t9904 store i32 %t9910, ptr %t9903 br label %put2094 put2094: %t9917 = load ptr, ptr %t9904 %t9918 = getelementptr inbounds ptr, ptr %t9917, i32 %t9905 store ptr @.str8436, ptr %t9918 %t9919 = add i32 %t9905, 1 store i32 %t9919, ptr %t9902 br label %ifend2088 ifend2088: %t9920 = load ptr, ptr %t1 %t9921 = call i32 @lp_str_eq(ptr %t9920, ptr @.str8437) %t9922 = icmp ne i32 %t9921, 0 br i1 %t9922, label %then2095, label %ifend2097 then2095: store ptr @.str8438, ptr %t420 br label %ifend2097 ifend2097: %t9923 = load ptr, ptr %t1 %t9924 = call i32 @lp_str_eq(ptr %t9923, ptr @.str8439) %t9925 = icmp ne i32 %t9924, 0 br i1 %t9925, label %then2098, label %ifend2100 then2098: store ptr @.str8440, ptr %t420 %t9926 = load ptr, ptr %t427 %t9927 = getelementptr inbounds %LSlice, ptr %t9926, i32 0, i32 1 %t9928 = getelementptr inbounds %LSlice, ptr %t9926, i32 0, i32 2 %t9929 = getelementptr inbounds %LSlice, ptr %t9926, i32 0, i32 0 %t9930 = load i32, ptr %t9927 %t9931 = load i32, ptr %t9928 %t9932 = icmp sge i32 %t9930, %t9931 br i1 %t9932, label %grow2101, label %put2102 grow2101: %t9933 = mul i32 %t9931, 2 %t9934 = icmp eq i32 %t9931, 0 %t9935 = select i1 %t9934, i32 8, i32 %t9933 %t9936 = getelementptr ptr, ptr null, i32 1 %t9937 = ptrtoint ptr %t9936 to i64 %t9938 = zext i32 %t9935 to i64 %t9939 = mul i64 %t9938, %t9937 %t9940 = load ptr, ptr %t9929 %t9941 = call ptr @realloc(ptr %t9940, i64 %t9939) store ptr %t9941, ptr %t9929 store i32 %t9935, ptr %t9928 br label %put2102 put2102: %t9942 = load ptr, ptr %t9929 %t9943 = getelementptr inbounds ptr, ptr %t9942, i32 %t9930 store ptr @.str8441, ptr %t9943 %t9944 = add i32 %t9930, 1 store i32 %t9944, ptr %t9927 %t9945 = load ptr, ptr %t427 %t9946 = getelementptr inbounds %LSlice, ptr %t9945, i32 0, i32 1 %t9947 = getelementptr inbounds %LSlice, ptr %t9945, i32 0, i32 2 %t9948 = getelementptr inbounds %LSlice, ptr %t9945, i32 0, i32 0 %t9949 = load i32, ptr %t9946 %t9950 = load i32, ptr %t9947 %t9951 = icmp sge i32 %t9949, %t9950 br i1 %t9951, label %grow2103, label %put2104 grow2103: %t9952 = mul i32 %t9950, 2 %t9953 = icmp eq i32 %t9950, 0 %t9954 = select i1 %t9953, i32 8, i32 %t9952 %t9955 = getelementptr ptr, ptr null, i32 1 %t9956 = ptrtoint ptr %t9955 to i64 %t9957 = zext i32 %t9954 to i64 %t9958 = mul i64 %t9957, %t9956 %t9959 = load ptr, ptr %t9948 %t9960 = call ptr @realloc(ptr %t9959, i64 %t9958) store ptr %t9960, ptr %t9948 store i32 %t9954, ptr %t9947 br label %put2104 put2104: %t9961 = load ptr, ptr %t9948 %t9962 = getelementptr inbounds ptr, ptr %t9961, i32 %t9949 store ptr @.str8442, ptr %t9962 %t9963 = add i32 %t9949, 1 store i32 %t9963, ptr %t9946 br label %ifend2100 ifend2100: %t9964 = load ptr, ptr %t1 %t9965 = call i32 @lp_str_eq(ptr %t9964, ptr @.str8443) %t9966 = icmp ne i32 %t9965, 0 br i1 %t9966, label %then2105, label %ifend2107 then2105: store ptr @.str8444, ptr %t420 %t9967 = load ptr, ptr %t427 %t9968 = getelementptr inbounds %LSlice, ptr %t9967, i32 0, i32 1 %t9969 = getelementptr inbounds %LSlice, ptr %t9967, i32 0, i32 2 %t9970 = getelementptr inbounds %LSlice, ptr %t9967, i32 0, i32 0 %t9971 = load i32, ptr %t9968 %t9972 = load i32, ptr %t9969 %t9973 = icmp sge i32 %t9971, %t9972 br i1 %t9973, label %grow2108, label %put2109 grow2108: %t9974 = mul i32 %t9972, 2 %t9975 = icmp eq i32 %t9972, 0 %t9976 = select i1 %t9975, i32 8, i32 %t9974 %t9977 = getelementptr ptr, ptr null, i32 1 %t9978 = ptrtoint ptr %t9977 to i64 %t9979 = zext i32 %t9976 to i64 %t9980 = mul i64 %t9979, %t9978 %t9981 = load ptr, ptr %t9970 %t9982 = call ptr @realloc(ptr %t9981, i64 %t9980) store ptr %t9982, ptr %t9970 store i32 %t9976, ptr %t9969 br label %put2109 put2109: %t9983 = load ptr, ptr %t9970 %t9984 = getelementptr inbounds ptr, ptr %t9983, i32 %t9971 store ptr @.str8445, ptr %t9984 %t9985 = add i32 %t9971, 1 store i32 %t9985, ptr %t9968 br label %ifend2107 ifend2107: %t9986 = load ptr, ptr %t1 %t9987 = call i32 @lp_str_eq(ptr %t9986, ptr @.str8446) %t9988 = icmp ne i32 %t9987, 0 br i1 %t9988, label %then2110, label %ifend2112 then2110: store ptr @.str8447, ptr %t420 %t9989 = load ptr, ptr %t427 %t9990 = getelementptr inbounds %LSlice, ptr %t9989, i32 0, i32 1 %t9991 = getelementptr inbounds %LSlice, ptr %t9989, i32 0, i32 2 %t9992 = getelementptr inbounds %LSlice, ptr %t9989, i32 0, i32 0 %t9993 = load i32, ptr %t9990 %t9994 = load i32, ptr %t9991 %t9995 = icmp sge i32 %t9993, %t9994 br i1 %t9995, label %grow2113, label %put2114 grow2113: %t9996 = mul i32 %t9994, 2 %t9997 = icmp eq i32 %t9994, 0 %t9998 = select i1 %t9997, i32 8, i32 %t9996 %t9999 = getelementptr ptr, ptr null, i32 1 %t10000 = ptrtoint ptr %t9999 to i64 %t10001 = zext i32 %t9998 to i64 %t10002 = mul i64 %t10001, %t10000 %t10003 = load ptr, ptr %t9992 %t10004 = call ptr @realloc(ptr %t10003, i64 %t10002) store ptr %t10004, ptr %t9992 store i32 %t9998, ptr %t9991 br label %put2114 put2114: %t10005 = load ptr, ptr %t9992 %t10006 = getelementptr inbounds ptr, ptr %t10005, i32 %t9993 store ptr @.str8448, ptr %t10006 %t10007 = add i32 %t9993, 1 store i32 %t10007, ptr %t9990 br label %ifend2112 ifend2112: %t10008 = load ptr, ptr %t1 %t10009 = call i32 @lp_str_eq(ptr %t10008, ptr @.str8449) %t10010 = icmp ne i32 %t10009, 0 br i1 %t10010, label %then2115, label %ifend2117 then2115: store ptr @.str8450, ptr %t420 %t10011 = load ptr, ptr %t427 %t10012 = getelementptr inbounds %LSlice, ptr %t10011, i32 0, i32 1 %t10013 = getelementptr inbounds %LSlice, ptr %t10011, i32 0, i32 2 %t10014 = getelementptr inbounds %LSlice, ptr %t10011, i32 0, i32 0 %t10015 = load i32, ptr %t10012 %t10016 = load i32, ptr %t10013 %t10017 = icmp sge i32 %t10015, %t10016 br i1 %t10017, label %grow2118, label %put2119 grow2118: %t10018 = mul i32 %t10016, 2 %t10019 = icmp eq i32 %t10016, 0 %t10020 = select i1 %t10019, i32 8, i32 %t10018 %t10021 = getelementptr ptr, ptr null, i32 1 %t10022 = ptrtoint ptr %t10021 to i64 %t10023 = zext i32 %t10020 to i64 %t10024 = mul i64 %t10023, %t10022 %t10025 = load ptr, ptr %t10014 %t10026 = call ptr @realloc(ptr %t10025, i64 %t10024) store ptr %t10026, ptr %t10014 store i32 %t10020, ptr %t10013 br label %put2119 put2119: %t10027 = load ptr, ptr %t10014 %t10028 = getelementptr inbounds ptr, ptr %t10027, i32 %t10015 store ptr @.str8451, ptr %t10028 %t10029 = add i32 %t10015, 1 store i32 %t10029, ptr %t10012 br label %ifend2117 ifend2117: %t10030 = load ptr, ptr %t1 %t10031 = call i32 @lp_str_eq(ptr %t10030, ptr @.str8452) %t10032 = icmp ne i32 %t10031, 0 br i1 %t10032, label %then2120, label %ifend2122 then2120: store ptr @.str8453, ptr %t420 br label %ifend2122 ifend2122: br label %ifend2045 ifend2045: %t10033 = load ptr, ptr %t0 %t10034 = call i32 @lp_str_eq(ptr %t10033, ptr @.str8454) %t10035 = icmp ne i32 %t10034, 0 br i1 %t10035, label %then2123, label %ifend2125 then2123: %t10036 = load ptr, ptr %t1 %t10037 = call i32 @lp_str_eq(ptr %t10036, ptr @.str8455) %t10038 = icmp ne i32 %t10037, 0 br i1 %t10038, label %then2126, label %ifend2128 then2126: store ptr @.str8456, ptr %t420 %t10039 = load ptr, ptr %t427 %t10040 = getelementptr inbounds %LSlice, ptr %t10039, i32 0, i32 1 %t10041 = getelementptr inbounds %LSlice, ptr %t10039, i32 0, i32 2 %t10042 = getelementptr inbounds %LSlice, ptr %t10039, i32 0, i32 0 %t10043 = load i32, ptr %t10040 %t10044 = load i32, ptr %t10041 %t10045 = icmp sge i32 %t10043, %t10044 br i1 %t10045, label %grow2129, label %put2130 grow2129: %t10046 = mul i32 %t10044, 2 %t10047 = icmp eq i32 %t10044, 0 %t10048 = select i1 %t10047, i32 8, i32 %t10046 %t10049 = getelementptr ptr, ptr null, i32 1 %t10050 = ptrtoint ptr %t10049 to i64 %t10051 = zext i32 %t10048 to i64 %t10052 = mul i64 %t10051, %t10050 %t10053 = load ptr, ptr %t10042 %t10054 = call ptr @realloc(ptr %t10053, i64 %t10052) store ptr %t10054, ptr %t10042 store i32 %t10048, ptr %t10041 br label %put2130 put2130: %t10055 = load ptr, ptr %t10042 %t10056 = getelementptr inbounds ptr, ptr %t10055, i32 %t10043 store ptr @.str8457, ptr %t10056 %t10057 = add i32 %t10043, 1 store i32 %t10057, ptr %t10040 br label %ifend2128 ifend2128: %t10058 = load ptr, ptr %t1 %t10059 = call i32 @lp_str_eq(ptr %t10058, ptr @.str8458) %t10060 = icmp ne i32 %t10059, 0 br i1 %t10060, label %then2131, label %ifend2133 then2131: store ptr @.str8459, ptr %t420 %t10061 = load ptr, ptr %t427 %t10062 = getelementptr inbounds %LSlice, ptr %t10061, i32 0, i32 1 %t10063 = getelementptr inbounds %LSlice, ptr %t10061, i32 0, i32 2 %t10064 = getelementptr inbounds %LSlice, ptr %t10061, i32 0, i32 0 %t10065 = load i32, ptr %t10062 %t10066 = load i32, ptr %t10063 %t10067 = icmp sge i32 %t10065, %t10066 br i1 %t10067, label %grow2134, label %put2135 grow2134: %t10068 = mul i32 %t10066, 2 %t10069 = icmp eq i32 %t10066, 0 %t10070 = select i1 %t10069, i32 8, i32 %t10068 %t10071 = getelementptr ptr, ptr null, i32 1 %t10072 = ptrtoint ptr %t10071 to i64 %t10073 = zext i32 %t10070 to i64 %t10074 = mul i64 %t10073, %t10072 %t10075 = load ptr, ptr %t10064 %t10076 = call ptr @realloc(ptr %t10075, i64 %t10074) store ptr %t10076, ptr %t10064 store i32 %t10070, ptr %t10063 br label %put2135 put2135: %t10077 = load ptr, ptr %t10064 %t10078 = getelementptr inbounds ptr, ptr %t10077, i32 %t10065 store ptr @.str8460, ptr %t10078 %t10079 = add i32 %t10065, 1 store i32 %t10079, ptr %t10062 %t10080 = load ptr, ptr %t427 %t10081 = getelementptr inbounds %LSlice, ptr %t10080, i32 0, i32 1 %t10082 = getelementptr inbounds %LSlice, ptr %t10080, i32 0, i32 2 %t10083 = getelementptr inbounds %LSlice, ptr %t10080, i32 0, i32 0 %t10084 = load i32, ptr %t10081 %t10085 = load i32, ptr %t10082 %t10086 = icmp sge i32 %t10084, %t10085 br i1 %t10086, label %grow2136, label %put2137 grow2136: %t10087 = mul i32 %t10085, 2 %t10088 = icmp eq i32 %t10085, 0 %t10089 = select i1 %t10088, i32 8, i32 %t10087 %t10090 = getelementptr ptr, ptr null, i32 1 %t10091 = ptrtoint ptr %t10090 to i64 %t10092 = zext i32 %t10089 to i64 %t10093 = mul i64 %t10092, %t10091 %t10094 = load ptr, ptr %t10083 %t10095 = call ptr @realloc(ptr %t10094, i64 %t10093) store ptr %t10095, ptr %t10083 store i32 %t10089, ptr %t10082 br label %put2137 put2137: %t10096 = load ptr, ptr %t10083 %t10097 = getelementptr inbounds ptr, ptr %t10096, i32 %t10084 store ptr @.str8461, ptr %t10097 %t10098 = add i32 %t10084, 1 store i32 %t10098, ptr %t10081 br label %ifend2133 ifend2133: %t10099 = load ptr, ptr %t1 %t10100 = call i32 @lp_str_eq(ptr %t10099, ptr @.str8462) %t10101 = icmp ne i32 %t10100, 0 br i1 %t10101, label %then2138, label %ifend2140 then2138: store ptr @.str8463, ptr %t420 %t10102 = load ptr, ptr %t427 %t10103 = getelementptr inbounds %LSlice, ptr %t10102, i32 0, i32 1 %t10104 = getelementptr inbounds %LSlice, ptr %t10102, i32 0, i32 2 %t10105 = getelementptr inbounds %LSlice, ptr %t10102, i32 0, i32 0 %t10106 = load i32, ptr %t10103 %t10107 = load i32, ptr %t10104 %t10108 = icmp sge i32 %t10106, %t10107 br i1 %t10108, label %grow2141, label %put2142 grow2141: %t10109 = mul i32 %t10107, 2 %t10110 = icmp eq i32 %t10107, 0 %t10111 = select i1 %t10110, i32 8, i32 %t10109 %t10112 = getelementptr ptr, ptr null, i32 1 %t10113 = ptrtoint ptr %t10112 to i64 %t10114 = zext i32 %t10111 to i64 %t10115 = mul i64 %t10114, %t10113 %t10116 = load ptr, ptr %t10105 %t10117 = call ptr @realloc(ptr %t10116, i64 %t10115) store ptr %t10117, ptr %t10105 store i32 %t10111, ptr %t10104 br label %put2142 put2142: %t10118 = load ptr, ptr %t10105 %t10119 = getelementptr inbounds ptr, ptr %t10118, i32 %t10106 store ptr @.str8464, ptr %t10119 %t10120 = add i32 %t10106, 1 store i32 %t10120, ptr %t10103 %t10121 = load ptr, ptr %t427 %t10122 = getelementptr inbounds %LSlice, ptr %t10121, i32 0, i32 1 %t10123 = getelementptr inbounds %LSlice, ptr %t10121, i32 0, i32 2 %t10124 = getelementptr inbounds %LSlice, ptr %t10121, i32 0, i32 0 %t10125 = load i32, ptr %t10122 %t10126 = load i32, ptr %t10123 %t10127 = icmp sge i32 %t10125, %t10126 br i1 %t10127, label %grow2143, label %put2144 grow2143: %t10128 = mul i32 %t10126, 2 %t10129 = icmp eq i32 %t10126, 0 %t10130 = select i1 %t10129, i32 8, i32 %t10128 %t10131 = getelementptr ptr, ptr null, i32 1 %t10132 = ptrtoint ptr %t10131 to i64 %t10133 = zext i32 %t10130 to i64 %t10134 = mul i64 %t10133, %t10132 %t10135 = load ptr, ptr %t10124 %t10136 = call ptr @realloc(ptr %t10135, i64 %t10134) store ptr %t10136, ptr %t10124 store i32 %t10130, ptr %t10123 br label %put2144 put2144: %t10137 = load ptr, ptr %t10124 %t10138 = getelementptr inbounds ptr, ptr %t10137, i32 %t10125 store ptr @.str8465, ptr %t10138 %t10139 = add i32 %t10125, 1 store i32 %t10139, ptr %t10122 br label %ifend2140 ifend2140: %t10140 = load ptr, ptr %t1 %t10141 = call i32 @lp_str_eq(ptr %t10140, ptr @.str8466) %t10142 = icmp ne i32 %t10141, 0 br i1 %t10142, label %then2145, label %ifend2147 then2145: store ptr @.str8467, ptr %t420 %t10143 = load ptr, ptr %t427 %t10144 = getelementptr inbounds %LSlice, ptr %t10143, i32 0, i32 1 %t10145 = getelementptr inbounds %LSlice, ptr %t10143, i32 0, i32 2 %t10146 = getelementptr inbounds %LSlice, ptr %t10143, i32 0, i32 0 %t10147 = load i32, ptr %t10144 %t10148 = load i32, ptr %t10145 %t10149 = icmp sge i32 %t10147, %t10148 br i1 %t10149, label %grow2148, label %put2149 grow2148: %t10150 = mul i32 %t10148, 2 %t10151 = icmp eq i32 %t10148, 0 %t10152 = select i1 %t10151, i32 8, i32 %t10150 %t10153 = getelementptr ptr, ptr null, i32 1 %t10154 = ptrtoint ptr %t10153 to i64 %t10155 = zext i32 %t10152 to i64 %t10156 = mul i64 %t10155, %t10154 %t10157 = load ptr, ptr %t10146 %t10158 = call ptr @realloc(ptr %t10157, i64 %t10156) store ptr %t10158, ptr %t10146 store i32 %t10152, ptr %t10145 br label %put2149 put2149: %t10159 = load ptr, ptr %t10146 %t10160 = getelementptr inbounds ptr, ptr %t10159, i32 %t10147 store ptr @.str8468, ptr %t10160 %t10161 = add i32 %t10147, 1 store i32 %t10161, ptr %t10144 %t10162 = load ptr, ptr %t427 %t10163 = getelementptr inbounds %LSlice, ptr %t10162, i32 0, i32 1 %t10164 = getelementptr inbounds %LSlice, ptr %t10162, i32 0, i32 2 %t10165 = getelementptr inbounds %LSlice, ptr %t10162, i32 0, i32 0 %t10166 = load i32, ptr %t10163 %t10167 = load i32, ptr %t10164 %t10168 = icmp sge i32 %t10166, %t10167 br i1 %t10168, label %grow2150, label %put2151 grow2150: %t10169 = mul i32 %t10167, 2 %t10170 = icmp eq i32 %t10167, 0 %t10171 = select i1 %t10170, i32 8, i32 %t10169 %t10172 = getelementptr ptr, ptr null, i32 1 %t10173 = ptrtoint ptr %t10172 to i64 %t10174 = zext i32 %t10171 to i64 %t10175 = mul i64 %t10174, %t10173 %t10176 = load ptr, ptr %t10165 %t10177 = call ptr @realloc(ptr %t10176, i64 %t10175) store ptr %t10177, ptr %t10165 store i32 %t10171, ptr %t10164 br label %put2151 put2151: %t10178 = load ptr, ptr %t10165 %t10179 = getelementptr inbounds ptr, ptr %t10178, i32 %t10166 store ptr @.str8469, ptr %t10179 %t10180 = add i32 %t10166, 1 store i32 %t10180, ptr %t10163 br label %ifend2147 ifend2147: %t10181 = load ptr, ptr %t1 %t10182 = call i32 @lp_str_eq(ptr %t10181, ptr @.str8470) %t10183 = icmp ne i32 %t10182, 0 br i1 %t10183, label %then2152, label %ifend2154 then2152: store ptr @.str8471, ptr %t420 %t10184 = load ptr, ptr %t427 %t10185 = getelementptr inbounds %LSlice, ptr %t10184, i32 0, i32 1 %t10186 = getelementptr inbounds %LSlice, ptr %t10184, i32 0, i32 2 %t10187 = getelementptr inbounds %LSlice, ptr %t10184, i32 0, i32 0 %t10188 = load i32, ptr %t10185 %t10189 = load i32, ptr %t10186 %t10190 = icmp sge i32 %t10188, %t10189 br i1 %t10190, label %grow2155, label %put2156 grow2155: %t10191 = mul i32 %t10189, 2 %t10192 = icmp eq i32 %t10189, 0 %t10193 = select i1 %t10192, i32 8, i32 %t10191 %t10194 = getelementptr ptr, ptr null, i32 1 %t10195 = ptrtoint ptr %t10194 to i64 %t10196 = zext i32 %t10193 to i64 %t10197 = mul i64 %t10196, %t10195 %t10198 = load ptr, ptr %t10187 %t10199 = call ptr @realloc(ptr %t10198, i64 %t10197) store ptr %t10199, ptr %t10187 store i32 %t10193, ptr %t10186 br label %put2156 put2156: %t10200 = load ptr, ptr %t10187 %t10201 = getelementptr inbounds ptr, ptr %t10200, i32 %t10188 store ptr @.str8472, ptr %t10201 %t10202 = add i32 %t10188, 1 store i32 %t10202, ptr %t10185 br label %ifend2154 ifend2154: %t10203 = load ptr, ptr %t1 %t10204 = call i32 @lp_str_eq(ptr %t10203, ptr @.str8473) %t10205 = icmp ne i32 %t10204, 0 br i1 %t10205, label %then2157, label %ifend2159 then2157: store ptr @.str8474, ptr %t420 %t10206 = load ptr, ptr %t427 %t10207 = getelementptr inbounds %LSlice, ptr %t10206, i32 0, i32 1 %t10208 = getelementptr inbounds %LSlice, ptr %t10206, i32 0, i32 2 %t10209 = getelementptr inbounds %LSlice, ptr %t10206, i32 0, i32 0 %t10210 = load i32, ptr %t10207 %t10211 = load i32, ptr %t10208 %t10212 = icmp sge i32 %t10210, %t10211 br i1 %t10212, label %grow2160, label %put2161 grow2160: %t10213 = mul i32 %t10211, 2 %t10214 = icmp eq i32 %t10211, 0 %t10215 = select i1 %t10214, i32 8, i32 %t10213 %t10216 = getelementptr ptr, ptr null, i32 1 %t10217 = ptrtoint ptr %t10216 to i64 %t10218 = zext i32 %t10215 to i64 %t10219 = mul i64 %t10218, %t10217 %t10220 = load ptr, ptr %t10209 %t10221 = call ptr @realloc(ptr %t10220, i64 %t10219) store ptr %t10221, ptr %t10209 store i32 %t10215, ptr %t10208 br label %put2161 put2161: %t10222 = load ptr, ptr %t10209 %t10223 = getelementptr inbounds ptr, ptr %t10222, i32 %t10210 store ptr @.str8475, ptr %t10223 %t10224 = add i32 %t10210, 1 store i32 %t10224, ptr %t10207 %t10225 = load ptr, ptr %t427 %t10226 = getelementptr inbounds %LSlice, ptr %t10225, i32 0, i32 1 %t10227 = getelementptr inbounds %LSlice, ptr %t10225, i32 0, i32 2 %t10228 = getelementptr inbounds %LSlice, ptr %t10225, i32 0, i32 0 %t10229 = load i32, ptr %t10226 %t10230 = load i32, ptr %t10227 %t10231 = icmp sge i32 %t10229, %t10230 br i1 %t10231, label %grow2162, label %put2163 grow2162: %t10232 = mul i32 %t10230, 2 %t10233 = icmp eq i32 %t10230, 0 %t10234 = select i1 %t10233, i32 8, i32 %t10232 %t10235 = getelementptr ptr, ptr null, i32 1 %t10236 = ptrtoint ptr %t10235 to i64 %t10237 = zext i32 %t10234 to i64 %t10238 = mul i64 %t10237, %t10236 %t10239 = load ptr, ptr %t10228 %t10240 = call ptr @realloc(ptr %t10239, i64 %t10238) store ptr %t10240, ptr %t10228 store i32 %t10234, ptr %t10227 br label %put2163 put2163: %t10241 = load ptr, ptr %t10228 %t10242 = getelementptr inbounds ptr, ptr %t10241, i32 %t10229 store ptr @.str8476, ptr %t10242 %t10243 = add i32 %t10229, 1 store i32 %t10243, ptr %t10226 br label %ifend2159 ifend2159: %t10244 = load ptr, ptr %t1 %t10245 = call i32 @lp_str_eq(ptr %t10244, ptr @.str8477) %t10246 = icmp ne i32 %t10245, 0 br i1 %t10246, label %then2164, label %ifend2166 then2164: store ptr @.str8478, ptr %t420 %t10247 = load ptr, ptr %t427 %t10248 = getelementptr inbounds %LSlice, ptr %t10247, i32 0, i32 1 %t10249 = getelementptr inbounds %LSlice, ptr %t10247, i32 0, i32 2 %t10250 = getelementptr inbounds %LSlice, ptr %t10247, i32 0, i32 0 %t10251 = load i32, ptr %t10248 %t10252 = load i32, ptr %t10249 %t10253 = icmp sge i32 %t10251, %t10252 br i1 %t10253, label %grow2167, label %put2168 grow2167: %t10254 = mul i32 %t10252, 2 %t10255 = icmp eq i32 %t10252, 0 %t10256 = select i1 %t10255, i32 8, i32 %t10254 %t10257 = getelementptr ptr, ptr null, i32 1 %t10258 = ptrtoint ptr %t10257 to i64 %t10259 = zext i32 %t10256 to i64 %t10260 = mul i64 %t10259, %t10258 %t10261 = load ptr, ptr %t10250 %t10262 = call ptr @realloc(ptr %t10261, i64 %t10260) store ptr %t10262, ptr %t10250 store i32 %t10256, ptr %t10249 br label %put2168 put2168: %t10263 = load ptr, ptr %t10250 %t10264 = getelementptr inbounds ptr, ptr %t10263, i32 %t10251 store ptr @.str8479, ptr %t10264 %t10265 = add i32 %t10251, 1 store i32 %t10265, ptr %t10248 br label %ifend2166 ifend2166: %t10266 = load ptr, ptr %t1 %t10267 = call i32 @lp_str_eq(ptr %t10266, ptr @.str8480) %t10268 = icmp ne i32 %t10267, 0 br i1 %t10268, label %then2169, label %ifend2171 then2169: store ptr @.str8481, ptr %t420 %t10269 = load ptr, ptr %t427 %t10270 = getelementptr inbounds %LSlice, ptr %t10269, i32 0, i32 1 %t10271 = getelementptr inbounds %LSlice, ptr %t10269, i32 0, i32 2 %t10272 = getelementptr inbounds %LSlice, ptr %t10269, i32 0, i32 0 %t10273 = load i32, ptr %t10270 %t10274 = load i32, ptr %t10271 %t10275 = icmp sge i32 %t10273, %t10274 br i1 %t10275, label %grow2172, label %put2173 grow2172: %t10276 = mul i32 %t10274, 2 %t10277 = icmp eq i32 %t10274, 0 %t10278 = select i1 %t10277, i32 8, i32 %t10276 %t10279 = getelementptr ptr, ptr null, i32 1 %t10280 = ptrtoint ptr %t10279 to i64 %t10281 = zext i32 %t10278 to i64 %t10282 = mul i64 %t10281, %t10280 %t10283 = load ptr, ptr %t10272 %t10284 = call ptr @realloc(ptr %t10283, i64 %t10282) store ptr %t10284, ptr %t10272 store i32 %t10278, ptr %t10271 br label %put2173 put2173: %t10285 = load ptr, ptr %t10272 %t10286 = getelementptr inbounds ptr, ptr %t10285, i32 %t10273 store ptr @.str8482, ptr %t10286 %t10287 = add i32 %t10273, 1 store i32 %t10287, ptr %t10270 br label %ifend2171 ifend2171: %t10288 = load ptr, ptr %t1 %t10289 = call i32 @lp_str_eq(ptr %t10288, ptr @.str8483) %t10290 = icmp ne i32 %t10289, 0 br i1 %t10290, label %then2174, label %ifend2176 then2174: store ptr @.str8484, ptr %t420 %t10291 = load ptr, ptr %t427 %t10292 = getelementptr inbounds %LSlice, ptr %t10291, i32 0, i32 1 %t10293 = getelementptr inbounds %LSlice, ptr %t10291, i32 0, i32 2 %t10294 = getelementptr inbounds %LSlice, ptr %t10291, i32 0, i32 0 %t10295 = load i32, ptr %t10292 %t10296 = load i32, ptr %t10293 %t10297 = icmp sge i32 %t10295, %t10296 br i1 %t10297, label %grow2177, label %put2178 grow2177: %t10298 = mul i32 %t10296, 2 %t10299 = icmp eq i32 %t10296, 0 %t10300 = select i1 %t10299, i32 8, i32 %t10298 %t10301 = getelementptr ptr, ptr null, i32 1 %t10302 = ptrtoint ptr %t10301 to i64 %t10303 = zext i32 %t10300 to i64 %t10304 = mul i64 %t10303, %t10302 %t10305 = load ptr, ptr %t10294 %t10306 = call ptr @realloc(ptr %t10305, i64 %t10304) store ptr %t10306, ptr %t10294 store i32 %t10300, ptr %t10293 br label %put2178 put2178: %t10307 = load ptr, ptr %t10294 %t10308 = getelementptr inbounds ptr, ptr %t10307, i32 %t10295 store ptr @.str8485, ptr %t10308 %t10309 = add i32 %t10295, 1 store i32 %t10309, ptr %t10292 br label %ifend2176 ifend2176: %t10310 = load ptr, ptr %t1 %t10311 = call i32 @lp_str_eq(ptr %t10310, ptr @.str8486) %t10312 = icmp ne i32 %t10311, 0 br i1 %t10312, label %then2179, label %ifend2181 then2179: store ptr @.str8487, ptr %t420 %t10313 = load ptr, ptr %t427 %t10314 = getelementptr inbounds %LSlice, ptr %t10313, i32 0, i32 1 %t10315 = getelementptr inbounds %LSlice, ptr %t10313, i32 0, i32 2 %t10316 = getelementptr inbounds %LSlice, ptr %t10313, i32 0, i32 0 %t10317 = load i32, ptr %t10314 %t10318 = load i32, ptr %t10315 %t10319 = icmp sge i32 %t10317, %t10318 br i1 %t10319, label %grow2182, label %put2183 grow2182: %t10320 = mul i32 %t10318, 2 %t10321 = icmp eq i32 %t10318, 0 %t10322 = select i1 %t10321, i32 8, i32 %t10320 %t10323 = getelementptr ptr, ptr null, i32 1 %t10324 = ptrtoint ptr %t10323 to i64 %t10325 = zext i32 %t10322 to i64 %t10326 = mul i64 %t10325, %t10324 %t10327 = load ptr, ptr %t10316 %t10328 = call ptr @realloc(ptr %t10327, i64 %t10326) store ptr %t10328, ptr %t10316 store i32 %t10322, ptr %t10315 br label %put2183 put2183: %t10329 = load ptr, ptr %t10316 %t10330 = getelementptr inbounds ptr, ptr %t10329, i32 %t10317 store ptr @.str8488, ptr %t10330 %t10331 = add i32 %t10317, 1 store i32 %t10331, ptr %t10314 br label %ifend2181 ifend2181: br label %ifend2125 ifend2125: %t10332 = load ptr, ptr %t0 %t10333 = call i32 @lp_str_eq(ptr %t10332, ptr @.str8489) %t10334 = icmp ne i32 %t10333, 0 br i1 %t10334, label %then2184, label %ifend2186 then2184: %t10335 = load ptr, ptr %t1 %t10336 = call i32 @lp_str_eq(ptr %t10335, ptr @.str8490) %t10337 = icmp ne i32 %t10336, 0 br i1 %t10337, label %then2187, label %ifend2189 then2187: store ptr @.str8491, ptr %t420 %t10338 = load ptr, ptr %t427 %t10339 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 1 %t10340 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 2 %t10341 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 0 %t10342 = load i32, ptr %t10339 %t10343 = load i32, ptr %t10340 %t10344 = icmp sge i32 %t10342, %t10343 br i1 %t10344, label %grow2190, label %put2191 grow2190: %t10345 = mul i32 %t10343, 2 %t10346 = icmp eq i32 %t10343, 0 %t10347 = select i1 %t10346, i32 8, i32 %t10345 %t10348 = getelementptr ptr, ptr null, i32 1 %t10349 = ptrtoint ptr %t10348 to i64 %t10350 = zext i32 %t10347 to i64 %t10351 = mul i64 %t10350, %t10349 %t10352 = load ptr, ptr %t10341 %t10353 = call ptr @realloc(ptr %t10352, i64 %t10351) store ptr %t10353, ptr %t10341 store i32 %t10347, ptr %t10340 br label %put2191 put2191: %t10354 = load ptr, ptr %t10341 %t10355 = getelementptr inbounds ptr, ptr %t10354, i32 %t10342 store ptr @.str8492, ptr %t10355 %t10356 = add i32 %t10342, 1 store i32 %t10356, ptr %t10339 br label %ifend2189 ifend2189: %t10357 = load ptr, ptr %t1 %t10358 = call i32 @lp_str_eq(ptr %t10357, ptr @.str8493) %t10359 = icmp ne i32 %t10358, 0 br i1 %t10359, label %then2192, label %ifend2194 then2192: store ptr @.str8494, ptr %t420 %t10360 = load ptr, ptr %t427 %t10361 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 1 %t10362 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 2 %t10363 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 0 %t10364 = load i32, ptr %t10361 %t10365 = load i32, ptr %t10362 %t10366 = icmp sge i32 %t10364, %t10365 br i1 %t10366, label %grow2195, label %put2196 grow2195: %t10367 = mul i32 %t10365, 2 %t10368 = icmp eq i32 %t10365, 0 %t10369 = select i1 %t10368, i32 8, i32 %t10367 %t10370 = getelementptr ptr, ptr null, i32 1 %t10371 = ptrtoint ptr %t10370 to i64 %t10372 = zext i32 %t10369 to i64 %t10373 = mul i64 %t10372, %t10371 %t10374 = load ptr, ptr %t10363 %t10375 = call ptr @realloc(ptr %t10374, i64 %t10373) store ptr %t10375, ptr %t10363 store i32 %t10369, ptr %t10362 br label %put2196 put2196: %t10376 = load ptr, ptr %t10363 %t10377 = getelementptr inbounds ptr, ptr %t10376, i32 %t10364 store ptr @.str8495, ptr %t10377 %t10378 = add i32 %t10364, 1 store i32 %t10378, ptr %t10361 br label %ifend2194 ifend2194: %t10379 = load ptr, ptr %t1 %t10380 = call i32 @lp_str_eq(ptr %t10379, ptr @.str8496) %t10381 = icmp ne i32 %t10380, 0 br i1 %t10381, label %then2197, label %ifend2199 then2197: store ptr @.str8497, ptr %t420 %t10382 = load ptr, ptr %t427 %t10383 = getelementptr inbounds %LSlice, ptr %t10382, i32 0, i32 1 %t10384 = getelementptr inbounds %LSlice, ptr %t10382, i32 0, i32 2 %t10385 = getelementptr inbounds %LSlice, ptr %t10382, i32 0, i32 0 %t10386 = load i32, ptr %t10383 %t10387 = load i32, ptr %t10384 %t10388 = icmp sge i32 %t10386, %t10387 br i1 %t10388, label %grow2200, label %put2201 grow2200: %t10389 = mul i32 %t10387, 2 %t10390 = icmp eq i32 %t10387, 0 %t10391 = select i1 %t10390, i32 8, i32 %t10389 %t10392 = getelementptr ptr, ptr null, i32 1 %t10393 = ptrtoint ptr %t10392 to i64 %t10394 = zext i32 %t10391 to i64 %t10395 = mul i64 %t10394, %t10393 %t10396 = load ptr, ptr %t10385 %t10397 = call ptr @realloc(ptr %t10396, i64 %t10395) store ptr %t10397, ptr %t10385 store i32 %t10391, ptr %t10384 br label %put2201 put2201: %t10398 = load ptr, ptr %t10385 %t10399 = getelementptr inbounds ptr, ptr %t10398, i32 %t10386 store ptr @.str8498, ptr %t10399 %t10400 = add i32 %t10386, 1 store i32 %t10400, ptr %t10383 br label %ifend2199 ifend2199: %t10401 = load ptr, ptr %t1 %t10402 = call i32 @lp_str_eq(ptr %t10401, ptr @.str8499) %t10403 = icmp ne i32 %t10402, 0 br i1 %t10403, label %then2202, label %ifend2204 then2202: store ptr @.str8500, ptr %t420 %t10404 = load ptr, ptr %t427 %t10405 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 1 %t10406 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 2 %t10407 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 0 %t10408 = load i32, ptr %t10405 %t10409 = load i32, ptr %t10406 %t10410 = icmp sge i32 %t10408, %t10409 br i1 %t10410, label %grow2205, label %put2206 grow2205: %t10411 = mul i32 %t10409, 2 %t10412 = icmp eq i32 %t10409, 0 %t10413 = select i1 %t10412, i32 8, i32 %t10411 %t10414 = getelementptr ptr, ptr null, i32 1 %t10415 = ptrtoint ptr %t10414 to i64 %t10416 = zext i32 %t10413 to i64 %t10417 = mul i64 %t10416, %t10415 %t10418 = load ptr, ptr %t10407 %t10419 = call ptr @realloc(ptr %t10418, i64 %t10417) store ptr %t10419, ptr %t10407 store i32 %t10413, ptr %t10406 br label %put2206 put2206: %t10420 = load ptr, ptr %t10407 %t10421 = getelementptr inbounds ptr, ptr %t10420, i32 %t10408 store ptr @.str8501, ptr %t10421 %t10422 = add i32 %t10408, 1 store i32 %t10422, ptr %t10405 br label %ifend2204 ifend2204: %t10423 = load ptr, ptr %t1 %t10424 = call i32 @lp_str_eq(ptr %t10423, ptr @.str8502) %t10425 = icmp ne i32 %t10424, 0 br i1 %t10425, label %then2207, label %ifend2209 then2207: store ptr @.str8503, ptr %t420 %t10426 = load ptr, ptr %t427 %t10427 = getelementptr inbounds %LSlice, ptr %t10426, i32 0, i32 1 %t10428 = getelementptr inbounds %LSlice, ptr %t10426, i32 0, i32 2 %t10429 = getelementptr inbounds %LSlice, ptr %t10426, i32 0, i32 0 %t10430 = load i32, ptr %t10427 %t10431 = load i32, ptr %t10428 %t10432 = icmp sge i32 %t10430, %t10431 br i1 %t10432, label %grow2210, label %put2211 grow2210: %t10433 = mul i32 %t10431, 2 %t10434 = icmp eq i32 %t10431, 0 %t10435 = select i1 %t10434, i32 8, i32 %t10433 %t10436 = getelementptr ptr, ptr null, i32 1 %t10437 = ptrtoint ptr %t10436 to i64 %t10438 = zext i32 %t10435 to i64 %t10439 = mul i64 %t10438, %t10437 %t10440 = load ptr, ptr %t10429 %t10441 = call ptr @realloc(ptr %t10440, i64 %t10439) store ptr %t10441, ptr %t10429 store i32 %t10435, ptr %t10428 br label %put2211 put2211: %t10442 = load ptr, ptr %t10429 %t10443 = getelementptr inbounds ptr, ptr %t10442, i32 %t10430 store ptr @.str8504, ptr %t10443 %t10444 = add i32 %t10430, 1 store i32 %t10444, ptr %t10427 br label %ifend2209 ifend2209: %t10445 = load ptr, ptr %t1 %t10446 = call i32 @lp_str_eq(ptr %t10445, ptr @.str8505) %t10447 = icmp ne i32 %t10446, 0 br i1 %t10447, label %then2212, label %ifend2214 then2212: store ptr @.str8506, ptr %t420 %t10448 = load ptr, ptr %t427 %t10449 = getelementptr inbounds %LSlice, ptr %t10448, i32 0, i32 1 %t10450 = getelementptr inbounds %LSlice, ptr %t10448, i32 0, i32 2 %t10451 = getelementptr inbounds %LSlice, ptr %t10448, i32 0, i32 0 %t10452 = load i32, ptr %t10449 %t10453 = load i32, ptr %t10450 %t10454 = icmp sge i32 %t10452, %t10453 br i1 %t10454, label %grow2215, label %put2216 grow2215: %t10455 = mul i32 %t10453, 2 %t10456 = icmp eq i32 %t10453, 0 %t10457 = select i1 %t10456, i32 8, i32 %t10455 %t10458 = getelementptr ptr, ptr null, i32 1 %t10459 = ptrtoint ptr %t10458 to i64 %t10460 = zext i32 %t10457 to i64 %t10461 = mul i64 %t10460, %t10459 %t10462 = load ptr, ptr %t10451 %t10463 = call ptr @realloc(ptr %t10462, i64 %t10461) store ptr %t10463, ptr %t10451 store i32 %t10457, ptr %t10450 br label %put2216 put2216: %t10464 = load ptr, ptr %t10451 %t10465 = getelementptr inbounds ptr, ptr %t10464, i32 %t10452 store ptr @.str8507, ptr %t10465 %t10466 = add i32 %t10452, 1 store i32 %t10466, ptr %t10449 %t10467 = load ptr, ptr %t427 %t10468 = getelementptr inbounds %LSlice, ptr %t10467, i32 0, i32 1 %t10469 = getelementptr inbounds %LSlice, ptr %t10467, i32 0, i32 2 %t10470 = getelementptr inbounds %LSlice, ptr %t10467, i32 0, i32 0 %t10471 = load i32, ptr %t10468 %t10472 = load i32, ptr %t10469 %t10473 = icmp sge i32 %t10471, %t10472 br i1 %t10473, label %grow2217, label %put2218 grow2217: %t10474 = mul i32 %t10472, 2 %t10475 = icmp eq i32 %t10472, 0 %t10476 = select i1 %t10475, i32 8, i32 %t10474 %t10477 = getelementptr ptr, ptr null, i32 1 %t10478 = ptrtoint ptr %t10477 to i64 %t10479 = zext i32 %t10476 to i64 %t10480 = mul i64 %t10479, %t10478 %t10481 = load ptr, ptr %t10470 %t10482 = call ptr @realloc(ptr %t10481, i64 %t10480) store ptr %t10482, ptr %t10470 store i32 %t10476, ptr %t10469 br label %put2218 put2218: %t10483 = load ptr, ptr %t10470 %t10484 = getelementptr inbounds ptr, ptr %t10483, i32 %t10471 store ptr @.str8508, ptr %t10484 %t10485 = add i32 %t10471, 1 store i32 %t10485, ptr %t10468 br label %ifend2214 ifend2214: %t10486 = load ptr, ptr %t1 %t10487 = call i32 @lp_str_eq(ptr %t10486, ptr @.str8509) %t10488 = icmp ne i32 %t10487, 0 br i1 %t10488, label %then2219, label %ifend2221 then2219: store ptr @.str8510, ptr %t420 %t10489 = load ptr, ptr %t427 %t10490 = getelementptr inbounds %LSlice, ptr %t10489, i32 0, i32 1 %t10491 = getelementptr inbounds %LSlice, ptr %t10489, i32 0, i32 2 %t10492 = getelementptr inbounds %LSlice, ptr %t10489, i32 0, i32 0 %t10493 = load i32, ptr %t10490 %t10494 = load i32, ptr %t10491 %t10495 = icmp sge i32 %t10493, %t10494 br i1 %t10495, label %grow2222, label %put2223 grow2222: %t10496 = mul i32 %t10494, 2 %t10497 = icmp eq i32 %t10494, 0 %t10498 = select i1 %t10497, i32 8, i32 %t10496 %t10499 = getelementptr ptr, ptr null, i32 1 %t10500 = ptrtoint ptr %t10499 to i64 %t10501 = zext i32 %t10498 to i64 %t10502 = mul i64 %t10501, %t10500 %t10503 = load ptr, ptr %t10492 %t10504 = call ptr @realloc(ptr %t10503, i64 %t10502) store ptr %t10504, ptr %t10492 store i32 %t10498, ptr %t10491 br label %put2223 put2223: %t10505 = load ptr, ptr %t10492 %t10506 = getelementptr inbounds ptr, ptr %t10505, i32 %t10493 store ptr @.str8511, ptr %t10506 %t10507 = add i32 %t10493, 1 store i32 %t10507, ptr %t10490 %t10508 = load ptr, ptr %t427 %t10509 = getelementptr inbounds %LSlice, ptr %t10508, i32 0, i32 1 %t10510 = getelementptr inbounds %LSlice, ptr %t10508, i32 0, i32 2 %t10511 = getelementptr inbounds %LSlice, ptr %t10508, i32 0, i32 0 %t10512 = load i32, ptr %t10509 %t10513 = load i32, ptr %t10510 %t10514 = icmp sge i32 %t10512, %t10513 br i1 %t10514, label %grow2224, label %put2225 grow2224: %t10515 = mul i32 %t10513, 2 %t10516 = icmp eq i32 %t10513, 0 %t10517 = select i1 %t10516, i32 8, i32 %t10515 %t10518 = getelementptr ptr, ptr null, i32 1 %t10519 = ptrtoint ptr %t10518 to i64 %t10520 = zext i32 %t10517 to i64 %t10521 = mul i64 %t10520, %t10519 %t10522 = load ptr, ptr %t10511 %t10523 = call ptr @realloc(ptr %t10522, i64 %t10521) store ptr %t10523, ptr %t10511 store i32 %t10517, ptr %t10510 br label %put2225 put2225: %t10524 = load ptr, ptr %t10511 %t10525 = getelementptr inbounds ptr, ptr %t10524, i32 %t10512 store ptr @.str8512, ptr %t10525 %t10526 = add i32 %t10512, 1 store i32 %t10526, ptr %t10509 br label %ifend2221 ifend2221: %t10527 = load ptr, ptr %t1 %t10528 = call i32 @lp_str_eq(ptr %t10527, ptr @.str8513) %t10529 = icmp ne i32 %t10528, 0 br i1 %t10529, label %then2226, label %ifend2228 then2226: store ptr @.str8514, ptr %t420 %t10530 = load ptr, ptr %t427 %t10531 = getelementptr inbounds %LSlice, ptr %t10530, i32 0, i32 1 %t10532 = getelementptr inbounds %LSlice, ptr %t10530, i32 0, i32 2 %t10533 = getelementptr inbounds %LSlice, ptr %t10530, i32 0, i32 0 %t10534 = load i32, ptr %t10531 %t10535 = load i32, ptr %t10532 %t10536 = icmp sge i32 %t10534, %t10535 br i1 %t10536, label %grow2229, label %put2230 grow2229: %t10537 = mul i32 %t10535, 2 %t10538 = icmp eq i32 %t10535, 0 %t10539 = select i1 %t10538, i32 8, i32 %t10537 %t10540 = getelementptr ptr, ptr null, i32 1 %t10541 = ptrtoint ptr %t10540 to i64 %t10542 = zext i32 %t10539 to i64 %t10543 = mul i64 %t10542, %t10541 %t10544 = load ptr, ptr %t10533 %t10545 = call ptr @realloc(ptr %t10544, i64 %t10543) store ptr %t10545, ptr %t10533 store i32 %t10539, ptr %t10532 br label %put2230 put2230: %t10546 = load ptr, ptr %t10533 %t10547 = getelementptr inbounds ptr, ptr %t10546, i32 %t10534 store ptr @.str8515, ptr %t10547 %t10548 = add i32 %t10534, 1 store i32 %t10548, ptr %t10531 %t10549 = load ptr, ptr %t427 %t10550 = getelementptr inbounds %LSlice, ptr %t10549, i32 0, i32 1 %t10551 = getelementptr inbounds %LSlice, ptr %t10549, i32 0, i32 2 %t10552 = getelementptr inbounds %LSlice, ptr %t10549, i32 0, i32 0 %t10553 = load i32, ptr %t10550 %t10554 = load i32, ptr %t10551 %t10555 = icmp sge i32 %t10553, %t10554 br i1 %t10555, label %grow2231, label %put2232 grow2231: %t10556 = mul i32 %t10554, 2 %t10557 = icmp eq i32 %t10554, 0 %t10558 = select i1 %t10557, i32 8, i32 %t10556 %t10559 = getelementptr ptr, ptr null, i32 1 %t10560 = ptrtoint ptr %t10559 to i64 %t10561 = zext i32 %t10558 to i64 %t10562 = mul i64 %t10561, %t10560 %t10563 = load ptr, ptr %t10552 %t10564 = call ptr @realloc(ptr %t10563, i64 %t10562) store ptr %t10564, ptr %t10552 store i32 %t10558, ptr %t10551 br label %put2232 put2232: %t10565 = load ptr, ptr %t10552 %t10566 = getelementptr inbounds ptr, ptr %t10565, i32 %t10553 store ptr @.str8516, ptr %t10566 %t10567 = add i32 %t10553, 1 store i32 %t10567, ptr %t10550 br label %ifend2228 ifend2228: %t10568 = load ptr, ptr %t1 %t10569 = call i32 @lp_str_eq(ptr %t10568, ptr @.str8517) %t10570 = icmp ne i32 %t10569, 0 br i1 %t10570, label %then2233, label %ifend2235 then2233: store ptr @.str8518, ptr %t420 %t10571 = load ptr, ptr %t427 %t10572 = getelementptr inbounds %LSlice, ptr %t10571, i32 0, i32 1 %t10573 = getelementptr inbounds %LSlice, ptr %t10571, i32 0, i32 2 %t10574 = getelementptr inbounds %LSlice, ptr %t10571, i32 0, i32 0 %t10575 = load i32, ptr %t10572 %t10576 = load i32, ptr %t10573 %t10577 = icmp sge i32 %t10575, %t10576 br i1 %t10577, label %grow2236, label %put2237 grow2236: %t10578 = mul i32 %t10576, 2 %t10579 = icmp eq i32 %t10576, 0 %t10580 = select i1 %t10579, i32 8, i32 %t10578 %t10581 = getelementptr ptr, ptr null, i32 1 %t10582 = ptrtoint ptr %t10581 to i64 %t10583 = zext i32 %t10580 to i64 %t10584 = mul i64 %t10583, %t10582 %t10585 = load ptr, ptr %t10574 %t10586 = call ptr @realloc(ptr %t10585, i64 %t10584) store ptr %t10586, ptr %t10574 store i32 %t10580, ptr %t10573 br label %put2237 put2237: %t10587 = load ptr, ptr %t10574 %t10588 = getelementptr inbounds ptr, ptr %t10587, i32 %t10575 store ptr @.str8519, ptr %t10588 %t10589 = add i32 %t10575, 1 store i32 %t10589, ptr %t10572 %t10590 = load ptr, ptr %t427 %t10591 = getelementptr inbounds %LSlice, ptr %t10590, i32 0, i32 1 %t10592 = getelementptr inbounds %LSlice, ptr %t10590, i32 0, i32 2 %t10593 = getelementptr inbounds %LSlice, ptr %t10590, i32 0, i32 0 %t10594 = load i32, ptr %t10591 %t10595 = load i32, ptr %t10592 %t10596 = icmp sge i32 %t10594, %t10595 br i1 %t10596, label %grow2238, label %put2239 grow2238: %t10597 = mul i32 %t10595, 2 %t10598 = icmp eq i32 %t10595, 0 %t10599 = select i1 %t10598, i32 8, i32 %t10597 %t10600 = getelementptr ptr, ptr null, i32 1 %t10601 = ptrtoint ptr %t10600 to i64 %t10602 = zext i32 %t10599 to i64 %t10603 = mul i64 %t10602, %t10601 %t10604 = load ptr, ptr %t10593 %t10605 = call ptr @realloc(ptr %t10604, i64 %t10603) store ptr %t10605, ptr %t10593 store i32 %t10599, ptr %t10592 br label %put2239 put2239: %t10606 = load ptr, ptr %t10593 %t10607 = getelementptr inbounds ptr, ptr %t10606, i32 %t10594 store ptr @.str8520, ptr %t10607 %t10608 = add i32 %t10594, 1 store i32 %t10608, ptr %t10591 %t10609 = load ptr, ptr %t427 %t10610 = getelementptr inbounds %LSlice, ptr %t10609, i32 0, i32 1 %t10611 = getelementptr inbounds %LSlice, ptr %t10609, i32 0, i32 2 %t10612 = getelementptr inbounds %LSlice, ptr %t10609, i32 0, i32 0 %t10613 = load i32, ptr %t10610 %t10614 = load i32, ptr %t10611 %t10615 = icmp sge i32 %t10613, %t10614 br i1 %t10615, label %grow2240, label %put2241 grow2240: %t10616 = mul i32 %t10614, 2 %t10617 = icmp eq i32 %t10614, 0 %t10618 = select i1 %t10617, i32 8, i32 %t10616 %t10619 = getelementptr ptr, ptr null, i32 1 %t10620 = ptrtoint ptr %t10619 to i64 %t10621 = zext i32 %t10618 to i64 %t10622 = mul i64 %t10621, %t10620 %t10623 = load ptr, ptr %t10612 %t10624 = call ptr @realloc(ptr %t10623, i64 %t10622) store ptr %t10624, ptr %t10612 store i32 %t10618, ptr %t10611 br label %put2241 put2241: %t10625 = load ptr, ptr %t10612 %t10626 = getelementptr inbounds ptr, ptr %t10625, i32 %t10613 store ptr @.str8521, ptr %t10626 %t10627 = add i32 %t10613, 1 store i32 %t10627, ptr %t10610 br label %ifend2235 ifend2235: br label %ifend2186 ifend2186: %t10628 = load ptr, ptr %t0 %t10629 = call i32 @lp_str_eq(ptr %t10628, ptr @.str8522) %t10630 = icmp ne i32 %t10629, 0 br i1 %t10630, label %then2242, label %ifend2244 then2242: %t10631 = load ptr, ptr %t1 %t10632 = call i32 @lp_str_eq(ptr %t10631, ptr @.str8523) %t10633 = icmp ne i32 %t10632, 0 br i1 %t10633, label %then2245, label %ifend2247 then2245: store ptr @.str8524, ptr %t420 %t10634 = load ptr, ptr %t427 %t10635 = getelementptr inbounds %LSlice, ptr %t10634, i32 0, i32 1 %t10636 = getelementptr inbounds %LSlice, ptr %t10634, i32 0, i32 2 %t10637 = getelementptr inbounds %LSlice, ptr %t10634, i32 0, i32 0 %t10638 = load i32, ptr %t10635 %t10639 = load i32, ptr %t10636 %t10640 = icmp sge i32 %t10638, %t10639 br i1 %t10640, label %grow2248, label %put2249 grow2248: %t10641 = mul i32 %t10639, 2 %t10642 = icmp eq i32 %t10639, 0 %t10643 = select i1 %t10642, i32 8, i32 %t10641 %t10644 = getelementptr ptr, ptr null, i32 1 %t10645 = ptrtoint ptr %t10644 to i64 %t10646 = zext i32 %t10643 to i64 %t10647 = mul i64 %t10646, %t10645 %t10648 = load ptr, ptr %t10637 %t10649 = call ptr @realloc(ptr %t10648, i64 %t10647) store ptr %t10649, ptr %t10637 store i32 %t10643, ptr %t10636 br label %put2249 put2249: %t10650 = load ptr, ptr %t10637 %t10651 = getelementptr inbounds ptr, ptr %t10650, i32 %t10638 store ptr @.str8525, ptr %t10651 %t10652 = add i32 %t10638, 1 store i32 %t10652, ptr %t10635 br label %ifend2247 ifend2247: %t10653 = load ptr, ptr %t1 %t10654 = call i32 @lp_str_eq(ptr %t10653, ptr @.str8526) %t10655 = icmp ne i32 %t10654, 0 br i1 %t10655, label %then2250, label %ifend2252 then2250: store ptr @.str8527, ptr %t420 %t10656 = load ptr, ptr %t427 %t10657 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 1 %t10658 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 2 %t10659 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 0 %t10660 = load i32, ptr %t10657 %t10661 = load i32, ptr %t10658 %t10662 = icmp sge i32 %t10660, %t10661 br i1 %t10662, label %grow2253, label %put2254 grow2253: %t10663 = mul i32 %t10661, 2 %t10664 = icmp eq i32 %t10661, 0 %t10665 = select i1 %t10664, i32 8, i32 %t10663 %t10666 = getelementptr ptr, ptr null, i32 1 %t10667 = ptrtoint ptr %t10666 to i64 %t10668 = zext i32 %t10665 to i64 %t10669 = mul i64 %t10668, %t10667 %t10670 = load ptr, ptr %t10659 %t10671 = call ptr @realloc(ptr %t10670, i64 %t10669) store ptr %t10671, ptr %t10659 store i32 %t10665, ptr %t10658 br label %put2254 put2254: %t10672 = load ptr, ptr %t10659 %t10673 = getelementptr inbounds ptr, ptr %t10672, i32 %t10660 store ptr @.str8528, ptr %t10673 %t10674 = add i32 %t10660, 1 store i32 %t10674, ptr %t10657 %t10675 = load ptr, ptr %t427 %t10676 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 1 %t10677 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 2 %t10678 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 0 %t10679 = load i32, ptr %t10676 %t10680 = load i32, ptr %t10677 %t10681 = icmp sge i32 %t10679, %t10680 br i1 %t10681, label %grow2255, label %put2256 grow2255: %t10682 = mul i32 %t10680, 2 %t10683 = icmp eq i32 %t10680, 0 %t10684 = select i1 %t10683, i32 8, i32 %t10682 %t10685 = getelementptr ptr, ptr null, i32 1 %t10686 = ptrtoint ptr %t10685 to i64 %t10687 = zext i32 %t10684 to i64 %t10688 = mul i64 %t10687, %t10686 %t10689 = load ptr, ptr %t10678 %t10690 = call ptr @realloc(ptr %t10689, i64 %t10688) store ptr %t10690, ptr %t10678 store i32 %t10684, ptr %t10677 br label %put2256 put2256: %t10691 = load ptr, ptr %t10678 %t10692 = getelementptr inbounds ptr, ptr %t10691, i32 %t10679 store ptr @.str8529, ptr %t10692 %t10693 = add i32 %t10679, 1 store i32 %t10693, ptr %t10676 br label %ifend2252 ifend2252: %t10694 = load ptr, ptr %t1 %t10695 = call i32 @lp_str_eq(ptr %t10694, ptr @.str8530) %t10696 = icmp ne i32 %t10695, 0 br i1 %t10696, label %then2257, label %ifend2259 then2257: store ptr @.str8531, ptr %t420 %t10697 = load ptr, ptr %t427 %t10698 = getelementptr inbounds %LSlice, ptr %t10697, i32 0, i32 1 %t10699 = getelementptr inbounds %LSlice, ptr %t10697, i32 0, i32 2 %t10700 = getelementptr inbounds %LSlice, ptr %t10697, i32 0, i32 0 %t10701 = load i32, ptr %t10698 %t10702 = load i32, ptr %t10699 %t10703 = icmp sge i32 %t10701, %t10702 br i1 %t10703, label %grow2260, label %put2261 grow2260: %t10704 = mul i32 %t10702, 2 %t10705 = icmp eq i32 %t10702, 0 %t10706 = select i1 %t10705, i32 8, i32 %t10704 %t10707 = getelementptr ptr, ptr null, i32 1 %t10708 = ptrtoint ptr %t10707 to i64 %t10709 = zext i32 %t10706 to i64 %t10710 = mul i64 %t10709, %t10708 %t10711 = load ptr, ptr %t10700 %t10712 = call ptr @realloc(ptr %t10711, i64 %t10710) store ptr %t10712, ptr %t10700 store i32 %t10706, ptr %t10699 br label %put2261 put2261: %t10713 = load ptr, ptr %t10700 %t10714 = getelementptr inbounds ptr, ptr %t10713, i32 %t10701 store ptr @.str8532, ptr %t10714 %t10715 = add i32 %t10701, 1 store i32 %t10715, ptr %t10698 %t10716 = load ptr, ptr %t427 %t10717 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 1 %t10718 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 2 %t10719 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 0 %t10720 = load i32, ptr %t10717 %t10721 = load i32, ptr %t10718 %t10722 = icmp sge i32 %t10720, %t10721 br i1 %t10722, label %grow2262, label %put2263 grow2262: %t10723 = mul i32 %t10721, 2 %t10724 = icmp eq i32 %t10721, 0 %t10725 = select i1 %t10724, i32 8, i32 %t10723 %t10726 = getelementptr ptr, ptr null, i32 1 %t10727 = ptrtoint ptr %t10726 to i64 %t10728 = zext i32 %t10725 to i64 %t10729 = mul i64 %t10728, %t10727 %t10730 = load ptr, ptr %t10719 %t10731 = call ptr @realloc(ptr %t10730, i64 %t10729) store ptr %t10731, ptr %t10719 store i32 %t10725, ptr %t10718 br label %put2263 put2263: %t10732 = load ptr, ptr %t10719 %t10733 = getelementptr inbounds ptr, ptr %t10732, i32 %t10720 store ptr @.str8533, ptr %t10733 %t10734 = add i32 %t10720, 1 store i32 %t10734, ptr %t10717 %t10735 = load ptr, ptr %t427 %t10736 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 1 %t10737 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 2 %t10738 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 0 %t10739 = load i32, ptr %t10736 %t10740 = load i32, ptr %t10737 %t10741 = icmp sge i32 %t10739, %t10740 br i1 %t10741, label %grow2264, label %put2265 grow2264: %t10742 = mul i32 %t10740, 2 %t10743 = icmp eq i32 %t10740, 0 %t10744 = select i1 %t10743, i32 8, i32 %t10742 %t10745 = getelementptr ptr, ptr null, i32 1 %t10746 = ptrtoint ptr %t10745 to i64 %t10747 = zext i32 %t10744 to i64 %t10748 = mul i64 %t10747, %t10746 %t10749 = load ptr, ptr %t10738 %t10750 = call ptr @realloc(ptr %t10749, i64 %t10748) store ptr %t10750, ptr %t10738 store i32 %t10744, ptr %t10737 br label %put2265 put2265: %t10751 = load ptr, ptr %t10738 %t10752 = getelementptr inbounds ptr, ptr %t10751, i32 %t10739 store ptr @.str8534, ptr %t10752 %t10753 = add i32 %t10739, 1 store i32 %t10753, ptr %t10736 br label %ifend2259 ifend2259: %t10754 = load ptr, ptr %t1 %t10755 = call i32 @lp_str_eq(ptr %t10754, ptr @.str8535) %t10756 = icmp ne i32 %t10755, 0 br i1 %t10756, label %then2266, label %ifend2268 then2266: store ptr @.str8536, ptr %t420 %t10757 = load ptr, ptr %t427 %t10758 = getelementptr inbounds %LSlice, ptr %t10757, i32 0, i32 1 %t10759 = getelementptr inbounds %LSlice, ptr %t10757, i32 0, i32 2 %t10760 = getelementptr inbounds %LSlice, ptr %t10757, i32 0, i32 0 %t10761 = load i32, ptr %t10758 %t10762 = load i32, ptr %t10759 %t10763 = icmp sge i32 %t10761, %t10762 br i1 %t10763, label %grow2269, label %put2270 grow2269: %t10764 = mul i32 %t10762, 2 %t10765 = icmp eq i32 %t10762, 0 %t10766 = select i1 %t10765, i32 8, i32 %t10764 %t10767 = getelementptr ptr, ptr null, i32 1 %t10768 = ptrtoint ptr %t10767 to i64 %t10769 = zext i32 %t10766 to i64 %t10770 = mul i64 %t10769, %t10768 %t10771 = load ptr, ptr %t10760 %t10772 = call ptr @realloc(ptr %t10771, i64 %t10770) store ptr %t10772, ptr %t10760 store i32 %t10766, ptr %t10759 br label %put2270 put2270: %t10773 = load ptr, ptr %t10760 %t10774 = getelementptr inbounds ptr, ptr %t10773, i32 %t10761 store ptr @.str8537, ptr %t10774 %t10775 = add i32 %t10761, 1 store i32 %t10775, ptr %t10758 %t10776 = load ptr, ptr %t427 %t10777 = getelementptr inbounds %LSlice, ptr %t10776, i32 0, i32 1 %t10778 = getelementptr inbounds %LSlice, ptr %t10776, i32 0, i32 2 %t10779 = getelementptr inbounds %LSlice, ptr %t10776, i32 0, i32 0 %t10780 = load i32, ptr %t10777 %t10781 = load i32, ptr %t10778 %t10782 = icmp sge i32 %t10780, %t10781 br i1 %t10782, label %grow2271, label %put2272 grow2271: %t10783 = mul i32 %t10781, 2 %t10784 = icmp eq i32 %t10781, 0 %t10785 = select i1 %t10784, i32 8, i32 %t10783 %t10786 = getelementptr ptr, ptr null, i32 1 %t10787 = ptrtoint ptr %t10786 to i64 %t10788 = zext i32 %t10785 to i64 %t10789 = mul i64 %t10788, %t10787 %t10790 = load ptr, ptr %t10779 %t10791 = call ptr @realloc(ptr %t10790, i64 %t10789) store ptr %t10791, ptr %t10779 store i32 %t10785, ptr %t10778 br label %put2272 put2272: %t10792 = load ptr, ptr %t10779 %t10793 = getelementptr inbounds ptr, ptr %t10792, i32 %t10780 store ptr @.str8538, ptr %t10793 %t10794 = add i32 %t10780, 1 store i32 %t10794, ptr %t10777 br label %ifend2268 ifend2268: br label %ifend2244 ifend2244: %t10795 = load ptr, ptr %t0 %t10796 = call i32 @lp_str_eq(ptr %t10795, ptr @.str8539) %t10797 = icmp ne i32 %t10796, 0 br i1 %t10797, label %then2273, label %ifend2275 then2273: %t10798 = load ptr, ptr %t1 %t10799 = call i32 @lp_str_eq(ptr %t10798, ptr @.str8540) %t10800 = icmp ne i32 %t10799, 0 br i1 %t10800, label %then2276, label %ifend2278 then2276: store ptr @.str8541, ptr %t420 %t10801 = load ptr, ptr %t427 %t10802 = getelementptr inbounds %LSlice, ptr %t10801, i32 0, i32 1 %t10803 = getelementptr inbounds %LSlice, ptr %t10801, i32 0, i32 2 %t10804 = getelementptr inbounds %LSlice, ptr %t10801, i32 0, i32 0 %t10805 = load i32, ptr %t10802 %t10806 = load i32, ptr %t10803 %t10807 = icmp sge i32 %t10805, %t10806 br i1 %t10807, label %grow2279, label %put2280 grow2279: %t10808 = mul i32 %t10806, 2 %t10809 = icmp eq i32 %t10806, 0 %t10810 = select i1 %t10809, i32 8, i32 %t10808 %t10811 = getelementptr ptr, ptr null, i32 1 %t10812 = ptrtoint ptr %t10811 to i64 %t10813 = zext i32 %t10810 to i64 %t10814 = mul i64 %t10813, %t10812 %t10815 = load ptr, ptr %t10804 %t10816 = call ptr @realloc(ptr %t10815, i64 %t10814) store ptr %t10816, ptr %t10804 store i32 %t10810, ptr %t10803 br label %put2280 put2280: %t10817 = load ptr, ptr %t10804 %t10818 = getelementptr inbounds ptr, ptr %t10817, i32 %t10805 store ptr @.str8542, ptr %t10818 %t10819 = add i32 %t10805, 1 store i32 %t10819, ptr %t10802 %t10820 = load ptr, ptr %t427 %t10821 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 1 %t10822 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 2 %t10823 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 0 %t10824 = load i32, ptr %t10821 %t10825 = load i32, ptr %t10822 %t10826 = icmp sge i32 %t10824, %t10825 br i1 %t10826, label %grow2281, label %put2282 grow2281: %t10827 = mul i32 %t10825, 2 %t10828 = icmp eq i32 %t10825, 0 %t10829 = select i1 %t10828, i32 8, i32 %t10827 %t10830 = getelementptr ptr, ptr null, i32 1 %t10831 = ptrtoint ptr %t10830 to i64 %t10832 = zext i32 %t10829 to i64 %t10833 = mul i64 %t10832, %t10831 %t10834 = load ptr, ptr %t10823 %t10835 = call ptr @realloc(ptr %t10834, i64 %t10833) store ptr %t10835, ptr %t10823 store i32 %t10829, ptr %t10822 br label %put2282 put2282: %t10836 = load ptr, ptr %t10823 %t10837 = getelementptr inbounds ptr, ptr %t10836, i32 %t10824 store ptr @.str8543, ptr %t10837 %t10838 = add i32 %t10824, 1 store i32 %t10838, ptr %t10821 %t10839 = load ptr, ptr %t427 %t10840 = getelementptr inbounds %LSlice, ptr %t10839, i32 0, i32 1 %t10841 = getelementptr inbounds %LSlice, ptr %t10839, i32 0, i32 2 %t10842 = getelementptr inbounds %LSlice, ptr %t10839, i32 0, i32 0 %t10843 = load i32, ptr %t10840 %t10844 = load i32, ptr %t10841 %t10845 = icmp sge i32 %t10843, %t10844 br i1 %t10845, label %grow2283, label %put2284 grow2283: %t10846 = mul i32 %t10844, 2 %t10847 = icmp eq i32 %t10844, 0 %t10848 = select i1 %t10847, i32 8, i32 %t10846 %t10849 = getelementptr ptr, ptr null, i32 1 %t10850 = ptrtoint ptr %t10849 to i64 %t10851 = zext i32 %t10848 to i64 %t10852 = mul i64 %t10851, %t10850 %t10853 = load ptr, ptr %t10842 %t10854 = call ptr @realloc(ptr %t10853, i64 %t10852) store ptr %t10854, ptr %t10842 store i32 %t10848, ptr %t10841 br label %put2284 put2284: %t10855 = load ptr, ptr %t10842 %t10856 = getelementptr inbounds ptr, ptr %t10855, i32 %t10843 store ptr @.str8544, ptr %t10856 %t10857 = add i32 %t10843, 1 store i32 %t10857, ptr %t10840 %t10858 = load ptr, ptr %t427 %t10859 = getelementptr inbounds %LSlice, ptr %t10858, i32 0, i32 1 %t10860 = getelementptr inbounds %LSlice, ptr %t10858, i32 0, i32 2 %t10861 = getelementptr inbounds %LSlice, ptr %t10858, i32 0, i32 0 %t10862 = load i32, ptr %t10859 %t10863 = load i32, ptr %t10860 %t10864 = icmp sge i32 %t10862, %t10863 br i1 %t10864, label %grow2285, label %put2286 grow2285: %t10865 = mul i32 %t10863, 2 %t10866 = icmp eq i32 %t10863, 0 %t10867 = select i1 %t10866, i32 8, i32 %t10865 %t10868 = getelementptr ptr, ptr null, i32 1 %t10869 = ptrtoint ptr %t10868 to i64 %t10870 = zext i32 %t10867 to i64 %t10871 = mul i64 %t10870, %t10869 %t10872 = load ptr, ptr %t10861 %t10873 = call ptr @realloc(ptr %t10872, i64 %t10871) store ptr %t10873, ptr %t10861 store i32 %t10867, ptr %t10860 br label %put2286 put2286: %t10874 = load ptr, ptr %t10861 %t10875 = getelementptr inbounds ptr, ptr %t10874, i32 %t10862 store ptr @.str8545, ptr %t10875 %t10876 = add i32 %t10862, 1 store i32 %t10876, ptr %t10859 br label %ifend2278 ifend2278: %t10877 = load ptr, ptr %t1 %t10878 = call i32 @lp_str_eq(ptr %t10877, ptr @.str8546) %t10879 = icmp ne i32 %t10878, 0 br i1 %t10879, label %then2287, label %ifend2289 then2287: store ptr @.str8547, ptr %t420 %t10880 = load ptr, ptr %t427 %t10881 = getelementptr inbounds %LSlice, ptr %t10880, i32 0, i32 1 %t10882 = getelementptr inbounds %LSlice, ptr %t10880, i32 0, i32 2 %t10883 = getelementptr inbounds %LSlice, ptr %t10880, i32 0, i32 0 %t10884 = load i32, ptr %t10881 %t10885 = load i32, ptr %t10882 %t10886 = icmp sge i32 %t10884, %t10885 br i1 %t10886, label %grow2290, label %put2291 grow2290: %t10887 = mul i32 %t10885, 2 %t10888 = icmp eq i32 %t10885, 0 %t10889 = select i1 %t10888, i32 8, i32 %t10887 %t10890 = getelementptr ptr, ptr null, i32 1 %t10891 = ptrtoint ptr %t10890 to i64 %t10892 = zext i32 %t10889 to i64 %t10893 = mul i64 %t10892, %t10891 %t10894 = load ptr, ptr %t10883 %t10895 = call ptr @realloc(ptr %t10894, i64 %t10893) store ptr %t10895, ptr %t10883 store i32 %t10889, ptr %t10882 br label %put2291 put2291: %t10896 = load ptr, ptr %t10883 %t10897 = getelementptr inbounds ptr, ptr %t10896, i32 %t10884 store ptr @.str8548, ptr %t10897 %t10898 = add i32 %t10884, 1 store i32 %t10898, ptr %t10881 %t10899 = load ptr, ptr %t427 %t10900 = getelementptr inbounds %LSlice, ptr %t10899, i32 0, i32 1 %t10901 = getelementptr inbounds %LSlice, ptr %t10899, i32 0, i32 2 %t10902 = getelementptr inbounds %LSlice, ptr %t10899, i32 0, i32 0 %t10903 = load i32, ptr %t10900 %t10904 = load i32, ptr %t10901 %t10905 = icmp sge i32 %t10903, %t10904 br i1 %t10905, label %grow2292, label %put2293 grow2292: %t10906 = mul i32 %t10904, 2 %t10907 = icmp eq i32 %t10904, 0 %t10908 = select i1 %t10907, i32 8, i32 %t10906 %t10909 = getelementptr ptr, ptr null, i32 1 %t10910 = ptrtoint ptr %t10909 to i64 %t10911 = zext i32 %t10908 to i64 %t10912 = mul i64 %t10911, %t10910 %t10913 = load ptr, ptr %t10902 %t10914 = call ptr @realloc(ptr %t10913, i64 %t10912) store ptr %t10914, ptr %t10902 store i32 %t10908, ptr %t10901 br label %put2293 put2293: %t10915 = load ptr, ptr %t10902 %t10916 = getelementptr inbounds ptr, ptr %t10915, i32 %t10903 store ptr @.str8549, ptr %t10916 %t10917 = add i32 %t10903, 1 store i32 %t10917, ptr %t10900 %t10918 = load ptr, ptr %t427 %t10919 = getelementptr inbounds %LSlice, ptr %t10918, i32 0, i32 1 %t10920 = getelementptr inbounds %LSlice, ptr %t10918, i32 0, i32 2 %t10921 = getelementptr inbounds %LSlice, ptr %t10918, i32 0, i32 0 %t10922 = load i32, ptr %t10919 %t10923 = load i32, ptr %t10920 %t10924 = icmp sge i32 %t10922, %t10923 br i1 %t10924, label %grow2294, label %put2295 grow2294: %t10925 = mul i32 %t10923, 2 %t10926 = icmp eq i32 %t10923, 0 %t10927 = select i1 %t10926, i32 8, i32 %t10925 %t10928 = getelementptr ptr, ptr null, i32 1 %t10929 = ptrtoint ptr %t10928 to i64 %t10930 = zext i32 %t10927 to i64 %t10931 = mul i64 %t10930, %t10929 %t10932 = load ptr, ptr %t10921 %t10933 = call ptr @realloc(ptr %t10932, i64 %t10931) store ptr %t10933, ptr %t10921 store i32 %t10927, ptr %t10920 br label %put2295 put2295: %t10934 = load ptr, ptr %t10921 %t10935 = getelementptr inbounds ptr, ptr %t10934, i32 %t10922 store ptr @.str8550, ptr %t10935 %t10936 = add i32 %t10922, 1 store i32 %t10936, ptr %t10919 br label %ifend2289 ifend2289: %t10937 = load ptr, ptr %t1 %t10938 = call i32 @lp_str_eq(ptr %t10937, ptr @.str8551) %t10939 = icmp ne i32 %t10938, 0 br i1 %t10939, label %then2296, label %ifend2298 then2296: store ptr @.str8552, ptr %t420 %t10940 = load ptr, ptr %t427 %t10941 = getelementptr inbounds %LSlice, ptr %t10940, i32 0, i32 1 %t10942 = getelementptr inbounds %LSlice, ptr %t10940, i32 0, i32 2 %t10943 = getelementptr inbounds %LSlice, ptr %t10940, i32 0, i32 0 %t10944 = load i32, ptr %t10941 %t10945 = load i32, ptr %t10942 %t10946 = icmp sge i32 %t10944, %t10945 br i1 %t10946, label %grow2299, label %put2300 grow2299: %t10947 = mul i32 %t10945, 2 %t10948 = icmp eq i32 %t10945, 0 %t10949 = select i1 %t10948, i32 8, i32 %t10947 %t10950 = getelementptr ptr, ptr null, i32 1 %t10951 = ptrtoint ptr %t10950 to i64 %t10952 = zext i32 %t10949 to i64 %t10953 = mul i64 %t10952, %t10951 %t10954 = load ptr, ptr %t10943 %t10955 = call ptr @realloc(ptr %t10954, i64 %t10953) store ptr %t10955, ptr %t10943 store i32 %t10949, ptr %t10942 br label %put2300 put2300: %t10956 = load ptr, ptr %t10943 %t10957 = getelementptr inbounds ptr, ptr %t10956, i32 %t10944 store ptr @.str8553, ptr %t10957 %t10958 = add i32 %t10944, 1 store i32 %t10958, ptr %t10941 %t10959 = load ptr, ptr %t427 %t10960 = getelementptr inbounds %LSlice, ptr %t10959, i32 0, i32 1 %t10961 = getelementptr inbounds %LSlice, ptr %t10959, i32 0, i32 2 %t10962 = getelementptr inbounds %LSlice, ptr %t10959, i32 0, i32 0 %t10963 = load i32, ptr %t10960 %t10964 = load i32, ptr %t10961 %t10965 = icmp sge i32 %t10963, %t10964 br i1 %t10965, label %grow2301, label %put2302 grow2301: %t10966 = mul i32 %t10964, 2 %t10967 = icmp eq i32 %t10964, 0 %t10968 = select i1 %t10967, i32 8, i32 %t10966 %t10969 = getelementptr ptr, ptr null, i32 1 %t10970 = ptrtoint ptr %t10969 to i64 %t10971 = zext i32 %t10968 to i64 %t10972 = mul i64 %t10971, %t10970 %t10973 = load ptr, ptr %t10962 %t10974 = call ptr @realloc(ptr %t10973, i64 %t10972) store ptr %t10974, ptr %t10962 store i32 %t10968, ptr %t10961 br label %put2302 put2302: %t10975 = load ptr, ptr %t10962 %t10976 = getelementptr inbounds ptr, ptr %t10975, i32 %t10963 store ptr @.str8554, ptr %t10976 %t10977 = add i32 %t10963, 1 store i32 %t10977, ptr %t10960 %t10978 = load ptr, ptr %t427 %t10979 = getelementptr inbounds %LSlice, ptr %t10978, i32 0, i32 1 %t10980 = getelementptr inbounds %LSlice, ptr %t10978, i32 0, i32 2 %t10981 = getelementptr inbounds %LSlice, ptr %t10978, i32 0, i32 0 %t10982 = load i32, ptr %t10979 %t10983 = load i32, ptr %t10980 %t10984 = icmp sge i32 %t10982, %t10983 br i1 %t10984, label %grow2303, label %put2304 grow2303: %t10985 = mul i32 %t10983, 2 %t10986 = icmp eq i32 %t10983, 0 %t10987 = select i1 %t10986, i32 8, i32 %t10985 %t10988 = getelementptr ptr, ptr null, i32 1 %t10989 = ptrtoint ptr %t10988 to i64 %t10990 = zext i32 %t10987 to i64 %t10991 = mul i64 %t10990, %t10989 %t10992 = load ptr, ptr %t10981 %t10993 = call ptr @realloc(ptr %t10992, i64 %t10991) store ptr %t10993, ptr %t10981 store i32 %t10987, ptr %t10980 br label %put2304 put2304: %t10994 = load ptr, ptr %t10981 %t10995 = getelementptr inbounds ptr, ptr %t10994, i32 %t10982 store ptr @.str8555, ptr %t10995 %t10996 = add i32 %t10982, 1 store i32 %t10996, ptr %t10979 %t10997 = load ptr, ptr %t427 %t10998 = getelementptr inbounds %LSlice, ptr %t10997, i32 0, i32 1 %t10999 = getelementptr inbounds %LSlice, ptr %t10997, i32 0, i32 2 %t11000 = getelementptr inbounds %LSlice, ptr %t10997, i32 0, i32 0 %t11001 = load i32, ptr %t10998 %t11002 = load i32, ptr %t10999 %t11003 = icmp sge i32 %t11001, %t11002 br i1 %t11003, label %grow2305, label %put2306 grow2305: %t11004 = mul i32 %t11002, 2 %t11005 = icmp eq i32 %t11002, 0 %t11006 = select i1 %t11005, i32 8, i32 %t11004 %t11007 = getelementptr ptr, ptr null, i32 1 %t11008 = ptrtoint ptr %t11007 to i64 %t11009 = zext i32 %t11006 to i64 %t11010 = mul i64 %t11009, %t11008 %t11011 = load ptr, ptr %t11000 %t11012 = call ptr @realloc(ptr %t11011, i64 %t11010) store ptr %t11012, ptr %t11000 store i32 %t11006, ptr %t10999 br label %put2306 put2306: %t11013 = load ptr, ptr %t11000 %t11014 = getelementptr inbounds ptr, ptr %t11013, i32 %t11001 store ptr @.str8556, ptr %t11014 %t11015 = add i32 %t11001, 1 store i32 %t11015, ptr %t10998 %t11016 = load ptr, ptr %t427 %t11017 = getelementptr inbounds %LSlice, ptr %t11016, i32 0, i32 1 %t11018 = getelementptr inbounds %LSlice, ptr %t11016, i32 0, i32 2 %t11019 = getelementptr inbounds %LSlice, ptr %t11016, i32 0, i32 0 %t11020 = load i32, ptr %t11017 %t11021 = load i32, ptr %t11018 %t11022 = icmp sge i32 %t11020, %t11021 br i1 %t11022, label %grow2307, label %put2308 grow2307: %t11023 = mul i32 %t11021, 2 %t11024 = icmp eq i32 %t11021, 0 %t11025 = select i1 %t11024, i32 8, i32 %t11023 %t11026 = getelementptr ptr, ptr null, i32 1 %t11027 = ptrtoint ptr %t11026 to i64 %t11028 = zext i32 %t11025 to i64 %t11029 = mul i64 %t11028, %t11027 %t11030 = load ptr, ptr %t11019 %t11031 = call ptr @realloc(ptr %t11030, i64 %t11029) store ptr %t11031, ptr %t11019 store i32 %t11025, ptr %t11018 br label %put2308 put2308: %t11032 = load ptr, ptr %t11019 %t11033 = getelementptr inbounds ptr, ptr %t11032, i32 %t11020 store ptr @.str8557, ptr %t11033 %t11034 = add i32 %t11020, 1 store i32 %t11034, ptr %t11017 br label %ifend2298 ifend2298: %t11035 = load ptr, ptr %t1 %t11036 = call i32 @lp_str_eq(ptr %t11035, ptr @.str8558) %t11037 = icmp ne i32 %t11036, 0 br i1 %t11037, label %then2309, label %ifend2311 then2309: store ptr @.str8559, ptr %t420 %t11038 = load ptr, ptr %t427 %t11039 = getelementptr inbounds %LSlice, ptr %t11038, i32 0, i32 1 %t11040 = getelementptr inbounds %LSlice, ptr %t11038, i32 0, i32 2 %t11041 = getelementptr inbounds %LSlice, ptr %t11038, i32 0, i32 0 %t11042 = load i32, ptr %t11039 %t11043 = load i32, ptr %t11040 %t11044 = icmp sge i32 %t11042, %t11043 br i1 %t11044, label %grow2312, label %put2313 grow2312: %t11045 = mul i32 %t11043, 2 %t11046 = icmp eq i32 %t11043, 0 %t11047 = select i1 %t11046, i32 8, i32 %t11045 %t11048 = getelementptr ptr, ptr null, i32 1 %t11049 = ptrtoint ptr %t11048 to i64 %t11050 = zext i32 %t11047 to i64 %t11051 = mul i64 %t11050, %t11049 %t11052 = load ptr, ptr %t11041 %t11053 = call ptr @realloc(ptr %t11052, i64 %t11051) store ptr %t11053, ptr %t11041 store i32 %t11047, ptr %t11040 br label %put2313 put2313: %t11054 = load ptr, ptr %t11041 %t11055 = getelementptr inbounds ptr, ptr %t11054, i32 %t11042 store ptr @.str8560, ptr %t11055 %t11056 = add i32 %t11042, 1 store i32 %t11056, ptr %t11039 %t11057 = load ptr, ptr %t427 %t11058 = getelementptr inbounds %LSlice, ptr %t11057, i32 0, i32 1 %t11059 = getelementptr inbounds %LSlice, ptr %t11057, i32 0, i32 2 %t11060 = getelementptr inbounds %LSlice, ptr %t11057, i32 0, i32 0 %t11061 = load i32, ptr %t11058 %t11062 = load i32, ptr %t11059 %t11063 = icmp sge i32 %t11061, %t11062 br i1 %t11063, label %grow2314, label %put2315 grow2314: %t11064 = mul i32 %t11062, 2 %t11065 = icmp eq i32 %t11062, 0 %t11066 = select i1 %t11065, i32 8, i32 %t11064 %t11067 = getelementptr ptr, ptr null, i32 1 %t11068 = ptrtoint ptr %t11067 to i64 %t11069 = zext i32 %t11066 to i64 %t11070 = mul i64 %t11069, %t11068 %t11071 = load ptr, ptr %t11060 %t11072 = call ptr @realloc(ptr %t11071, i64 %t11070) store ptr %t11072, ptr %t11060 store i32 %t11066, ptr %t11059 br label %put2315 put2315: %t11073 = load ptr, ptr %t11060 %t11074 = getelementptr inbounds ptr, ptr %t11073, i32 %t11061 store ptr @.str8561, ptr %t11074 %t11075 = add i32 %t11061, 1 store i32 %t11075, ptr %t11058 %t11076 = load ptr, ptr %t427 %t11077 = getelementptr inbounds %LSlice, ptr %t11076, i32 0, i32 1 %t11078 = getelementptr inbounds %LSlice, ptr %t11076, i32 0, i32 2 %t11079 = getelementptr inbounds %LSlice, ptr %t11076, i32 0, i32 0 %t11080 = load i32, ptr %t11077 %t11081 = load i32, ptr %t11078 %t11082 = icmp sge i32 %t11080, %t11081 br i1 %t11082, label %grow2316, label %put2317 grow2316: %t11083 = mul i32 %t11081, 2 %t11084 = icmp eq i32 %t11081, 0 %t11085 = select i1 %t11084, i32 8, i32 %t11083 %t11086 = getelementptr ptr, ptr null, i32 1 %t11087 = ptrtoint ptr %t11086 to i64 %t11088 = zext i32 %t11085 to i64 %t11089 = mul i64 %t11088, %t11087 %t11090 = load ptr, ptr %t11079 %t11091 = call ptr @realloc(ptr %t11090, i64 %t11089) store ptr %t11091, ptr %t11079 store i32 %t11085, ptr %t11078 br label %put2317 put2317: %t11092 = load ptr, ptr %t11079 %t11093 = getelementptr inbounds ptr, ptr %t11092, i32 %t11080 store ptr @.str8562, ptr %t11093 %t11094 = add i32 %t11080, 1 store i32 %t11094, ptr %t11077 br label %ifend2311 ifend2311: %t11095 = load ptr, ptr %t1 %t11096 = call i32 @lp_str_eq(ptr %t11095, ptr @.str8563) %t11097 = icmp ne i32 %t11096, 0 br i1 %t11097, label %then2318, label %ifend2320 then2318: store ptr @.str8564, ptr %t420 %t11098 = load ptr, ptr %t427 %t11099 = getelementptr inbounds %LSlice, ptr %t11098, i32 0, i32 1 %t11100 = getelementptr inbounds %LSlice, ptr %t11098, i32 0, i32 2 %t11101 = getelementptr inbounds %LSlice, ptr %t11098, i32 0, i32 0 %t11102 = load i32, ptr %t11099 %t11103 = load i32, ptr %t11100 %t11104 = icmp sge i32 %t11102, %t11103 br i1 %t11104, label %grow2321, label %put2322 grow2321: %t11105 = mul i32 %t11103, 2 %t11106 = icmp eq i32 %t11103, 0 %t11107 = select i1 %t11106, i32 8, i32 %t11105 %t11108 = getelementptr ptr, ptr null, i32 1 %t11109 = ptrtoint ptr %t11108 to i64 %t11110 = zext i32 %t11107 to i64 %t11111 = mul i64 %t11110, %t11109 %t11112 = load ptr, ptr %t11101 %t11113 = call ptr @realloc(ptr %t11112, i64 %t11111) store ptr %t11113, ptr %t11101 store i32 %t11107, ptr %t11100 br label %put2322 put2322: %t11114 = load ptr, ptr %t11101 %t11115 = getelementptr inbounds ptr, ptr %t11114, i32 %t11102 store ptr @.str8565, ptr %t11115 %t11116 = add i32 %t11102, 1 store i32 %t11116, ptr %t11099 %t11117 = load ptr, ptr %t427 %t11118 = getelementptr inbounds %LSlice, ptr %t11117, i32 0, i32 1 %t11119 = getelementptr inbounds %LSlice, ptr %t11117, i32 0, i32 2 %t11120 = getelementptr inbounds %LSlice, ptr %t11117, i32 0, i32 0 %t11121 = load i32, ptr %t11118 %t11122 = load i32, ptr %t11119 %t11123 = icmp sge i32 %t11121, %t11122 br i1 %t11123, label %grow2323, label %put2324 grow2323: %t11124 = mul i32 %t11122, 2 %t11125 = icmp eq i32 %t11122, 0 %t11126 = select i1 %t11125, i32 8, i32 %t11124 %t11127 = getelementptr ptr, ptr null, i32 1 %t11128 = ptrtoint ptr %t11127 to i64 %t11129 = zext i32 %t11126 to i64 %t11130 = mul i64 %t11129, %t11128 %t11131 = load ptr, ptr %t11120 %t11132 = call ptr @realloc(ptr %t11131, i64 %t11130) store ptr %t11132, ptr %t11120 store i32 %t11126, ptr %t11119 br label %put2324 put2324: %t11133 = load ptr, ptr %t11120 %t11134 = getelementptr inbounds ptr, ptr %t11133, i32 %t11121 store ptr @.str8566, ptr %t11134 %t11135 = add i32 %t11121, 1 store i32 %t11135, ptr %t11118 %t11136 = load ptr, ptr %t427 %t11137 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 1 %t11138 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 2 %t11139 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 0 %t11140 = load i32, ptr %t11137 %t11141 = load i32, ptr %t11138 %t11142 = icmp sge i32 %t11140, %t11141 br i1 %t11142, label %grow2325, label %put2326 grow2325: %t11143 = mul i32 %t11141, 2 %t11144 = icmp eq i32 %t11141, 0 %t11145 = select i1 %t11144, i32 8, i32 %t11143 %t11146 = getelementptr ptr, ptr null, i32 1 %t11147 = ptrtoint ptr %t11146 to i64 %t11148 = zext i32 %t11145 to i64 %t11149 = mul i64 %t11148, %t11147 %t11150 = load ptr, ptr %t11139 %t11151 = call ptr @realloc(ptr %t11150, i64 %t11149) store ptr %t11151, ptr %t11139 store i32 %t11145, ptr %t11138 br label %put2326 put2326: %t11152 = load ptr, ptr %t11139 %t11153 = getelementptr inbounds ptr, ptr %t11152, i32 %t11140 store ptr @.str8567, ptr %t11153 %t11154 = add i32 %t11140, 1 store i32 %t11154, ptr %t11137 %t11155 = load ptr, ptr %t427 %t11156 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 1 %t11157 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 2 %t11158 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 0 %t11159 = load i32, ptr %t11156 %t11160 = load i32, ptr %t11157 %t11161 = icmp sge i32 %t11159, %t11160 br i1 %t11161, label %grow2327, label %put2328 grow2327: %t11162 = mul i32 %t11160, 2 %t11163 = icmp eq i32 %t11160, 0 %t11164 = select i1 %t11163, i32 8, i32 %t11162 %t11165 = getelementptr ptr, ptr null, i32 1 %t11166 = ptrtoint ptr %t11165 to i64 %t11167 = zext i32 %t11164 to i64 %t11168 = mul i64 %t11167, %t11166 %t11169 = load ptr, ptr %t11158 %t11170 = call ptr @realloc(ptr %t11169, i64 %t11168) store ptr %t11170, ptr %t11158 store i32 %t11164, ptr %t11157 br label %put2328 put2328: %t11171 = load ptr, ptr %t11158 %t11172 = getelementptr inbounds ptr, ptr %t11171, i32 %t11159 store ptr @.str8568, ptr %t11172 %t11173 = add i32 %t11159, 1 store i32 %t11173, ptr %t11156 %t11174 = load ptr, ptr %t427 %t11175 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 1 %t11176 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 2 %t11177 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 0 %t11178 = load i32, ptr %t11175 %t11179 = load i32, ptr %t11176 %t11180 = icmp sge i32 %t11178, %t11179 br i1 %t11180, label %grow2329, label %put2330 grow2329: %t11181 = mul i32 %t11179, 2 %t11182 = icmp eq i32 %t11179, 0 %t11183 = select i1 %t11182, i32 8, i32 %t11181 %t11184 = getelementptr ptr, ptr null, i32 1 %t11185 = ptrtoint ptr %t11184 to i64 %t11186 = zext i32 %t11183 to i64 %t11187 = mul i64 %t11186, %t11185 %t11188 = load ptr, ptr %t11177 %t11189 = call ptr @realloc(ptr %t11188, i64 %t11187) store ptr %t11189, ptr %t11177 store i32 %t11183, ptr %t11176 br label %put2330 put2330: %t11190 = load ptr, ptr %t11177 %t11191 = getelementptr inbounds ptr, ptr %t11190, i32 %t11178 store ptr @.str8569, ptr %t11191 %t11192 = add i32 %t11178, 1 store i32 %t11192, ptr %t11175 br label %ifend2320 ifend2320: br label %ifend2275 ifend2275: %t11193 = load ptr, ptr %t0 %t11194 = call i32 @lp_str_eq(ptr %t11193, ptr @.str8570) %t11195 = icmp ne i32 %t11194, 0 br i1 %t11195, label %then2331, label %ifend2333 then2331: %t11196 = load ptr, ptr %t1 %t11197 = call i32 @lp_str_eq(ptr %t11196, ptr @.str8571) %t11198 = icmp ne i32 %t11197, 0 br i1 %t11198, label %then2334, label %ifend2336 then2334: store ptr @.str8572, ptr %t420 %t11199 = load ptr, ptr %t427 %t11200 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 1 %t11201 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 2 %t11202 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 0 %t11203 = load i32, ptr %t11200 %t11204 = load i32, ptr %t11201 %t11205 = icmp sge i32 %t11203, %t11204 br i1 %t11205, label %grow2337, label %put2338 grow2337: %t11206 = mul i32 %t11204, 2 %t11207 = icmp eq i32 %t11204, 0 %t11208 = select i1 %t11207, i32 8, i32 %t11206 %t11209 = getelementptr ptr, ptr null, i32 1 %t11210 = ptrtoint ptr %t11209 to i64 %t11211 = zext i32 %t11208 to i64 %t11212 = mul i64 %t11211, %t11210 %t11213 = load ptr, ptr %t11202 %t11214 = call ptr @realloc(ptr %t11213, i64 %t11212) store ptr %t11214, ptr %t11202 store i32 %t11208, ptr %t11201 br label %put2338 put2338: %t11215 = load ptr, ptr %t11202 %t11216 = getelementptr inbounds ptr, ptr %t11215, i32 %t11203 store ptr @.str8573, ptr %t11216 %t11217 = add i32 %t11203, 1 store i32 %t11217, ptr %t11200 br label %ifend2336 ifend2336: %t11218 = load ptr, ptr %t1 %t11219 = call i32 @lp_str_eq(ptr %t11218, ptr @.str8574) %t11220 = icmp ne i32 %t11219, 0 br i1 %t11220, label %then2339, label %ifend2341 then2339: store ptr @.str8575, ptr %t420 %t11221 = load ptr, ptr %t427 %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 %grow2342, label %put2343 grow2342: %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 %put2343 put2343: %t11237 = load ptr, ptr %t11224 %t11238 = getelementptr inbounds ptr, ptr %t11237, i32 %t11225 store ptr @.str8576, ptr %t11238 %t11239 = add i32 %t11225, 1 store i32 %t11239, ptr %t11222 %t11240 = load ptr, ptr %t427 %t11241 = getelementptr inbounds %LSlice, ptr %t11240, i32 0, i32 1 %t11242 = getelementptr inbounds %LSlice, ptr %t11240, i32 0, i32 2 %t11243 = getelementptr inbounds %LSlice, ptr %t11240, i32 0, i32 0 %t11244 = load i32, ptr %t11241 %t11245 = load i32, ptr %t11242 %t11246 = icmp sge i32 %t11244, %t11245 br i1 %t11246, label %grow2344, label %put2345 grow2344: %t11247 = mul i32 %t11245, 2 %t11248 = icmp eq i32 %t11245, 0 %t11249 = select i1 %t11248, i32 8, i32 %t11247 %t11250 = getelementptr ptr, ptr null, i32 1 %t11251 = ptrtoint ptr %t11250 to i64 %t11252 = zext i32 %t11249 to i64 %t11253 = mul i64 %t11252, %t11251 %t11254 = load ptr, ptr %t11243 %t11255 = call ptr @realloc(ptr %t11254, i64 %t11253) store ptr %t11255, ptr %t11243 store i32 %t11249, ptr %t11242 br label %put2345 put2345: %t11256 = load ptr, ptr %t11243 %t11257 = getelementptr inbounds ptr, ptr %t11256, i32 %t11244 store ptr @.str8577, ptr %t11257 %t11258 = add i32 %t11244, 1 store i32 %t11258, ptr %t11241 %t11259 = load ptr, ptr %t427 %t11260 = getelementptr inbounds %LSlice, ptr %t11259, i32 0, i32 1 %t11261 = getelementptr inbounds %LSlice, ptr %t11259, i32 0, i32 2 %t11262 = getelementptr inbounds %LSlice, ptr %t11259, i32 0, i32 0 %t11263 = load i32, ptr %t11260 %t11264 = load i32, ptr %t11261 %t11265 = icmp sge i32 %t11263, %t11264 br i1 %t11265, label %grow2346, label %put2347 grow2346: %t11266 = mul i32 %t11264, 2 %t11267 = icmp eq i32 %t11264, 0 %t11268 = select i1 %t11267, i32 8, i32 %t11266 %t11269 = getelementptr ptr, ptr null, i32 1 %t11270 = ptrtoint ptr %t11269 to i64 %t11271 = zext i32 %t11268 to i64 %t11272 = mul i64 %t11271, %t11270 %t11273 = load ptr, ptr %t11262 %t11274 = call ptr @realloc(ptr %t11273, i64 %t11272) store ptr %t11274, ptr %t11262 store i32 %t11268, ptr %t11261 br label %put2347 put2347: %t11275 = load ptr, ptr %t11262 %t11276 = getelementptr inbounds ptr, ptr %t11275, i32 %t11263 store ptr @.str8578, ptr %t11276 %t11277 = add i32 %t11263, 1 store i32 %t11277, ptr %t11260 %t11278 = load ptr, ptr %t427 %t11279 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 1 %t11280 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 2 %t11281 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 0 %t11282 = load i32, ptr %t11279 %t11283 = load i32, ptr %t11280 %t11284 = icmp sge i32 %t11282, %t11283 br i1 %t11284, label %grow2348, label %put2349 grow2348: %t11285 = mul i32 %t11283, 2 %t11286 = icmp eq i32 %t11283, 0 %t11287 = select i1 %t11286, i32 8, i32 %t11285 %t11288 = getelementptr ptr, ptr null, i32 1 %t11289 = ptrtoint ptr %t11288 to i64 %t11290 = zext i32 %t11287 to i64 %t11291 = mul i64 %t11290, %t11289 %t11292 = load ptr, ptr %t11281 %t11293 = call ptr @realloc(ptr %t11292, i64 %t11291) store ptr %t11293, ptr %t11281 store i32 %t11287, ptr %t11280 br label %put2349 put2349: %t11294 = load ptr, ptr %t11281 %t11295 = getelementptr inbounds ptr, ptr %t11294, i32 %t11282 store ptr @.str8579, ptr %t11295 %t11296 = add i32 %t11282, 1 store i32 %t11296, ptr %t11279 %t11297 = load ptr, ptr %t427 %t11298 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 1 %t11299 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 2 %t11300 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 0 %t11301 = load i32, ptr %t11298 %t11302 = load i32, ptr %t11299 %t11303 = icmp sge i32 %t11301, %t11302 br i1 %t11303, label %grow2350, label %put2351 grow2350: %t11304 = mul i32 %t11302, 2 %t11305 = icmp eq i32 %t11302, 0 %t11306 = select i1 %t11305, i32 8, i32 %t11304 %t11307 = getelementptr ptr, ptr null, i32 1 %t11308 = ptrtoint ptr %t11307 to i64 %t11309 = zext i32 %t11306 to i64 %t11310 = mul i64 %t11309, %t11308 %t11311 = load ptr, ptr %t11300 %t11312 = call ptr @realloc(ptr %t11311, i64 %t11310) store ptr %t11312, ptr %t11300 store i32 %t11306, ptr %t11299 br label %put2351 put2351: %t11313 = load ptr, ptr %t11300 %t11314 = getelementptr inbounds ptr, ptr %t11313, i32 %t11301 store ptr @.str8580, ptr %t11314 %t11315 = add i32 %t11301, 1 store i32 %t11315, ptr %t11298 br label %ifend2341 ifend2341: %t11316 = load ptr, ptr %t1 %t11317 = call i32 @lp_str_eq(ptr %t11316, ptr @.str8581) %t11318 = icmp ne i32 %t11317, 0 br i1 %t11318, label %then2352, label %ifend2354 then2352: store ptr @.str8582, ptr %t420 %t11319 = load ptr, ptr %t427 %t11320 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 1 %t11321 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 2 %t11322 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 0 %t11323 = load i32, ptr %t11320 %t11324 = load i32, ptr %t11321 %t11325 = icmp sge i32 %t11323, %t11324 br i1 %t11325, label %grow2355, label %put2356 grow2355: %t11326 = mul i32 %t11324, 2 %t11327 = icmp eq i32 %t11324, 0 %t11328 = select i1 %t11327, i32 8, i32 %t11326 %t11329 = getelementptr ptr, ptr null, i32 1 %t11330 = ptrtoint ptr %t11329 to i64 %t11331 = zext i32 %t11328 to i64 %t11332 = mul i64 %t11331, %t11330 %t11333 = load ptr, ptr %t11322 %t11334 = call ptr @realloc(ptr %t11333, i64 %t11332) store ptr %t11334, ptr %t11322 store i32 %t11328, ptr %t11321 br label %put2356 put2356: %t11335 = load ptr, ptr %t11322 %t11336 = getelementptr inbounds ptr, ptr %t11335, i32 %t11323 store ptr @.str8583, ptr %t11336 %t11337 = add i32 %t11323, 1 store i32 %t11337, ptr %t11320 %t11338 = load ptr, ptr %t427 %t11339 = getelementptr inbounds %LSlice, ptr %t11338, i32 0, i32 1 %t11340 = getelementptr inbounds %LSlice, ptr %t11338, i32 0, i32 2 %t11341 = getelementptr inbounds %LSlice, ptr %t11338, i32 0, i32 0 %t11342 = load i32, ptr %t11339 %t11343 = load i32, ptr %t11340 %t11344 = icmp sge i32 %t11342, %t11343 br i1 %t11344, label %grow2357, label %put2358 grow2357: %t11345 = mul i32 %t11343, 2 %t11346 = icmp eq i32 %t11343, 0 %t11347 = select i1 %t11346, i32 8, i32 %t11345 %t11348 = getelementptr ptr, ptr null, i32 1 %t11349 = ptrtoint ptr %t11348 to i64 %t11350 = zext i32 %t11347 to i64 %t11351 = mul i64 %t11350, %t11349 %t11352 = load ptr, ptr %t11341 %t11353 = call ptr @realloc(ptr %t11352, i64 %t11351) store ptr %t11353, ptr %t11341 store i32 %t11347, ptr %t11340 br label %put2358 put2358: %t11354 = load ptr, ptr %t11341 %t11355 = getelementptr inbounds ptr, ptr %t11354, i32 %t11342 store ptr @.str8584, ptr %t11355 %t11356 = add i32 %t11342, 1 store i32 %t11356, ptr %t11339 %t11357 = load ptr, ptr %t427 %t11358 = getelementptr inbounds %LSlice, ptr %t11357, i32 0, i32 1 %t11359 = getelementptr inbounds %LSlice, ptr %t11357, i32 0, i32 2 %t11360 = getelementptr inbounds %LSlice, ptr %t11357, i32 0, i32 0 %t11361 = load i32, ptr %t11358 %t11362 = load i32, ptr %t11359 %t11363 = icmp sge i32 %t11361, %t11362 br i1 %t11363, label %grow2359, label %put2360 grow2359: %t11364 = mul i32 %t11362, 2 %t11365 = icmp eq i32 %t11362, 0 %t11366 = select i1 %t11365, i32 8, i32 %t11364 %t11367 = getelementptr ptr, ptr null, i32 1 %t11368 = ptrtoint ptr %t11367 to i64 %t11369 = zext i32 %t11366 to i64 %t11370 = mul i64 %t11369, %t11368 %t11371 = load ptr, ptr %t11360 %t11372 = call ptr @realloc(ptr %t11371, i64 %t11370) store ptr %t11372, ptr %t11360 store i32 %t11366, ptr %t11359 br label %put2360 put2360: %t11373 = load ptr, ptr %t11360 %t11374 = getelementptr inbounds ptr, ptr %t11373, i32 %t11361 store ptr @.str8585, ptr %t11374 %t11375 = add i32 %t11361, 1 store i32 %t11375, ptr %t11358 %t11376 = load ptr, ptr %t427 %t11377 = getelementptr inbounds %LSlice, ptr %t11376, i32 0, i32 1 %t11378 = getelementptr inbounds %LSlice, ptr %t11376, i32 0, i32 2 %t11379 = getelementptr inbounds %LSlice, ptr %t11376, i32 0, i32 0 %t11380 = load i32, ptr %t11377 %t11381 = load i32, ptr %t11378 %t11382 = icmp sge i32 %t11380, %t11381 br i1 %t11382, label %grow2361, label %put2362 grow2361: %t11383 = mul i32 %t11381, 2 %t11384 = icmp eq i32 %t11381, 0 %t11385 = select i1 %t11384, i32 8, i32 %t11383 %t11386 = getelementptr ptr, ptr null, i32 1 %t11387 = ptrtoint ptr %t11386 to i64 %t11388 = zext i32 %t11385 to i64 %t11389 = mul i64 %t11388, %t11387 %t11390 = load ptr, ptr %t11379 %t11391 = call ptr @realloc(ptr %t11390, i64 %t11389) store ptr %t11391, ptr %t11379 store i32 %t11385, ptr %t11378 br label %put2362 put2362: %t11392 = load ptr, ptr %t11379 %t11393 = getelementptr inbounds ptr, ptr %t11392, i32 %t11380 store ptr @.str8586, ptr %t11393 %t11394 = add i32 %t11380, 1 store i32 %t11394, ptr %t11377 %t11395 = load ptr, ptr %t427 %t11396 = getelementptr inbounds %LSlice, ptr %t11395, i32 0, i32 1 %t11397 = getelementptr inbounds %LSlice, ptr %t11395, i32 0, i32 2 %t11398 = getelementptr inbounds %LSlice, ptr %t11395, i32 0, i32 0 %t11399 = load i32, ptr %t11396 %t11400 = load i32, ptr %t11397 %t11401 = icmp sge i32 %t11399, %t11400 br i1 %t11401, label %grow2363, label %put2364 grow2363: %t11402 = mul i32 %t11400, 2 %t11403 = icmp eq i32 %t11400, 0 %t11404 = select i1 %t11403, i32 8, i32 %t11402 %t11405 = getelementptr ptr, ptr null, i32 1 %t11406 = ptrtoint ptr %t11405 to i64 %t11407 = zext i32 %t11404 to i64 %t11408 = mul i64 %t11407, %t11406 %t11409 = load ptr, ptr %t11398 %t11410 = call ptr @realloc(ptr %t11409, i64 %t11408) store ptr %t11410, ptr %t11398 store i32 %t11404, ptr %t11397 br label %put2364 put2364: %t11411 = load ptr, ptr %t11398 %t11412 = getelementptr inbounds ptr, ptr %t11411, i32 %t11399 store ptr @.str8587, ptr %t11412 %t11413 = add i32 %t11399, 1 store i32 %t11413, ptr %t11396 %t11414 = load ptr, ptr %t427 %t11415 = getelementptr inbounds %LSlice, ptr %t11414, i32 0, i32 1 %t11416 = getelementptr inbounds %LSlice, ptr %t11414, i32 0, i32 2 %t11417 = getelementptr inbounds %LSlice, ptr %t11414, i32 0, i32 0 %t11418 = load i32, ptr %t11415 %t11419 = load i32, ptr %t11416 %t11420 = icmp sge i32 %t11418, %t11419 br i1 %t11420, label %grow2365, label %put2366 grow2365: %t11421 = mul i32 %t11419, 2 %t11422 = icmp eq i32 %t11419, 0 %t11423 = select i1 %t11422, i32 8, i32 %t11421 %t11424 = getelementptr ptr, ptr null, i32 1 %t11425 = ptrtoint ptr %t11424 to i64 %t11426 = zext i32 %t11423 to i64 %t11427 = mul i64 %t11426, %t11425 %t11428 = load ptr, ptr %t11417 %t11429 = call ptr @realloc(ptr %t11428, i64 %t11427) store ptr %t11429, ptr %t11417 store i32 %t11423, ptr %t11416 br label %put2366 put2366: %t11430 = load ptr, ptr %t11417 %t11431 = getelementptr inbounds ptr, ptr %t11430, i32 %t11418 store ptr @.str8588, ptr %t11431 %t11432 = add i32 %t11418, 1 store i32 %t11432, ptr %t11415 %t11433 = load ptr, ptr %t427 %t11434 = getelementptr inbounds %LSlice, ptr %t11433, i32 0, i32 1 %t11435 = getelementptr inbounds %LSlice, ptr %t11433, i32 0, i32 2 %t11436 = getelementptr inbounds %LSlice, ptr %t11433, i32 0, i32 0 %t11437 = load i32, ptr %t11434 %t11438 = load i32, ptr %t11435 %t11439 = icmp sge i32 %t11437, %t11438 br i1 %t11439, label %grow2367, label %put2368 grow2367: %t11440 = mul i32 %t11438, 2 %t11441 = icmp eq i32 %t11438, 0 %t11442 = select i1 %t11441, i32 8, i32 %t11440 %t11443 = getelementptr ptr, ptr null, i32 1 %t11444 = ptrtoint ptr %t11443 to i64 %t11445 = zext i32 %t11442 to i64 %t11446 = mul i64 %t11445, %t11444 %t11447 = load ptr, ptr %t11436 %t11448 = call ptr @realloc(ptr %t11447, i64 %t11446) store ptr %t11448, ptr %t11436 store i32 %t11442, ptr %t11435 br label %put2368 put2368: %t11449 = load ptr, ptr %t11436 %t11450 = getelementptr inbounds ptr, ptr %t11449, i32 %t11437 store ptr @.str8589, ptr %t11450 %t11451 = add i32 %t11437, 1 store i32 %t11451, ptr %t11434 br label %ifend2354 ifend2354: %t11452 = load ptr, ptr %t1 %t11453 = call i32 @lp_str_eq(ptr %t11452, ptr @.str8590) %t11454 = icmp ne i32 %t11453, 0 br i1 %t11454, label %then2369, label %ifend2371 then2369: store ptr @.str8591, ptr %t420 %t11455 = load ptr, ptr %t427 %t11456 = getelementptr inbounds %LSlice, ptr %t11455, i32 0, i32 1 %t11457 = getelementptr inbounds %LSlice, ptr %t11455, i32 0, i32 2 %t11458 = getelementptr inbounds %LSlice, ptr %t11455, i32 0, i32 0 %t11459 = load i32, ptr %t11456 %t11460 = load i32, ptr %t11457 %t11461 = icmp sge i32 %t11459, %t11460 br i1 %t11461, label %grow2372, label %put2373 grow2372: %t11462 = mul i32 %t11460, 2 %t11463 = icmp eq i32 %t11460, 0 %t11464 = select i1 %t11463, i32 8, i32 %t11462 %t11465 = getelementptr ptr, ptr null, i32 1 %t11466 = ptrtoint ptr %t11465 to i64 %t11467 = zext i32 %t11464 to i64 %t11468 = mul i64 %t11467, %t11466 %t11469 = load ptr, ptr %t11458 %t11470 = call ptr @realloc(ptr %t11469, i64 %t11468) store ptr %t11470, ptr %t11458 store i32 %t11464, ptr %t11457 br label %put2373 put2373: %t11471 = load ptr, ptr %t11458 %t11472 = getelementptr inbounds ptr, ptr %t11471, i32 %t11459 store ptr @.str8592, ptr %t11472 %t11473 = add i32 %t11459, 1 store i32 %t11473, ptr %t11456 %t11474 = load ptr, ptr %t427 %t11475 = getelementptr inbounds %LSlice, ptr %t11474, i32 0, i32 1 %t11476 = getelementptr inbounds %LSlice, ptr %t11474, i32 0, i32 2 %t11477 = getelementptr inbounds %LSlice, ptr %t11474, i32 0, i32 0 %t11478 = load i32, ptr %t11475 %t11479 = load i32, ptr %t11476 %t11480 = icmp sge i32 %t11478, %t11479 br i1 %t11480, label %grow2374, label %put2375 grow2374: %t11481 = mul i32 %t11479, 2 %t11482 = icmp eq i32 %t11479, 0 %t11483 = select i1 %t11482, i32 8, i32 %t11481 %t11484 = getelementptr ptr, ptr null, i32 1 %t11485 = ptrtoint ptr %t11484 to i64 %t11486 = zext i32 %t11483 to i64 %t11487 = mul i64 %t11486, %t11485 %t11488 = load ptr, ptr %t11477 %t11489 = call ptr @realloc(ptr %t11488, i64 %t11487) store ptr %t11489, ptr %t11477 store i32 %t11483, ptr %t11476 br label %put2375 put2375: %t11490 = load ptr, ptr %t11477 %t11491 = getelementptr inbounds ptr, ptr %t11490, i32 %t11478 store ptr @.str8593, ptr %t11491 %t11492 = add i32 %t11478, 1 store i32 %t11492, ptr %t11475 %t11493 = load ptr, ptr %t427 %t11494 = getelementptr inbounds %LSlice, ptr %t11493, i32 0, i32 1 %t11495 = getelementptr inbounds %LSlice, ptr %t11493, i32 0, i32 2 %t11496 = getelementptr inbounds %LSlice, ptr %t11493, i32 0, i32 0 %t11497 = load i32, ptr %t11494 %t11498 = load i32, ptr %t11495 %t11499 = icmp sge i32 %t11497, %t11498 br i1 %t11499, label %grow2376, label %put2377 grow2376: %t11500 = mul i32 %t11498, 2 %t11501 = icmp eq i32 %t11498, 0 %t11502 = select i1 %t11501, i32 8, i32 %t11500 %t11503 = getelementptr ptr, ptr null, i32 1 %t11504 = ptrtoint ptr %t11503 to i64 %t11505 = zext i32 %t11502 to i64 %t11506 = mul i64 %t11505, %t11504 %t11507 = load ptr, ptr %t11496 %t11508 = call ptr @realloc(ptr %t11507, i64 %t11506) store ptr %t11508, ptr %t11496 store i32 %t11502, ptr %t11495 br label %put2377 put2377: %t11509 = load ptr, ptr %t11496 %t11510 = getelementptr inbounds ptr, ptr %t11509, i32 %t11497 store ptr @.str8594, ptr %t11510 %t11511 = add i32 %t11497, 1 store i32 %t11511, ptr %t11494 %t11512 = load ptr, ptr %t427 %t11513 = getelementptr inbounds %LSlice, ptr %t11512, i32 0, i32 1 %t11514 = getelementptr inbounds %LSlice, ptr %t11512, i32 0, i32 2 %t11515 = getelementptr inbounds %LSlice, ptr %t11512, i32 0, i32 0 %t11516 = load i32, ptr %t11513 %t11517 = load i32, ptr %t11514 %t11518 = icmp sge i32 %t11516, %t11517 br i1 %t11518, label %grow2378, label %put2379 grow2378: %t11519 = mul i32 %t11517, 2 %t11520 = icmp eq i32 %t11517, 0 %t11521 = select i1 %t11520, i32 8, i32 %t11519 %t11522 = getelementptr ptr, ptr null, i32 1 %t11523 = ptrtoint ptr %t11522 to i64 %t11524 = zext i32 %t11521 to i64 %t11525 = mul i64 %t11524, %t11523 %t11526 = load ptr, ptr %t11515 %t11527 = call ptr @realloc(ptr %t11526, i64 %t11525) store ptr %t11527, ptr %t11515 store i32 %t11521, ptr %t11514 br label %put2379 put2379: %t11528 = load ptr, ptr %t11515 %t11529 = getelementptr inbounds ptr, ptr %t11528, i32 %t11516 store ptr @.str8595, ptr %t11529 %t11530 = add i32 %t11516, 1 store i32 %t11530, ptr %t11513 br label %ifend2371 ifend2371: %t11531 = load ptr, ptr %t1 %t11532 = call i32 @lp_str_eq(ptr %t11531, ptr @.str8596) %t11533 = icmp ne i32 %t11532, 0 br i1 %t11533, label %then2380, label %ifend2382 then2380: store ptr @.str8597, ptr %t420 br label %ifend2382 ifend2382: %t11534 = load ptr, ptr %t1 %t11535 = call i32 @lp_str_eq(ptr %t11534, ptr @.str8598) %t11536 = icmp ne i32 %t11535, 0 br i1 %t11536, label %then2383, label %ifend2385 then2383: store ptr @.str8599, ptr %t420 %t11537 = load ptr, ptr %t427 %t11538 = getelementptr inbounds %LSlice, ptr %t11537, i32 0, i32 1 %t11539 = getelementptr inbounds %LSlice, ptr %t11537, i32 0, i32 2 %t11540 = getelementptr inbounds %LSlice, ptr %t11537, i32 0, i32 0 %t11541 = load i32, ptr %t11538 %t11542 = load i32, ptr %t11539 %t11543 = icmp sge i32 %t11541, %t11542 br i1 %t11543, label %grow2386, label %put2387 grow2386: %t11544 = mul i32 %t11542, 2 %t11545 = icmp eq i32 %t11542, 0 %t11546 = select i1 %t11545, i32 8, i32 %t11544 %t11547 = getelementptr ptr, ptr null, i32 1 %t11548 = ptrtoint ptr %t11547 to i64 %t11549 = zext i32 %t11546 to i64 %t11550 = mul i64 %t11549, %t11548 %t11551 = load ptr, ptr %t11540 %t11552 = call ptr @realloc(ptr %t11551, i64 %t11550) store ptr %t11552, ptr %t11540 store i32 %t11546, ptr %t11539 br label %put2387 put2387: %t11553 = load ptr, ptr %t11540 %t11554 = getelementptr inbounds ptr, ptr %t11553, i32 %t11541 store ptr @.str8600, ptr %t11554 %t11555 = add i32 %t11541, 1 store i32 %t11555, ptr %t11538 br label %ifend2385 ifend2385: %t11556 = load ptr, ptr %t1 %t11557 = call i32 @lp_str_eq(ptr %t11556, ptr @.str8601) %t11558 = icmp ne i32 %t11557, 0 br i1 %t11558, label %then2388, label %ifend2390 then2388: store ptr @.str8602, ptr %t420 %t11559 = load ptr, ptr %t427 %t11560 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 1 %t11561 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 2 %t11562 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 0 %t11563 = load i32, ptr %t11560 %t11564 = load i32, ptr %t11561 %t11565 = icmp sge i32 %t11563, %t11564 br i1 %t11565, label %grow2391, label %put2392 grow2391: %t11566 = mul i32 %t11564, 2 %t11567 = icmp eq i32 %t11564, 0 %t11568 = select i1 %t11567, i32 8, i32 %t11566 %t11569 = getelementptr ptr, ptr null, i32 1 %t11570 = ptrtoint ptr %t11569 to i64 %t11571 = zext i32 %t11568 to i64 %t11572 = mul i64 %t11571, %t11570 %t11573 = load ptr, ptr %t11562 %t11574 = call ptr @realloc(ptr %t11573, i64 %t11572) store ptr %t11574, ptr %t11562 store i32 %t11568, ptr %t11561 br label %put2392 put2392: %t11575 = load ptr, ptr %t11562 %t11576 = getelementptr inbounds ptr, ptr %t11575, i32 %t11563 store ptr @.str8603, ptr %t11576 %t11577 = add i32 %t11563, 1 store i32 %t11577, ptr %t11560 br label %ifend2390 ifend2390: %t11578 = load ptr, ptr %t1 %t11579 = call i32 @lp_str_eq(ptr %t11578, ptr @.str8604) %t11580 = icmp ne i32 %t11579, 0 br i1 %t11580, label %then2393, label %ifend2395 then2393: store ptr @.str8605, ptr %t420 %t11581 = load ptr, ptr %t427 %t11582 = getelementptr inbounds %LSlice, ptr %t11581, i32 0, i32 1 %t11583 = getelementptr inbounds %LSlice, ptr %t11581, i32 0, i32 2 %t11584 = getelementptr inbounds %LSlice, ptr %t11581, i32 0, i32 0 %t11585 = load i32, ptr %t11582 %t11586 = load i32, ptr %t11583 %t11587 = icmp sge i32 %t11585, %t11586 br i1 %t11587, label %grow2396, label %put2397 grow2396: %t11588 = mul i32 %t11586, 2 %t11589 = icmp eq i32 %t11586, 0 %t11590 = select i1 %t11589, i32 8, i32 %t11588 %t11591 = getelementptr ptr, ptr null, i32 1 %t11592 = ptrtoint ptr %t11591 to i64 %t11593 = zext i32 %t11590 to i64 %t11594 = mul i64 %t11593, %t11592 %t11595 = load ptr, ptr %t11584 %t11596 = call ptr @realloc(ptr %t11595, i64 %t11594) store ptr %t11596, ptr %t11584 store i32 %t11590, ptr %t11583 br label %put2397 put2397: %t11597 = load ptr, ptr %t11584 %t11598 = getelementptr inbounds ptr, ptr %t11597, i32 %t11585 store ptr @.str8606, ptr %t11598 %t11599 = add i32 %t11585, 1 store i32 %t11599, ptr %t11582 br label %ifend2395 ifend2395: %t11600 = load ptr, ptr %t1 %t11601 = call i32 @lp_str_eq(ptr %t11600, ptr @.str8607) %t11602 = icmp ne i32 %t11601, 0 br i1 %t11602, label %then2398, label %ifend2400 then2398: store ptr @.str8608, ptr %t420 br label %ifend2400 ifend2400: %t11603 = load ptr, ptr %t1 %t11604 = call i32 @lp_str_eq(ptr %t11603, ptr @.str8609) %t11605 = icmp ne i32 %t11604, 0 br i1 %t11605, label %then2401, label %ifend2403 then2401: store ptr @.str8610, ptr %t420 %t11606 = load ptr, ptr %t427 %t11607 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 1 %t11608 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 2 %t11609 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 0 %t11610 = load i32, ptr %t11607 %t11611 = load i32, ptr %t11608 %t11612 = icmp sge i32 %t11610, %t11611 br i1 %t11612, label %grow2404, label %put2405 grow2404: %t11613 = mul i32 %t11611, 2 %t11614 = icmp eq i32 %t11611, 0 %t11615 = select i1 %t11614, i32 8, i32 %t11613 %t11616 = getelementptr ptr, ptr null, i32 1 %t11617 = ptrtoint ptr %t11616 to i64 %t11618 = zext i32 %t11615 to i64 %t11619 = mul i64 %t11618, %t11617 %t11620 = load ptr, ptr %t11609 %t11621 = call ptr @realloc(ptr %t11620, i64 %t11619) store ptr %t11621, ptr %t11609 store i32 %t11615, ptr %t11608 br label %put2405 put2405: %t11622 = load ptr, ptr %t11609 %t11623 = getelementptr inbounds ptr, ptr %t11622, i32 %t11610 store ptr @.str8611, ptr %t11623 %t11624 = add i32 %t11610, 1 store i32 %t11624, ptr %t11607 br label %ifend2403 ifend2403: %t11625 = load ptr, ptr %t1 %t11626 = call i32 @lp_str_eq(ptr %t11625, ptr @.str8612) %t11627 = icmp ne i32 %t11626, 0 br i1 %t11627, label %then2406, label %ifend2408 then2406: store ptr @.str8613, ptr %t420 %t11628 = load ptr, ptr %t427 %t11629 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 1 %t11630 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 2 %t11631 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 0 %t11632 = load i32, ptr %t11629 %t11633 = load i32, ptr %t11630 %t11634 = icmp sge i32 %t11632, %t11633 br i1 %t11634, label %grow2409, label %put2410 grow2409: %t11635 = mul i32 %t11633, 2 %t11636 = icmp eq i32 %t11633, 0 %t11637 = select i1 %t11636, i32 8, i32 %t11635 %t11638 = getelementptr ptr, ptr null, i32 1 %t11639 = ptrtoint ptr %t11638 to i64 %t11640 = zext i32 %t11637 to i64 %t11641 = mul i64 %t11640, %t11639 %t11642 = load ptr, ptr %t11631 %t11643 = call ptr @realloc(ptr %t11642, i64 %t11641) store ptr %t11643, ptr %t11631 store i32 %t11637, ptr %t11630 br label %put2410 put2410: %t11644 = load ptr, ptr %t11631 %t11645 = getelementptr inbounds ptr, ptr %t11644, i32 %t11632 store ptr @.str8614, ptr %t11645 %t11646 = add i32 %t11632, 1 store i32 %t11646, ptr %t11629 %t11647 = load ptr, ptr %t427 %t11648 = getelementptr inbounds %LSlice, ptr %t11647, i32 0, i32 1 %t11649 = getelementptr inbounds %LSlice, ptr %t11647, i32 0, i32 2 %t11650 = getelementptr inbounds %LSlice, ptr %t11647, i32 0, i32 0 %t11651 = load i32, ptr %t11648 %t11652 = load i32, ptr %t11649 %t11653 = icmp sge i32 %t11651, %t11652 br i1 %t11653, label %grow2411, label %put2412 grow2411: %t11654 = mul i32 %t11652, 2 %t11655 = icmp eq i32 %t11652, 0 %t11656 = select i1 %t11655, i32 8, i32 %t11654 %t11657 = getelementptr ptr, ptr null, i32 1 %t11658 = ptrtoint ptr %t11657 to i64 %t11659 = zext i32 %t11656 to i64 %t11660 = mul i64 %t11659, %t11658 %t11661 = load ptr, ptr %t11650 %t11662 = call ptr @realloc(ptr %t11661, i64 %t11660) store ptr %t11662, ptr %t11650 store i32 %t11656, ptr %t11649 br label %put2412 put2412: %t11663 = load ptr, ptr %t11650 %t11664 = getelementptr inbounds ptr, ptr %t11663, i32 %t11651 store ptr @.str8615, ptr %t11664 %t11665 = add i32 %t11651, 1 store i32 %t11665, ptr %t11648 %t11666 = load ptr, ptr %t427 %t11667 = getelementptr inbounds %LSlice, ptr %t11666, i32 0, i32 1 %t11668 = getelementptr inbounds %LSlice, ptr %t11666, i32 0, i32 2 %t11669 = getelementptr inbounds %LSlice, ptr %t11666, i32 0, i32 0 %t11670 = load i32, ptr %t11667 %t11671 = load i32, ptr %t11668 %t11672 = icmp sge i32 %t11670, %t11671 br i1 %t11672, label %grow2413, label %put2414 grow2413: %t11673 = mul i32 %t11671, 2 %t11674 = icmp eq i32 %t11671, 0 %t11675 = select i1 %t11674, i32 8, i32 %t11673 %t11676 = getelementptr ptr, ptr null, i32 1 %t11677 = ptrtoint ptr %t11676 to i64 %t11678 = zext i32 %t11675 to i64 %t11679 = mul i64 %t11678, %t11677 %t11680 = load ptr, ptr %t11669 %t11681 = call ptr @realloc(ptr %t11680, i64 %t11679) store ptr %t11681, ptr %t11669 store i32 %t11675, ptr %t11668 br label %put2414 put2414: %t11682 = load ptr, ptr %t11669 %t11683 = getelementptr inbounds ptr, ptr %t11682, i32 %t11670 store ptr @.str8616, ptr %t11683 %t11684 = add i32 %t11670, 1 store i32 %t11684, ptr %t11667 %t11685 = load ptr, ptr %t427 %t11686 = getelementptr inbounds %LSlice, ptr %t11685, i32 0, i32 1 %t11687 = getelementptr inbounds %LSlice, ptr %t11685, i32 0, i32 2 %t11688 = getelementptr inbounds %LSlice, ptr %t11685, i32 0, i32 0 %t11689 = load i32, ptr %t11686 %t11690 = load i32, ptr %t11687 %t11691 = icmp sge i32 %t11689, %t11690 br i1 %t11691, label %grow2415, label %put2416 grow2415: %t11692 = mul i32 %t11690, 2 %t11693 = icmp eq i32 %t11690, 0 %t11694 = select i1 %t11693, i32 8, i32 %t11692 %t11695 = getelementptr ptr, ptr null, i32 1 %t11696 = ptrtoint ptr %t11695 to i64 %t11697 = zext i32 %t11694 to i64 %t11698 = mul i64 %t11697, %t11696 %t11699 = load ptr, ptr %t11688 %t11700 = call ptr @realloc(ptr %t11699, i64 %t11698) store ptr %t11700, ptr %t11688 store i32 %t11694, ptr %t11687 br label %put2416 put2416: %t11701 = load ptr, ptr %t11688 %t11702 = getelementptr inbounds ptr, ptr %t11701, i32 %t11689 store ptr @.str8617, ptr %t11702 %t11703 = add i32 %t11689, 1 store i32 %t11703, ptr %t11686 %t11704 = load ptr, ptr %t427 %t11705 = getelementptr inbounds %LSlice, ptr %t11704, i32 0, i32 1 %t11706 = getelementptr inbounds %LSlice, ptr %t11704, i32 0, i32 2 %t11707 = getelementptr inbounds %LSlice, ptr %t11704, i32 0, i32 0 %t11708 = load i32, ptr %t11705 %t11709 = load i32, ptr %t11706 %t11710 = icmp sge i32 %t11708, %t11709 br i1 %t11710, label %grow2417, label %put2418 grow2417: %t11711 = mul i32 %t11709, 2 %t11712 = icmp eq i32 %t11709, 0 %t11713 = select i1 %t11712, i32 8, i32 %t11711 %t11714 = getelementptr ptr, ptr null, i32 1 %t11715 = ptrtoint ptr %t11714 to i64 %t11716 = zext i32 %t11713 to i64 %t11717 = mul i64 %t11716, %t11715 %t11718 = load ptr, ptr %t11707 %t11719 = call ptr @realloc(ptr %t11718, i64 %t11717) store ptr %t11719, ptr %t11707 store i32 %t11713, ptr %t11706 br label %put2418 put2418: %t11720 = load ptr, ptr %t11707 %t11721 = getelementptr inbounds ptr, ptr %t11720, i32 %t11708 store ptr @.str8618, ptr %t11721 %t11722 = add i32 %t11708, 1 store i32 %t11722, ptr %t11705 %t11723 = load ptr, ptr %t427 %t11724 = getelementptr inbounds %LSlice, ptr %t11723, i32 0, i32 1 %t11725 = getelementptr inbounds %LSlice, ptr %t11723, i32 0, i32 2 %t11726 = getelementptr inbounds %LSlice, ptr %t11723, i32 0, i32 0 %t11727 = load i32, ptr %t11724 %t11728 = load i32, ptr %t11725 %t11729 = icmp sge i32 %t11727, %t11728 br i1 %t11729, label %grow2419, label %put2420 grow2419: %t11730 = mul i32 %t11728, 2 %t11731 = icmp eq i32 %t11728, 0 %t11732 = select i1 %t11731, i32 8, i32 %t11730 %t11733 = getelementptr ptr, ptr null, i32 1 %t11734 = ptrtoint ptr %t11733 to i64 %t11735 = zext i32 %t11732 to i64 %t11736 = mul i64 %t11735, %t11734 %t11737 = load ptr, ptr %t11726 %t11738 = call ptr @realloc(ptr %t11737, i64 %t11736) store ptr %t11738, ptr %t11726 store i32 %t11732, ptr %t11725 br label %put2420 put2420: %t11739 = load ptr, ptr %t11726 %t11740 = getelementptr inbounds ptr, ptr %t11739, i32 %t11727 store ptr @.str8619, ptr %t11740 %t11741 = add i32 %t11727, 1 store i32 %t11741, ptr %t11724 br label %ifend2408 ifend2408: %t11742 = load ptr, ptr %t1 %t11743 = call i32 @lp_str_eq(ptr %t11742, ptr @.str8620) %t11744 = icmp ne i32 %t11743, 0 br i1 %t11744, label %then2421, label %ifend2423 then2421: store ptr @.str8621, ptr %t420 br label %ifend2423 ifend2423: %t11745 = load ptr, ptr %t1 %t11746 = call i32 @lp_str_eq(ptr %t11745, ptr @.str8622) %t11747 = icmp ne i32 %t11746, 0 br i1 %t11747, label %then2424, label %ifend2426 then2424: store ptr @.str8623, ptr %t420 %t11748 = load ptr, ptr %t427 %t11749 = getelementptr inbounds %LSlice, ptr %t11748, i32 0, i32 1 %t11750 = getelementptr inbounds %LSlice, ptr %t11748, i32 0, i32 2 %t11751 = getelementptr inbounds %LSlice, ptr %t11748, i32 0, i32 0 %t11752 = load i32, ptr %t11749 %t11753 = load i32, ptr %t11750 %t11754 = icmp sge i32 %t11752, %t11753 br i1 %t11754, label %grow2427, label %put2428 grow2427: %t11755 = mul i32 %t11753, 2 %t11756 = icmp eq i32 %t11753, 0 %t11757 = select i1 %t11756, i32 8, i32 %t11755 %t11758 = getelementptr ptr, ptr null, i32 1 %t11759 = ptrtoint ptr %t11758 to i64 %t11760 = zext i32 %t11757 to i64 %t11761 = mul i64 %t11760, %t11759 %t11762 = load ptr, ptr %t11751 %t11763 = call ptr @realloc(ptr %t11762, i64 %t11761) store ptr %t11763, ptr %t11751 store i32 %t11757, ptr %t11750 br label %put2428 put2428: %t11764 = load ptr, ptr %t11751 %t11765 = getelementptr inbounds ptr, ptr %t11764, i32 %t11752 store ptr @.str8624, ptr %t11765 %t11766 = add i32 %t11752, 1 store i32 %t11766, ptr %t11749 br label %ifend2426 ifend2426: br label %ifend2333 ifend2333: %t11767 = load ptr, ptr %t0 %t11768 = call i32 @lp_str_eq(ptr %t11767, ptr @.str8625) %t11769 = icmp ne i32 %t11768, 0 br i1 %t11769, label %then2429, label %ifend2431 then2429: %t11770 = load ptr, ptr %t1 %t11771 = call i32 @lp_str_eq(ptr %t11770, ptr @.str8626) %t11772 = icmp ne i32 %t11771, 0 br i1 %t11772, label %then2432, label %ifend2434 then2432: store ptr @.str8627, ptr %t420 %t11773 = load ptr, ptr %t427 %t11774 = getelementptr inbounds %LSlice, ptr %t11773, i32 0, i32 1 %t11775 = getelementptr inbounds %LSlice, ptr %t11773, i32 0, i32 2 %t11776 = getelementptr inbounds %LSlice, ptr %t11773, i32 0, i32 0 %t11777 = load i32, ptr %t11774 %t11778 = load i32, ptr %t11775 %t11779 = icmp sge i32 %t11777, %t11778 br i1 %t11779, label %grow2435, label %put2436 grow2435: %t11780 = mul i32 %t11778, 2 %t11781 = icmp eq i32 %t11778, 0 %t11782 = select i1 %t11781, i32 8, i32 %t11780 %t11783 = getelementptr ptr, ptr null, i32 1 %t11784 = ptrtoint ptr %t11783 to i64 %t11785 = zext i32 %t11782 to i64 %t11786 = mul i64 %t11785, %t11784 %t11787 = load ptr, ptr %t11776 %t11788 = call ptr @realloc(ptr %t11787, i64 %t11786) store ptr %t11788, ptr %t11776 store i32 %t11782, ptr %t11775 br label %put2436 put2436: %t11789 = load ptr, ptr %t11776 %t11790 = getelementptr inbounds ptr, ptr %t11789, i32 %t11777 store ptr @.str8628, ptr %t11790 %t11791 = add i32 %t11777, 1 store i32 %t11791, ptr %t11774 %t11792 = load ptr, ptr %t427 %t11793 = getelementptr inbounds %LSlice, ptr %t11792, i32 0, i32 1 %t11794 = getelementptr inbounds %LSlice, ptr %t11792, i32 0, i32 2 %t11795 = getelementptr inbounds %LSlice, ptr %t11792, i32 0, i32 0 %t11796 = load i32, ptr %t11793 %t11797 = load i32, ptr %t11794 %t11798 = icmp sge i32 %t11796, %t11797 br i1 %t11798, label %grow2437, label %put2438 grow2437: %t11799 = mul i32 %t11797, 2 %t11800 = icmp eq i32 %t11797, 0 %t11801 = select i1 %t11800, i32 8, i32 %t11799 %t11802 = getelementptr ptr, ptr null, i32 1 %t11803 = ptrtoint ptr %t11802 to i64 %t11804 = zext i32 %t11801 to i64 %t11805 = mul i64 %t11804, %t11803 %t11806 = load ptr, ptr %t11795 %t11807 = call ptr @realloc(ptr %t11806, i64 %t11805) store ptr %t11807, ptr %t11795 store i32 %t11801, ptr %t11794 br label %put2438 put2438: %t11808 = load ptr, ptr %t11795 %t11809 = getelementptr inbounds ptr, ptr %t11808, i32 %t11796 store ptr @.str8629, ptr %t11809 %t11810 = add i32 %t11796, 1 store i32 %t11810, ptr %t11793 %t11811 = load ptr, ptr %t427 %t11812 = getelementptr inbounds %LSlice, ptr %t11811, i32 0, i32 1 %t11813 = getelementptr inbounds %LSlice, ptr %t11811, i32 0, i32 2 %t11814 = getelementptr inbounds %LSlice, ptr %t11811, i32 0, i32 0 %t11815 = load i32, ptr %t11812 %t11816 = load i32, ptr %t11813 %t11817 = icmp sge i32 %t11815, %t11816 br i1 %t11817, label %grow2439, label %put2440 grow2439: %t11818 = mul i32 %t11816, 2 %t11819 = icmp eq i32 %t11816, 0 %t11820 = select i1 %t11819, i32 8, i32 %t11818 %t11821 = getelementptr ptr, ptr null, i32 1 %t11822 = ptrtoint ptr %t11821 to i64 %t11823 = zext i32 %t11820 to i64 %t11824 = mul i64 %t11823, %t11822 %t11825 = load ptr, ptr %t11814 %t11826 = call ptr @realloc(ptr %t11825, i64 %t11824) store ptr %t11826, ptr %t11814 store i32 %t11820, ptr %t11813 br label %put2440 put2440: %t11827 = load ptr, ptr %t11814 %t11828 = getelementptr inbounds ptr, ptr %t11827, i32 %t11815 store ptr @.str8630, ptr %t11828 %t11829 = add i32 %t11815, 1 store i32 %t11829, ptr %t11812 %t11830 = load ptr, ptr %t427 %t11831 = getelementptr inbounds %LSlice, ptr %t11830, i32 0, i32 1 %t11832 = getelementptr inbounds %LSlice, ptr %t11830, i32 0, i32 2 %t11833 = getelementptr inbounds %LSlice, ptr %t11830, i32 0, i32 0 %t11834 = load i32, ptr %t11831 %t11835 = load i32, ptr %t11832 %t11836 = icmp sge i32 %t11834, %t11835 br i1 %t11836, label %grow2441, label %put2442 grow2441: %t11837 = mul i32 %t11835, 2 %t11838 = icmp eq i32 %t11835, 0 %t11839 = select i1 %t11838, i32 8, i32 %t11837 %t11840 = getelementptr ptr, ptr null, i32 1 %t11841 = ptrtoint ptr %t11840 to i64 %t11842 = zext i32 %t11839 to i64 %t11843 = mul i64 %t11842, %t11841 %t11844 = load ptr, ptr %t11833 %t11845 = call ptr @realloc(ptr %t11844, i64 %t11843) store ptr %t11845, ptr %t11833 store i32 %t11839, ptr %t11832 br label %put2442 put2442: %t11846 = load ptr, ptr %t11833 %t11847 = getelementptr inbounds ptr, ptr %t11846, i32 %t11834 store ptr @.str8631, ptr %t11847 %t11848 = add i32 %t11834, 1 store i32 %t11848, ptr %t11831 br label %ifend2434 ifend2434: %t11849 = load ptr, ptr %t1 %t11850 = call i32 @lp_str_eq(ptr %t11849, ptr @.str8632) %t11851 = icmp ne i32 %t11850, 0 br i1 %t11851, label %then2443, label %ifend2445 then2443: store ptr @.str8633, ptr %t420 %t11852 = load ptr, ptr %t427 %t11853 = getelementptr inbounds %LSlice, ptr %t11852, i32 0, i32 1 %t11854 = getelementptr inbounds %LSlice, ptr %t11852, i32 0, i32 2 %t11855 = getelementptr inbounds %LSlice, ptr %t11852, i32 0, i32 0 %t11856 = load i32, ptr %t11853 %t11857 = load i32, ptr %t11854 %t11858 = icmp sge i32 %t11856, %t11857 br i1 %t11858, label %grow2446, label %put2447 grow2446: %t11859 = mul i32 %t11857, 2 %t11860 = icmp eq i32 %t11857, 0 %t11861 = select i1 %t11860, i32 8, i32 %t11859 %t11862 = getelementptr ptr, ptr null, i32 1 %t11863 = ptrtoint ptr %t11862 to i64 %t11864 = zext i32 %t11861 to i64 %t11865 = mul i64 %t11864, %t11863 %t11866 = load ptr, ptr %t11855 %t11867 = call ptr @realloc(ptr %t11866, i64 %t11865) store ptr %t11867, ptr %t11855 store i32 %t11861, ptr %t11854 br label %put2447 put2447: %t11868 = load ptr, ptr %t11855 %t11869 = getelementptr inbounds ptr, ptr %t11868, i32 %t11856 store ptr @.str8634, ptr %t11869 %t11870 = add i32 %t11856, 1 store i32 %t11870, ptr %t11853 %t11871 = load ptr, ptr %t427 %t11872 = getelementptr inbounds %LSlice, ptr %t11871, i32 0, i32 1 %t11873 = getelementptr inbounds %LSlice, ptr %t11871, i32 0, i32 2 %t11874 = getelementptr inbounds %LSlice, ptr %t11871, i32 0, i32 0 %t11875 = load i32, ptr %t11872 %t11876 = load i32, ptr %t11873 %t11877 = icmp sge i32 %t11875, %t11876 br i1 %t11877, label %grow2448, label %put2449 grow2448: %t11878 = mul i32 %t11876, 2 %t11879 = icmp eq i32 %t11876, 0 %t11880 = select i1 %t11879, i32 8, i32 %t11878 %t11881 = getelementptr ptr, ptr null, i32 1 %t11882 = ptrtoint ptr %t11881 to i64 %t11883 = zext i32 %t11880 to i64 %t11884 = mul i64 %t11883, %t11882 %t11885 = load ptr, ptr %t11874 %t11886 = call ptr @realloc(ptr %t11885, i64 %t11884) store ptr %t11886, ptr %t11874 store i32 %t11880, ptr %t11873 br label %put2449 put2449: %t11887 = load ptr, ptr %t11874 %t11888 = getelementptr inbounds ptr, ptr %t11887, i32 %t11875 store ptr @.str8635, ptr %t11888 %t11889 = add i32 %t11875, 1 store i32 %t11889, ptr %t11872 br label %ifend2445 ifend2445: %t11890 = load ptr, ptr %t1 %t11891 = call i32 @lp_str_eq(ptr %t11890, ptr @.str8636) %t11892 = icmp ne i32 %t11891, 0 br i1 %t11892, label %then2450, label %ifend2452 then2450: store ptr @.str8637, ptr %t420 %t11893 = load ptr, ptr %t427 %t11894 = getelementptr inbounds %LSlice, ptr %t11893, i32 0, i32 1 %t11895 = getelementptr inbounds %LSlice, ptr %t11893, i32 0, i32 2 %t11896 = getelementptr inbounds %LSlice, ptr %t11893, i32 0, i32 0 %t11897 = load i32, ptr %t11894 %t11898 = load i32, ptr %t11895 %t11899 = icmp sge i32 %t11897, %t11898 br i1 %t11899, label %grow2453, label %put2454 grow2453: %t11900 = mul i32 %t11898, 2 %t11901 = icmp eq i32 %t11898, 0 %t11902 = select i1 %t11901, i32 8, i32 %t11900 %t11903 = getelementptr ptr, ptr null, i32 1 %t11904 = ptrtoint ptr %t11903 to i64 %t11905 = zext i32 %t11902 to i64 %t11906 = mul i64 %t11905, %t11904 %t11907 = load ptr, ptr %t11896 %t11908 = call ptr @realloc(ptr %t11907, i64 %t11906) store ptr %t11908, ptr %t11896 store i32 %t11902, ptr %t11895 br label %put2454 put2454: %t11909 = load ptr, ptr %t11896 %t11910 = getelementptr inbounds ptr, ptr %t11909, i32 %t11897 store ptr @.str8638, ptr %t11910 %t11911 = add i32 %t11897, 1 store i32 %t11911, ptr %t11894 br label %ifend2452 ifend2452: %t11912 = load ptr, ptr %t1 %t11913 = call i32 @lp_str_eq(ptr %t11912, ptr @.str8639) %t11914 = icmp ne i32 %t11913, 0 br i1 %t11914, label %then2455, label %ifend2457 then2455: %t11915 = load ptr, ptr %t2 %t11916 = getelementptr inbounds %Cmp_Node, ptr %t11915, i32 0, i32 7 %t11917 = load ptr, ptr %t11916 %t11918 = getelementptr inbounds %LSlice, ptr %t11917, i32 0, i32 1 %t11919 = load i32, ptr %t11918 %t11920 = icmp eq i32 %t11919, 2 %t11921 = zext i1 %t11920 to i32 %t11922 = icmp ne i32 %t11921, 0 br i1 %t11922, label %then2458, label %else2459 then2458: store ptr @.str8640, ptr %t420 %t11923 = load ptr, ptr %t427 %t11924 = getelementptr inbounds %LSlice, ptr %t11923, i32 0, i32 1 %t11925 = getelementptr inbounds %LSlice, ptr %t11923, i32 0, i32 2 %t11926 = getelementptr inbounds %LSlice, ptr %t11923, i32 0, i32 0 %t11927 = load i32, ptr %t11924 %t11928 = load i32, ptr %t11925 %t11929 = icmp sge i32 %t11927, %t11928 br i1 %t11929, label %grow2461, label %put2462 grow2461: %t11930 = mul i32 %t11928, 2 %t11931 = icmp eq i32 %t11928, 0 %t11932 = select i1 %t11931, i32 8, i32 %t11930 %t11933 = getelementptr ptr, ptr null, i32 1 %t11934 = ptrtoint ptr %t11933 to i64 %t11935 = zext i32 %t11932 to i64 %t11936 = mul i64 %t11935, %t11934 %t11937 = load ptr, ptr %t11926 %t11938 = call ptr @realloc(ptr %t11937, i64 %t11936) store ptr %t11938, ptr %t11926 store i32 %t11932, ptr %t11925 br label %put2462 put2462: %t11939 = load ptr, ptr %t11926 %t11940 = getelementptr inbounds ptr, ptr %t11939, i32 %t11927 store ptr @.str8641, ptr %t11940 %t11941 = add i32 %t11927, 1 store i32 %t11941, ptr %t11924 %t11942 = load ptr, ptr %t427 %t11943 = getelementptr inbounds %LSlice, ptr %t11942, i32 0, i32 1 %t11944 = getelementptr inbounds %LSlice, ptr %t11942, i32 0, i32 2 %t11945 = getelementptr inbounds %LSlice, ptr %t11942, i32 0, i32 0 %t11946 = load i32, ptr %t11943 %t11947 = load i32, ptr %t11944 %t11948 = icmp sge i32 %t11946, %t11947 br i1 %t11948, label %grow2463, label %put2464 grow2463: %t11949 = mul i32 %t11947, 2 %t11950 = icmp eq i32 %t11947, 0 %t11951 = select i1 %t11950, i32 8, i32 %t11949 %t11952 = getelementptr ptr, ptr null, i32 1 %t11953 = ptrtoint ptr %t11952 to i64 %t11954 = zext i32 %t11951 to i64 %t11955 = mul i64 %t11954, %t11953 %t11956 = load ptr, ptr %t11945 %t11957 = call ptr @realloc(ptr %t11956, i64 %t11955) store ptr %t11957, ptr %t11945 store i32 %t11951, ptr %t11944 br label %put2464 put2464: %t11958 = load ptr, ptr %t11945 %t11959 = getelementptr inbounds ptr, ptr %t11958, i32 %t11946 store ptr @.str8642, ptr %t11959 %t11960 = add i32 %t11946, 1 store i32 %t11960, ptr %t11943 br label %ifend2460 else2459: store ptr @.str8643, ptr %t420 %t11961 = load ptr, ptr %t427 %t11962 = getelementptr inbounds %LSlice, ptr %t11961, i32 0, i32 1 %t11963 = getelementptr inbounds %LSlice, ptr %t11961, i32 0, i32 2 %t11964 = getelementptr inbounds %LSlice, ptr %t11961, i32 0, i32 0 %t11965 = load i32, ptr %t11962 %t11966 = load i32, ptr %t11963 %t11967 = icmp sge i32 %t11965, %t11966 br i1 %t11967, label %grow2465, label %put2466 grow2465: %t11968 = mul i32 %t11966, 2 %t11969 = icmp eq i32 %t11966, 0 %t11970 = select i1 %t11969, i32 8, i32 %t11968 %t11971 = getelementptr ptr, ptr null, i32 1 %t11972 = ptrtoint ptr %t11971 to i64 %t11973 = zext i32 %t11970 to i64 %t11974 = mul i64 %t11973, %t11972 %t11975 = load ptr, ptr %t11964 %t11976 = call ptr @realloc(ptr %t11975, i64 %t11974) store ptr %t11976, ptr %t11964 store i32 %t11970, ptr %t11963 br label %put2466 put2466: %t11977 = load ptr, ptr %t11964 %t11978 = getelementptr inbounds ptr, ptr %t11977, i32 %t11965 store ptr @.str8644, ptr %t11978 %t11979 = add i32 %t11965, 1 store i32 %t11979, ptr %t11962 %t11980 = load ptr, ptr %t427 %t11981 = getelementptr inbounds %LSlice, ptr %t11980, i32 0, i32 1 %t11982 = getelementptr inbounds %LSlice, ptr %t11980, i32 0, i32 2 %t11983 = getelementptr inbounds %LSlice, ptr %t11980, i32 0, i32 0 %t11984 = load i32, ptr %t11981 %t11985 = load i32, ptr %t11982 %t11986 = icmp sge i32 %t11984, %t11985 br i1 %t11986, label %grow2467, label %put2468 grow2467: %t11987 = mul i32 %t11985, 2 %t11988 = icmp eq i32 %t11985, 0 %t11989 = select i1 %t11988, i32 8, i32 %t11987 %t11990 = getelementptr ptr, ptr null, i32 1 %t11991 = ptrtoint ptr %t11990 to i64 %t11992 = zext i32 %t11989 to i64 %t11993 = mul i64 %t11992, %t11991 %t11994 = load ptr, ptr %t11983 %t11995 = call ptr @realloc(ptr %t11994, i64 %t11993) store ptr %t11995, ptr %t11983 store i32 %t11989, ptr %t11982 br label %put2468 put2468: %t11996 = load ptr, ptr %t11983 %t11997 = getelementptr inbounds ptr, ptr %t11996, i32 %t11984 store ptr @.str8645, ptr %t11997 %t11998 = add i32 %t11984, 1 store i32 %t11998, ptr %t11981 %t11999 = load ptr, ptr %t427 %t12000 = getelementptr inbounds %LSlice, ptr %t11999, i32 0, i32 1 %t12001 = getelementptr inbounds %LSlice, ptr %t11999, i32 0, i32 2 %t12002 = getelementptr inbounds %LSlice, ptr %t11999, i32 0, i32 0 %t12003 = load i32, ptr %t12000 %t12004 = load i32, ptr %t12001 %t12005 = icmp sge i32 %t12003, %t12004 br i1 %t12005, label %grow2469, label %put2470 grow2469: %t12006 = mul i32 %t12004, 2 %t12007 = icmp eq i32 %t12004, 0 %t12008 = select i1 %t12007, i32 8, i32 %t12006 %t12009 = getelementptr ptr, ptr null, i32 1 %t12010 = ptrtoint ptr %t12009 to i64 %t12011 = zext i32 %t12008 to i64 %t12012 = mul i64 %t12011, %t12010 %t12013 = load ptr, ptr %t12002 %t12014 = call ptr @realloc(ptr %t12013, i64 %t12012) store ptr %t12014, ptr %t12002 store i32 %t12008, ptr %t12001 br label %put2470 put2470: %t12015 = load ptr, ptr %t12002 %t12016 = getelementptr inbounds ptr, ptr %t12015, i32 %t12003 store ptr @.str8646, ptr %t12016 %t12017 = add i32 %t12003, 1 store i32 %t12017, ptr %t12000 %t12018 = load ptr, ptr %t427 %t12019 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 1 %t12020 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 2 %t12021 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 0 %t12022 = load i32, ptr %t12019 %t12023 = load i32, ptr %t12020 %t12024 = icmp sge i32 %t12022, %t12023 br i1 %t12024, label %grow2471, label %put2472 grow2471: %t12025 = mul i32 %t12023, 2 %t12026 = icmp eq i32 %t12023, 0 %t12027 = select i1 %t12026, i32 8, i32 %t12025 %t12028 = getelementptr ptr, ptr null, i32 1 %t12029 = ptrtoint ptr %t12028 to i64 %t12030 = zext i32 %t12027 to i64 %t12031 = mul i64 %t12030, %t12029 %t12032 = load ptr, ptr %t12021 %t12033 = call ptr @realloc(ptr %t12032, i64 %t12031) store ptr %t12033, ptr %t12021 store i32 %t12027, ptr %t12020 br label %put2472 put2472: %t12034 = load ptr, ptr %t12021 %t12035 = getelementptr inbounds ptr, ptr %t12034, i32 %t12022 store ptr @.str8647, ptr %t12035 %t12036 = add i32 %t12022, 1 store i32 %t12036, ptr %t12019 br label %ifend2460 ifend2460: br label %ifend2457 ifend2457: br label %ifend2431 ifend2431: %t12037 = load ptr, ptr %t0 %t12038 = call i32 @lp_str_eq(ptr %t12037, ptr @.str8648) %t12039 = icmp ne i32 %t12038, 0 br i1 %t12039, label %then2473, label %ifend2475 then2473: %t12040 = load ptr, ptr %t1 %t12041 = call i32 @lp_str_eq(ptr %t12040, ptr @.str8649) %t12042 = icmp ne i32 %t12041, 0 br i1 %t12042, label %then2476, label %ifend2478 then2476: store ptr @.str8650, ptr %t420 %t12043 = load ptr, ptr %t427 %t12044 = getelementptr inbounds %LSlice, ptr %t12043, i32 0, i32 1 %t12045 = getelementptr inbounds %LSlice, ptr %t12043, i32 0, i32 2 %t12046 = getelementptr inbounds %LSlice, ptr %t12043, i32 0, i32 0 %t12047 = load i32, ptr %t12044 %t12048 = load i32, ptr %t12045 %t12049 = icmp sge i32 %t12047, %t12048 br i1 %t12049, label %grow2479, label %put2480 grow2479: %t12050 = mul i32 %t12048, 2 %t12051 = icmp eq i32 %t12048, 0 %t12052 = select i1 %t12051, i32 8, i32 %t12050 %t12053 = getelementptr ptr, ptr null, i32 1 %t12054 = ptrtoint ptr %t12053 to i64 %t12055 = zext i32 %t12052 to i64 %t12056 = mul i64 %t12055, %t12054 %t12057 = load ptr, ptr %t12046 %t12058 = call ptr @realloc(ptr %t12057, i64 %t12056) store ptr %t12058, ptr %t12046 store i32 %t12052, ptr %t12045 br label %put2480 put2480: %t12059 = load ptr, ptr %t12046 %t12060 = getelementptr inbounds ptr, ptr %t12059, i32 %t12047 store ptr @.str8651, ptr %t12060 %t12061 = add i32 %t12047, 1 store i32 %t12061, ptr %t12044 %t12062 = load ptr, ptr %t427 %t12063 = getelementptr inbounds %LSlice, ptr %t12062, i32 0, i32 1 %t12064 = getelementptr inbounds %LSlice, ptr %t12062, i32 0, i32 2 %t12065 = getelementptr inbounds %LSlice, ptr %t12062, i32 0, i32 0 %t12066 = load i32, ptr %t12063 %t12067 = load i32, ptr %t12064 %t12068 = icmp sge i32 %t12066, %t12067 br i1 %t12068, label %grow2481, label %put2482 grow2481: %t12069 = mul i32 %t12067, 2 %t12070 = icmp eq i32 %t12067, 0 %t12071 = select i1 %t12070, i32 8, i32 %t12069 %t12072 = getelementptr ptr, ptr null, i32 1 %t12073 = ptrtoint ptr %t12072 to i64 %t12074 = zext i32 %t12071 to i64 %t12075 = mul i64 %t12074, %t12073 %t12076 = load ptr, ptr %t12065 %t12077 = call ptr @realloc(ptr %t12076, i64 %t12075) store ptr %t12077, ptr %t12065 store i32 %t12071, ptr %t12064 br label %put2482 put2482: %t12078 = load ptr, ptr %t12065 %t12079 = getelementptr inbounds ptr, ptr %t12078, i32 %t12066 store ptr @.str8652, ptr %t12079 %t12080 = add i32 %t12066, 1 store i32 %t12080, ptr %t12063 %t12081 = load ptr, ptr %t427 %t12082 = getelementptr inbounds %LSlice, ptr %t12081, i32 0, i32 1 %t12083 = getelementptr inbounds %LSlice, ptr %t12081, i32 0, i32 2 %t12084 = getelementptr inbounds %LSlice, ptr %t12081, i32 0, i32 0 %t12085 = load i32, ptr %t12082 %t12086 = load i32, ptr %t12083 %t12087 = icmp sge i32 %t12085, %t12086 br i1 %t12087, label %grow2483, label %put2484 grow2483: %t12088 = mul i32 %t12086, 2 %t12089 = icmp eq i32 %t12086, 0 %t12090 = select i1 %t12089, i32 8, i32 %t12088 %t12091 = getelementptr ptr, ptr null, i32 1 %t12092 = ptrtoint ptr %t12091 to i64 %t12093 = zext i32 %t12090 to i64 %t12094 = mul i64 %t12093, %t12092 %t12095 = load ptr, ptr %t12084 %t12096 = call ptr @realloc(ptr %t12095, i64 %t12094) store ptr %t12096, ptr %t12084 store i32 %t12090, ptr %t12083 br label %put2484 put2484: %t12097 = load ptr, ptr %t12084 %t12098 = getelementptr inbounds ptr, ptr %t12097, i32 %t12085 store ptr @.str8653, ptr %t12098 %t12099 = add i32 %t12085, 1 store i32 %t12099, ptr %t12082 %t12100 = load ptr, ptr %t427 %t12101 = getelementptr inbounds %LSlice, ptr %t12100, i32 0, i32 1 %t12102 = getelementptr inbounds %LSlice, ptr %t12100, i32 0, i32 2 %t12103 = getelementptr inbounds %LSlice, ptr %t12100, i32 0, i32 0 %t12104 = load i32, ptr %t12101 %t12105 = load i32, ptr %t12102 %t12106 = icmp sge i32 %t12104, %t12105 br i1 %t12106, label %grow2485, label %put2486 grow2485: %t12107 = mul i32 %t12105, 2 %t12108 = icmp eq i32 %t12105, 0 %t12109 = select i1 %t12108, i32 8, i32 %t12107 %t12110 = getelementptr ptr, ptr null, i32 1 %t12111 = ptrtoint ptr %t12110 to i64 %t12112 = zext i32 %t12109 to i64 %t12113 = mul i64 %t12112, %t12111 %t12114 = load ptr, ptr %t12103 %t12115 = call ptr @realloc(ptr %t12114, i64 %t12113) store ptr %t12115, ptr %t12103 store i32 %t12109, ptr %t12102 br label %put2486 put2486: %t12116 = load ptr, ptr %t12103 %t12117 = getelementptr inbounds ptr, ptr %t12116, i32 %t12104 store ptr @.str8654, ptr %t12117 %t12118 = add i32 %t12104, 1 store i32 %t12118, ptr %t12101 %t12119 = load ptr, ptr %t427 %t12120 = getelementptr inbounds %LSlice, ptr %t12119, i32 0, i32 1 %t12121 = getelementptr inbounds %LSlice, ptr %t12119, i32 0, i32 2 %t12122 = getelementptr inbounds %LSlice, ptr %t12119, i32 0, i32 0 %t12123 = load i32, ptr %t12120 %t12124 = load i32, ptr %t12121 %t12125 = icmp sge i32 %t12123, %t12124 br i1 %t12125, label %grow2487, label %put2488 grow2487: %t12126 = mul i32 %t12124, 2 %t12127 = icmp eq i32 %t12124, 0 %t12128 = select i1 %t12127, i32 8, i32 %t12126 %t12129 = getelementptr ptr, ptr null, i32 1 %t12130 = ptrtoint ptr %t12129 to i64 %t12131 = zext i32 %t12128 to i64 %t12132 = mul i64 %t12131, %t12130 %t12133 = load ptr, ptr %t12122 %t12134 = call ptr @realloc(ptr %t12133, i64 %t12132) store ptr %t12134, ptr %t12122 store i32 %t12128, ptr %t12121 br label %put2488 put2488: %t12135 = load ptr, ptr %t12122 %t12136 = getelementptr inbounds ptr, ptr %t12135, i32 %t12123 store ptr @.str8655, ptr %t12136 %t12137 = add i32 %t12123, 1 store i32 %t12137, ptr %t12120 br label %ifend2478 ifend2478: br label %ifend2475 ifend2475: %t12138 = load ptr, ptr %t0 %t12139 = call i32 @lp_str_eq(ptr %t12138, ptr @.str8656) %t12140 = icmp ne i32 %t12139, 0 br i1 %t12140, label %then2489, label %ifend2491 then2489: %t12141 = load ptr, ptr %t1 %t12142 = call i32 @lp_str_eq(ptr %t12141, ptr @.str8657) %t12143 = icmp ne i32 %t12142, 0 br i1 %t12143, label %then2492, label %ifend2494 then2492: store ptr @.str8658, ptr %t420 %t12144 = load ptr, ptr %t427 %t12145 = getelementptr inbounds %LSlice, ptr %t12144, i32 0, i32 1 %t12146 = getelementptr inbounds %LSlice, ptr %t12144, i32 0, i32 2 %t12147 = getelementptr inbounds %LSlice, ptr %t12144, i32 0, i32 0 %t12148 = load i32, ptr %t12145 %t12149 = load i32, ptr %t12146 %t12150 = icmp sge i32 %t12148, %t12149 br i1 %t12150, label %grow2495, label %put2496 grow2495: %t12151 = mul i32 %t12149, 2 %t12152 = icmp eq i32 %t12149, 0 %t12153 = select i1 %t12152, i32 8, i32 %t12151 %t12154 = getelementptr ptr, ptr null, i32 1 %t12155 = ptrtoint ptr %t12154 to i64 %t12156 = zext i32 %t12153 to i64 %t12157 = mul i64 %t12156, %t12155 %t12158 = load ptr, ptr %t12147 %t12159 = call ptr @realloc(ptr %t12158, i64 %t12157) store ptr %t12159, ptr %t12147 store i32 %t12153, ptr %t12146 br label %put2496 put2496: %t12160 = load ptr, ptr %t12147 %t12161 = getelementptr inbounds ptr, ptr %t12160, i32 %t12148 store ptr @.str8659, ptr %t12161 %t12162 = add i32 %t12148, 1 store i32 %t12162, ptr %t12145 %t12163 = load ptr, ptr %t427 %t12164 = getelementptr inbounds %LSlice, ptr %t12163, i32 0, i32 1 %t12165 = getelementptr inbounds %LSlice, ptr %t12163, i32 0, i32 2 %t12166 = getelementptr inbounds %LSlice, ptr %t12163, i32 0, i32 0 %t12167 = load i32, ptr %t12164 %t12168 = load i32, ptr %t12165 %t12169 = icmp sge i32 %t12167, %t12168 br i1 %t12169, label %grow2497, label %put2498 grow2497: %t12170 = mul i32 %t12168, 2 %t12171 = icmp eq i32 %t12168, 0 %t12172 = select i1 %t12171, i32 8, i32 %t12170 %t12173 = getelementptr ptr, ptr null, i32 1 %t12174 = ptrtoint ptr %t12173 to i64 %t12175 = zext i32 %t12172 to i64 %t12176 = mul i64 %t12175, %t12174 %t12177 = load ptr, ptr %t12166 %t12178 = call ptr @realloc(ptr %t12177, i64 %t12176) store ptr %t12178, ptr %t12166 store i32 %t12172, ptr %t12165 br label %put2498 put2498: %t12179 = load ptr, ptr %t12166 %t12180 = getelementptr inbounds ptr, ptr %t12179, i32 %t12167 store ptr @.str8660, ptr %t12180 %t12181 = add i32 %t12167, 1 store i32 %t12181, ptr %t12164 %t12182 = load ptr, ptr %t427 %t12183 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 1 %t12184 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 2 %t12185 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 0 %t12186 = load i32, ptr %t12183 %t12187 = load i32, ptr %t12184 %t12188 = icmp sge i32 %t12186, %t12187 br i1 %t12188, label %grow2499, label %put2500 grow2499: %t12189 = mul i32 %t12187, 2 %t12190 = icmp eq i32 %t12187, 0 %t12191 = select i1 %t12190, i32 8, i32 %t12189 %t12192 = getelementptr ptr, ptr null, i32 1 %t12193 = ptrtoint ptr %t12192 to i64 %t12194 = zext i32 %t12191 to i64 %t12195 = mul i64 %t12194, %t12193 %t12196 = load ptr, ptr %t12185 %t12197 = call ptr @realloc(ptr %t12196, i64 %t12195) store ptr %t12197, ptr %t12185 store i32 %t12191, ptr %t12184 br label %put2500 put2500: %t12198 = load ptr, ptr %t12185 %t12199 = getelementptr inbounds ptr, ptr %t12198, i32 %t12186 store ptr @.str8661, ptr %t12199 %t12200 = add i32 %t12186, 1 store i32 %t12200, ptr %t12183 %t12201 = load ptr, ptr %t427 %t12202 = getelementptr inbounds %LSlice, ptr %t12201, i32 0, i32 1 %t12203 = getelementptr inbounds %LSlice, ptr %t12201, i32 0, i32 2 %t12204 = getelementptr inbounds %LSlice, ptr %t12201, i32 0, i32 0 %t12205 = load i32, ptr %t12202 %t12206 = load i32, ptr %t12203 %t12207 = icmp sge i32 %t12205, %t12206 br i1 %t12207, label %grow2501, label %put2502 grow2501: %t12208 = mul i32 %t12206, 2 %t12209 = icmp eq i32 %t12206, 0 %t12210 = select i1 %t12209, i32 8, i32 %t12208 %t12211 = getelementptr ptr, ptr null, i32 1 %t12212 = ptrtoint ptr %t12211 to i64 %t12213 = zext i32 %t12210 to i64 %t12214 = mul i64 %t12213, %t12212 %t12215 = load ptr, ptr %t12204 %t12216 = call ptr @realloc(ptr %t12215, i64 %t12214) store ptr %t12216, ptr %t12204 store i32 %t12210, ptr %t12203 br label %put2502 put2502: %t12217 = load ptr, ptr %t12204 %t12218 = getelementptr inbounds ptr, ptr %t12217, i32 %t12205 store ptr @.str8662, ptr %t12218 %t12219 = add i32 %t12205, 1 store i32 %t12219, ptr %t12202 br label %ifend2494 ifend2494: %t12220 = load ptr, ptr %t1 %t12221 = call i32 @lp_str_eq(ptr %t12220, ptr @.str8663) %t12222 = icmp ne i32 %t12221, 0 br i1 %t12222, label %then2503, label %ifend2505 then2503: store ptr @.str8664, ptr %t420 %t12223 = load ptr, ptr %t427 %t12224 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 1 %t12225 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 2 %t12226 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 0 %t12227 = load i32, ptr %t12224 %t12228 = load i32, ptr %t12225 %t12229 = icmp sge i32 %t12227, %t12228 br i1 %t12229, label %grow2506, label %put2507 grow2506: %t12230 = mul i32 %t12228, 2 %t12231 = icmp eq i32 %t12228, 0 %t12232 = select i1 %t12231, i32 8, i32 %t12230 %t12233 = getelementptr ptr, ptr null, i32 1 %t12234 = ptrtoint ptr %t12233 to i64 %t12235 = zext i32 %t12232 to i64 %t12236 = mul i64 %t12235, %t12234 %t12237 = load ptr, ptr %t12226 %t12238 = call ptr @realloc(ptr %t12237, i64 %t12236) store ptr %t12238, ptr %t12226 store i32 %t12232, ptr %t12225 br label %put2507 put2507: %t12239 = load ptr, ptr %t12226 %t12240 = getelementptr inbounds ptr, ptr %t12239, i32 %t12227 store ptr @.str8665, ptr %t12240 %t12241 = add i32 %t12227, 1 store i32 %t12241, ptr %t12224 %t12242 = load ptr, ptr %t427 %t12243 = getelementptr inbounds %LSlice, ptr %t12242, i32 0, i32 1 %t12244 = getelementptr inbounds %LSlice, ptr %t12242, i32 0, i32 2 %t12245 = getelementptr inbounds %LSlice, ptr %t12242, i32 0, i32 0 %t12246 = load i32, ptr %t12243 %t12247 = load i32, ptr %t12244 %t12248 = icmp sge i32 %t12246, %t12247 br i1 %t12248, label %grow2508, label %put2509 grow2508: %t12249 = mul i32 %t12247, 2 %t12250 = icmp eq i32 %t12247, 0 %t12251 = select i1 %t12250, i32 8, i32 %t12249 %t12252 = getelementptr ptr, ptr null, i32 1 %t12253 = ptrtoint ptr %t12252 to i64 %t12254 = zext i32 %t12251 to i64 %t12255 = mul i64 %t12254, %t12253 %t12256 = load ptr, ptr %t12245 %t12257 = call ptr @realloc(ptr %t12256, i64 %t12255) store ptr %t12257, ptr %t12245 store i32 %t12251, ptr %t12244 br label %put2509 put2509: %t12258 = load ptr, ptr %t12245 %t12259 = getelementptr inbounds ptr, ptr %t12258, i32 %t12246 store ptr @.str8666, ptr %t12259 %t12260 = add i32 %t12246, 1 store i32 %t12260, ptr %t12243 %t12261 = load ptr, ptr %t427 %t12262 = getelementptr inbounds %LSlice, ptr %t12261, i32 0, i32 1 %t12263 = getelementptr inbounds %LSlice, ptr %t12261, i32 0, i32 2 %t12264 = getelementptr inbounds %LSlice, ptr %t12261, i32 0, i32 0 %t12265 = load i32, ptr %t12262 %t12266 = load i32, ptr %t12263 %t12267 = icmp sge i32 %t12265, %t12266 br i1 %t12267, label %grow2510, label %put2511 grow2510: %t12268 = mul i32 %t12266, 2 %t12269 = icmp eq i32 %t12266, 0 %t12270 = select i1 %t12269, i32 8, i32 %t12268 %t12271 = getelementptr ptr, ptr null, i32 1 %t12272 = ptrtoint ptr %t12271 to i64 %t12273 = zext i32 %t12270 to i64 %t12274 = mul i64 %t12273, %t12272 %t12275 = load ptr, ptr %t12264 %t12276 = call ptr @realloc(ptr %t12275, i64 %t12274) store ptr %t12276, ptr %t12264 store i32 %t12270, ptr %t12263 br label %put2511 put2511: %t12277 = load ptr, ptr %t12264 %t12278 = getelementptr inbounds ptr, ptr %t12277, i32 %t12265 store ptr @.str8667, ptr %t12278 %t12279 = add i32 %t12265, 1 store i32 %t12279, ptr %t12262 %t12280 = load ptr, ptr %t427 %t12281 = getelementptr inbounds %LSlice, ptr %t12280, i32 0, i32 1 %t12282 = getelementptr inbounds %LSlice, ptr %t12280, i32 0, i32 2 %t12283 = getelementptr inbounds %LSlice, ptr %t12280, i32 0, i32 0 %t12284 = load i32, ptr %t12281 %t12285 = load i32, ptr %t12282 %t12286 = icmp sge i32 %t12284, %t12285 br i1 %t12286, label %grow2512, label %put2513 grow2512: %t12287 = mul i32 %t12285, 2 %t12288 = icmp eq i32 %t12285, 0 %t12289 = select i1 %t12288, i32 8, i32 %t12287 %t12290 = getelementptr ptr, ptr null, i32 1 %t12291 = ptrtoint ptr %t12290 to i64 %t12292 = zext i32 %t12289 to i64 %t12293 = mul i64 %t12292, %t12291 %t12294 = load ptr, ptr %t12283 %t12295 = call ptr @realloc(ptr %t12294, i64 %t12293) store ptr %t12295, ptr %t12283 store i32 %t12289, ptr %t12282 br label %put2513 put2513: %t12296 = load ptr, ptr %t12283 %t12297 = getelementptr inbounds ptr, ptr %t12296, i32 %t12284 store ptr @.str8668, ptr %t12297 %t12298 = add i32 %t12284, 1 store i32 %t12298, ptr %t12281 br label %ifend2505 ifend2505: %t12299 = load ptr, ptr %t1 %t12300 = call i32 @lp_str_eq(ptr %t12299, ptr @.str8669) %t12301 = icmp ne i32 %t12300, 0 br i1 %t12301, label %then2514, label %ifend2516 then2514: store ptr @.str8670, ptr %t420 %t12302 = load ptr, ptr %t427 %t12303 = getelementptr inbounds %LSlice, ptr %t12302, i32 0, i32 1 %t12304 = getelementptr inbounds %LSlice, ptr %t12302, i32 0, i32 2 %t12305 = getelementptr inbounds %LSlice, ptr %t12302, i32 0, i32 0 %t12306 = load i32, ptr %t12303 %t12307 = load i32, ptr %t12304 %t12308 = icmp sge i32 %t12306, %t12307 br i1 %t12308, label %grow2517, label %put2518 grow2517: %t12309 = mul i32 %t12307, 2 %t12310 = icmp eq i32 %t12307, 0 %t12311 = select i1 %t12310, i32 8, i32 %t12309 %t12312 = getelementptr ptr, ptr null, i32 1 %t12313 = ptrtoint ptr %t12312 to i64 %t12314 = zext i32 %t12311 to i64 %t12315 = mul i64 %t12314, %t12313 %t12316 = load ptr, ptr %t12305 %t12317 = call ptr @realloc(ptr %t12316, i64 %t12315) store ptr %t12317, ptr %t12305 store i32 %t12311, ptr %t12304 br label %put2518 put2518: %t12318 = load ptr, ptr %t12305 %t12319 = getelementptr inbounds ptr, ptr %t12318, i32 %t12306 store ptr @.str8671, ptr %t12319 %t12320 = add i32 %t12306, 1 store i32 %t12320, ptr %t12303 %t12321 = load ptr, ptr %t427 %t12322 = getelementptr inbounds %LSlice, ptr %t12321, i32 0, i32 1 %t12323 = getelementptr inbounds %LSlice, ptr %t12321, i32 0, i32 2 %t12324 = getelementptr inbounds %LSlice, ptr %t12321, i32 0, i32 0 %t12325 = load i32, ptr %t12322 %t12326 = load i32, ptr %t12323 %t12327 = icmp sge i32 %t12325, %t12326 br i1 %t12327, label %grow2519, label %put2520 grow2519: %t12328 = mul i32 %t12326, 2 %t12329 = icmp eq i32 %t12326, 0 %t12330 = select i1 %t12329, i32 8, i32 %t12328 %t12331 = getelementptr ptr, ptr null, i32 1 %t12332 = ptrtoint ptr %t12331 to i64 %t12333 = zext i32 %t12330 to i64 %t12334 = mul i64 %t12333, %t12332 %t12335 = load ptr, ptr %t12324 %t12336 = call ptr @realloc(ptr %t12335, i64 %t12334) store ptr %t12336, ptr %t12324 store i32 %t12330, ptr %t12323 br label %put2520 put2520: %t12337 = load ptr, ptr %t12324 %t12338 = getelementptr inbounds ptr, ptr %t12337, i32 %t12325 store ptr @.str8672, ptr %t12338 %t12339 = add i32 %t12325, 1 store i32 %t12339, ptr %t12322 br label %ifend2516 ifend2516: %t12340 = load ptr, ptr %t1 %t12341 = call i32 @lp_str_eq(ptr %t12340, ptr @.str8673) %t12342 = icmp ne i32 %t12341, 0 br i1 %t12342, label %then2521, label %ifend2523 then2521: store ptr @.str8674, ptr %t420 %t12343 = load ptr, ptr %t427 %t12344 = getelementptr inbounds %LSlice, ptr %t12343, i32 0, i32 1 %t12345 = getelementptr inbounds %LSlice, ptr %t12343, i32 0, i32 2 %t12346 = getelementptr inbounds %LSlice, ptr %t12343, i32 0, i32 0 %t12347 = load i32, ptr %t12344 %t12348 = load i32, ptr %t12345 %t12349 = icmp sge i32 %t12347, %t12348 br i1 %t12349, label %grow2524, label %put2525 grow2524: %t12350 = mul i32 %t12348, 2 %t12351 = icmp eq i32 %t12348, 0 %t12352 = select i1 %t12351, i32 8, i32 %t12350 %t12353 = getelementptr ptr, ptr null, i32 1 %t12354 = ptrtoint ptr %t12353 to i64 %t12355 = zext i32 %t12352 to i64 %t12356 = mul i64 %t12355, %t12354 %t12357 = load ptr, ptr %t12346 %t12358 = call ptr @realloc(ptr %t12357, i64 %t12356) store ptr %t12358, ptr %t12346 store i32 %t12352, ptr %t12345 br label %put2525 put2525: %t12359 = load ptr, ptr %t12346 %t12360 = getelementptr inbounds ptr, ptr %t12359, i32 %t12347 store ptr @.str8675, ptr %t12360 %t12361 = add i32 %t12347, 1 store i32 %t12361, ptr %t12344 br label %ifend2523 ifend2523: %t12362 = load ptr, ptr %t1 %t12363 = call i32 @lp_str_eq(ptr %t12362, ptr @.str8676) %t12364 = icmp ne i32 %t12363, 0 br i1 %t12364, label %then2526, label %ifend2528 then2526: store ptr @.str8677, ptr %t420 %t12365 = load ptr, ptr %t427 %t12366 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 1 %t12367 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 2 %t12368 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 0 %t12369 = load i32, ptr %t12366 %t12370 = load i32, ptr %t12367 %t12371 = icmp sge i32 %t12369, %t12370 br i1 %t12371, label %grow2529, label %put2530 grow2529: %t12372 = mul i32 %t12370, 2 %t12373 = icmp eq i32 %t12370, 0 %t12374 = select i1 %t12373, i32 8, i32 %t12372 %t12375 = getelementptr ptr, ptr null, i32 1 %t12376 = ptrtoint ptr %t12375 to i64 %t12377 = zext i32 %t12374 to i64 %t12378 = mul i64 %t12377, %t12376 %t12379 = load ptr, ptr %t12368 %t12380 = call ptr @realloc(ptr %t12379, i64 %t12378) store ptr %t12380, ptr %t12368 store i32 %t12374, ptr %t12367 br label %put2530 put2530: %t12381 = load ptr, ptr %t12368 %t12382 = getelementptr inbounds ptr, ptr %t12381, i32 %t12369 store ptr @.str8678, ptr %t12382 %t12383 = add i32 %t12369, 1 store i32 %t12383, ptr %t12366 br label %ifend2528 ifend2528: %t12384 = load ptr, ptr %t1 %t12385 = call i32 @lp_str_eq(ptr %t12384, ptr @.str8679) %t12386 = icmp ne i32 %t12385, 0 br i1 %t12386, label %then2531, label %ifend2533 then2531: store ptr @.str8680, ptr %t420 %t12387 = load ptr, ptr %t427 %t12388 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 1 %t12389 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 2 %t12390 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 0 %t12391 = load i32, ptr %t12388 %t12392 = load i32, ptr %t12389 %t12393 = icmp sge i32 %t12391, %t12392 br i1 %t12393, label %grow2534, label %put2535 grow2534: %t12394 = mul i32 %t12392, 2 %t12395 = icmp eq i32 %t12392, 0 %t12396 = select i1 %t12395, i32 8, i32 %t12394 %t12397 = getelementptr ptr, ptr null, i32 1 %t12398 = ptrtoint ptr %t12397 to i64 %t12399 = zext i32 %t12396 to i64 %t12400 = mul i64 %t12399, %t12398 %t12401 = load ptr, ptr %t12390 %t12402 = call ptr @realloc(ptr %t12401, i64 %t12400) store ptr %t12402, ptr %t12390 store i32 %t12396, ptr %t12389 br label %put2535 put2535: %t12403 = load ptr, ptr %t12390 %t12404 = getelementptr inbounds ptr, ptr %t12403, i32 %t12391 store ptr @.str8681, ptr %t12404 %t12405 = add i32 %t12391, 1 store i32 %t12405, ptr %t12388 %t12406 = load ptr, ptr %t427 %t12407 = getelementptr inbounds %LSlice, ptr %t12406, i32 0, i32 1 %t12408 = getelementptr inbounds %LSlice, ptr %t12406, i32 0, i32 2 %t12409 = getelementptr inbounds %LSlice, ptr %t12406, i32 0, i32 0 %t12410 = load i32, ptr %t12407 %t12411 = load i32, ptr %t12408 %t12412 = icmp sge i32 %t12410, %t12411 br i1 %t12412, label %grow2536, label %put2537 grow2536: %t12413 = mul i32 %t12411, 2 %t12414 = icmp eq i32 %t12411, 0 %t12415 = select i1 %t12414, i32 8, i32 %t12413 %t12416 = getelementptr ptr, ptr null, i32 1 %t12417 = ptrtoint ptr %t12416 to i64 %t12418 = zext i32 %t12415 to i64 %t12419 = mul i64 %t12418, %t12417 %t12420 = load ptr, ptr %t12409 %t12421 = call ptr @realloc(ptr %t12420, i64 %t12419) store ptr %t12421, ptr %t12409 store i32 %t12415, ptr %t12408 br label %put2537 put2537: %t12422 = load ptr, ptr %t12409 %t12423 = getelementptr inbounds ptr, ptr %t12422, i32 %t12410 store ptr @.str8682, ptr %t12423 %t12424 = add i32 %t12410, 1 store i32 %t12424, ptr %t12407 br label %ifend2533 ifend2533: br label %ifend2491 ifend2491: %t12425 = load ptr, ptr %t0 %t12426 = call i32 @lp_str_eq(ptr %t12425, ptr @.str8683) %t12427 = icmp ne i32 %t12426, 0 br i1 %t12427, label %then2538, label %ifend2540 then2538: %t12428 = load ptr, ptr %t1 %t12429 = call i32 @lp_str_eq(ptr %t12428, ptr @.str8684) %t12430 = icmp ne i32 %t12429, 0 br i1 %t12430, label %then2541, label %ifend2543 then2541: store ptr @.str8685, ptr %t420 %t12431 = load ptr, ptr %t427 %t12432 = getelementptr inbounds %LSlice, ptr %t12431, i32 0, i32 1 %t12433 = getelementptr inbounds %LSlice, ptr %t12431, i32 0, i32 2 %t12434 = getelementptr inbounds %LSlice, ptr %t12431, i32 0, i32 0 %t12435 = load i32, ptr %t12432 %t12436 = load i32, ptr %t12433 %t12437 = icmp sge i32 %t12435, %t12436 br i1 %t12437, label %grow2544, label %put2545 grow2544: %t12438 = mul i32 %t12436, 2 %t12439 = icmp eq i32 %t12436, 0 %t12440 = select i1 %t12439, i32 8, i32 %t12438 %t12441 = getelementptr ptr, ptr null, i32 1 %t12442 = ptrtoint ptr %t12441 to i64 %t12443 = zext i32 %t12440 to i64 %t12444 = mul i64 %t12443, %t12442 %t12445 = load ptr, ptr %t12434 %t12446 = call ptr @realloc(ptr %t12445, i64 %t12444) store ptr %t12446, ptr %t12434 store i32 %t12440, ptr %t12433 br label %put2545 put2545: %t12447 = load ptr, ptr %t12434 %t12448 = getelementptr inbounds ptr, ptr %t12447, i32 %t12435 store ptr @.str8686, ptr %t12448 %t12449 = add i32 %t12435, 1 store i32 %t12449, ptr %t12432 br label %ifend2543 ifend2543: %t12450 = load ptr, ptr %t1 %t12451 = call i32 @lp_str_eq(ptr %t12450, ptr @.str8687) %t12452 = icmp ne i32 %t12451, 0 br i1 %t12452, label %then2546, label %ifend2548 then2546: store ptr @.str8688, ptr %t420 %t12453 = load ptr, ptr %t427 %t12454 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 1 %t12455 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 2 %t12456 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 0 %t12457 = load i32, ptr %t12454 %t12458 = load i32, ptr %t12455 %t12459 = icmp sge i32 %t12457, %t12458 br i1 %t12459, label %grow2549, label %put2550 grow2549: %t12460 = mul i32 %t12458, 2 %t12461 = icmp eq i32 %t12458, 0 %t12462 = select i1 %t12461, i32 8, i32 %t12460 %t12463 = getelementptr ptr, ptr null, i32 1 %t12464 = ptrtoint ptr %t12463 to i64 %t12465 = zext i32 %t12462 to i64 %t12466 = mul i64 %t12465, %t12464 %t12467 = load ptr, ptr %t12456 %t12468 = call ptr @realloc(ptr %t12467, i64 %t12466) store ptr %t12468, ptr %t12456 store i32 %t12462, ptr %t12455 br label %put2550 put2550: %t12469 = load ptr, ptr %t12456 %t12470 = getelementptr inbounds ptr, ptr %t12469, i32 %t12457 store ptr @.str8689, ptr %t12470 %t12471 = add i32 %t12457, 1 store i32 %t12471, ptr %t12454 br label %ifend2548 ifend2548: %t12472 = load ptr, ptr %t1 %t12473 = call i32 @lp_str_eq(ptr %t12472, ptr @.str8690) %t12474 = icmp ne i32 %t12473, 0 br i1 %t12474, label %then2551, label %ifend2553 then2551: store ptr @.str8691, ptr %t420 %t12475 = load ptr, ptr %t427 %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 %grow2554, label %put2555 grow2554: %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 %put2555 put2555: %t12491 = load ptr, ptr %t12478 %t12492 = getelementptr inbounds ptr, ptr %t12491, i32 %t12479 store ptr @.str8692, ptr %t12492 %t12493 = add i32 %t12479, 1 store i32 %t12493, ptr %t12476 %t12494 = load ptr, ptr %t427 %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 %grow2556, label %put2557 grow2556: %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 %put2557 put2557: %t12510 = load ptr, ptr %t12497 %t12511 = getelementptr inbounds ptr, ptr %t12510, i32 %t12498 store ptr @.str8693, ptr %t12511 %t12512 = add i32 %t12498, 1 store i32 %t12512, ptr %t12495 %t12513 = load ptr, ptr %t427 %t12514 = getelementptr inbounds %LSlice, ptr %t12513, i32 0, i32 1 %t12515 = getelementptr inbounds %LSlice, ptr %t12513, i32 0, i32 2 %t12516 = getelementptr inbounds %LSlice, ptr %t12513, i32 0, i32 0 %t12517 = load i32, ptr %t12514 %t12518 = load i32, ptr %t12515 %t12519 = icmp sge i32 %t12517, %t12518 br i1 %t12519, label %grow2558, label %put2559 grow2558: %t12520 = mul i32 %t12518, 2 %t12521 = icmp eq i32 %t12518, 0 %t12522 = select i1 %t12521, i32 8, i32 %t12520 %t12523 = getelementptr ptr, ptr null, i32 1 %t12524 = ptrtoint ptr %t12523 to i64 %t12525 = zext i32 %t12522 to i64 %t12526 = mul i64 %t12525, %t12524 %t12527 = load ptr, ptr %t12516 %t12528 = call ptr @realloc(ptr %t12527, i64 %t12526) store ptr %t12528, ptr %t12516 store i32 %t12522, ptr %t12515 br label %put2559 put2559: %t12529 = load ptr, ptr %t12516 %t12530 = getelementptr inbounds ptr, ptr %t12529, i32 %t12517 store ptr @.str8694, ptr %t12530 %t12531 = add i32 %t12517, 1 store i32 %t12531, ptr %t12514 %t12532 = load ptr, ptr %t427 %t12533 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 1 %t12534 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 2 %t12535 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 0 %t12536 = load i32, ptr %t12533 %t12537 = load i32, ptr %t12534 %t12538 = icmp sge i32 %t12536, %t12537 br i1 %t12538, label %grow2560, label %put2561 grow2560: %t12539 = mul i32 %t12537, 2 %t12540 = icmp eq i32 %t12537, 0 %t12541 = select i1 %t12540, i32 8, i32 %t12539 %t12542 = getelementptr ptr, ptr null, i32 1 %t12543 = ptrtoint ptr %t12542 to i64 %t12544 = zext i32 %t12541 to i64 %t12545 = mul i64 %t12544, %t12543 %t12546 = load ptr, ptr %t12535 %t12547 = call ptr @realloc(ptr %t12546, i64 %t12545) store ptr %t12547, ptr %t12535 store i32 %t12541, ptr %t12534 br label %put2561 put2561: %t12548 = load ptr, ptr %t12535 %t12549 = getelementptr inbounds ptr, ptr %t12548, i32 %t12536 store ptr @.str8695, ptr %t12549 %t12550 = add i32 %t12536, 1 store i32 %t12550, ptr %t12533 %t12551 = load ptr, ptr %t427 %t12552 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 1 %t12553 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 2 %t12554 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 0 %t12555 = load i32, ptr %t12552 %t12556 = load i32, ptr %t12553 %t12557 = icmp sge i32 %t12555, %t12556 br i1 %t12557, label %grow2562, label %put2563 grow2562: %t12558 = mul i32 %t12556, 2 %t12559 = icmp eq i32 %t12556, 0 %t12560 = select i1 %t12559, i32 8, i32 %t12558 %t12561 = getelementptr ptr, ptr null, i32 1 %t12562 = ptrtoint ptr %t12561 to i64 %t12563 = zext i32 %t12560 to i64 %t12564 = mul i64 %t12563, %t12562 %t12565 = load ptr, ptr %t12554 %t12566 = call ptr @realloc(ptr %t12565, i64 %t12564) store ptr %t12566, ptr %t12554 store i32 %t12560, ptr %t12553 br label %put2563 put2563: %t12567 = load ptr, ptr %t12554 %t12568 = getelementptr inbounds ptr, ptr %t12567, i32 %t12555 store ptr @.str8696, ptr %t12568 %t12569 = add i32 %t12555, 1 store i32 %t12569, ptr %t12552 %t12570 = load ptr, ptr %t427 %t12571 = getelementptr inbounds %LSlice, ptr %t12570, i32 0, i32 1 %t12572 = getelementptr inbounds %LSlice, ptr %t12570, i32 0, i32 2 %t12573 = getelementptr inbounds %LSlice, ptr %t12570, i32 0, i32 0 %t12574 = load i32, ptr %t12571 %t12575 = load i32, ptr %t12572 %t12576 = icmp sge i32 %t12574, %t12575 br i1 %t12576, label %grow2564, label %put2565 grow2564: %t12577 = mul i32 %t12575, 2 %t12578 = icmp eq i32 %t12575, 0 %t12579 = select i1 %t12578, i32 8, i32 %t12577 %t12580 = getelementptr ptr, ptr null, i32 1 %t12581 = ptrtoint ptr %t12580 to i64 %t12582 = zext i32 %t12579 to i64 %t12583 = mul i64 %t12582, %t12581 %t12584 = load ptr, ptr %t12573 %t12585 = call ptr @realloc(ptr %t12584, i64 %t12583) store ptr %t12585, ptr %t12573 store i32 %t12579, ptr %t12572 br label %put2565 put2565: %t12586 = load ptr, ptr %t12573 %t12587 = getelementptr inbounds ptr, ptr %t12586, i32 %t12574 store ptr @.str8697, ptr %t12587 %t12588 = add i32 %t12574, 1 store i32 %t12588, ptr %t12571 br label %ifend2553 ifend2553: %t12589 = load ptr, ptr %t1 %t12590 = call i32 @lp_str_eq(ptr %t12589, ptr @.str8698) %t12591 = icmp ne i32 %t12590, 0 br i1 %t12591, label %then2566, label %ifend2568 then2566: store ptr @.str8699, ptr %t420 %t12592 = load ptr, ptr %t427 %t12593 = getelementptr inbounds %LSlice, ptr %t12592, i32 0, i32 1 %t12594 = getelementptr inbounds %LSlice, ptr %t12592, i32 0, i32 2 %t12595 = getelementptr inbounds %LSlice, ptr %t12592, i32 0, i32 0 %t12596 = load i32, ptr %t12593 %t12597 = load i32, ptr %t12594 %t12598 = icmp sge i32 %t12596, %t12597 br i1 %t12598, label %grow2569, label %put2570 grow2569: %t12599 = mul i32 %t12597, 2 %t12600 = icmp eq i32 %t12597, 0 %t12601 = select i1 %t12600, i32 8, i32 %t12599 %t12602 = getelementptr ptr, ptr null, i32 1 %t12603 = ptrtoint ptr %t12602 to i64 %t12604 = zext i32 %t12601 to i64 %t12605 = mul i64 %t12604, %t12603 %t12606 = load ptr, ptr %t12595 %t12607 = call ptr @realloc(ptr %t12606, i64 %t12605) store ptr %t12607, ptr %t12595 store i32 %t12601, ptr %t12594 br label %put2570 put2570: %t12608 = load ptr, ptr %t12595 %t12609 = getelementptr inbounds ptr, ptr %t12608, i32 %t12596 store ptr @.str8700, ptr %t12609 %t12610 = add i32 %t12596, 1 store i32 %t12610, ptr %t12593 %t12611 = load ptr, ptr %t427 %t12612 = getelementptr inbounds %LSlice, ptr %t12611, i32 0, i32 1 %t12613 = getelementptr inbounds %LSlice, ptr %t12611, i32 0, i32 2 %t12614 = getelementptr inbounds %LSlice, ptr %t12611, i32 0, i32 0 %t12615 = load i32, ptr %t12612 %t12616 = load i32, ptr %t12613 %t12617 = icmp sge i32 %t12615, %t12616 br i1 %t12617, label %grow2571, label %put2572 grow2571: %t12618 = mul i32 %t12616, 2 %t12619 = icmp eq i32 %t12616, 0 %t12620 = select i1 %t12619, i32 8, i32 %t12618 %t12621 = getelementptr ptr, ptr null, i32 1 %t12622 = ptrtoint ptr %t12621 to i64 %t12623 = zext i32 %t12620 to i64 %t12624 = mul i64 %t12623, %t12622 %t12625 = load ptr, ptr %t12614 %t12626 = call ptr @realloc(ptr %t12625, i64 %t12624) store ptr %t12626, ptr %t12614 store i32 %t12620, ptr %t12613 br label %put2572 put2572: %t12627 = load ptr, ptr %t12614 %t12628 = getelementptr inbounds ptr, ptr %t12627, i32 %t12615 store ptr @.str8701, ptr %t12628 %t12629 = add i32 %t12615, 1 store i32 %t12629, ptr %t12612 %t12630 = load ptr, ptr %t427 %t12631 = getelementptr inbounds %LSlice, ptr %t12630, i32 0, i32 1 %t12632 = getelementptr inbounds %LSlice, ptr %t12630, i32 0, i32 2 %t12633 = getelementptr inbounds %LSlice, ptr %t12630, i32 0, i32 0 %t12634 = load i32, ptr %t12631 %t12635 = load i32, ptr %t12632 %t12636 = icmp sge i32 %t12634, %t12635 br i1 %t12636, label %grow2573, label %put2574 grow2573: %t12637 = mul i32 %t12635, 2 %t12638 = icmp eq i32 %t12635, 0 %t12639 = select i1 %t12638, i32 8, i32 %t12637 %t12640 = getelementptr ptr, ptr null, i32 1 %t12641 = ptrtoint ptr %t12640 to i64 %t12642 = zext i32 %t12639 to i64 %t12643 = mul i64 %t12642, %t12641 %t12644 = load ptr, ptr %t12633 %t12645 = call ptr @realloc(ptr %t12644, i64 %t12643) store ptr %t12645, ptr %t12633 store i32 %t12639, ptr %t12632 br label %put2574 put2574: %t12646 = load ptr, ptr %t12633 %t12647 = getelementptr inbounds ptr, ptr %t12646, i32 %t12634 store ptr @.str8702, ptr %t12647 %t12648 = add i32 %t12634, 1 store i32 %t12648, ptr %t12631 %t12649 = load ptr, ptr %t427 %t12650 = getelementptr inbounds %LSlice, ptr %t12649, i32 0, i32 1 %t12651 = getelementptr inbounds %LSlice, ptr %t12649, i32 0, i32 2 %t12652 = getelementptr inbounds %LSlice, ptr %t12649, i32 0, i32 0 %t12653 = load i32, ptr %t12650 %t12654 = load i32, ptr %t12651 %t12655 = icmp sge i32 %t12653, %t12654 br i1 %t12655, label %grow2575, label %put2576 grow2575: %t12656 = mul i32 %t12654, 2 %t12657 = icmp eq i32 %t12654, 0 %t12658 = select i1 %t12657, i32 8, i32 %t12656 %t12659 = getelementptr ptr, ptr null, i32 1 %t12660 = ptrtoint ptr %t12659 to i64 %t12661 = zext i32 %t12658 to i64 %t12662 = mul i64 %t12661, %t12660 %t12663 = load ptr, ptr %t12652 %t12664 = call ptr @realloc(ptr %t12663, i64 %t12662) store ptr %t12664, ptr %t12652 store i32 %t12658, ptr %t12651 br label %put2576 put2576: %t12665 = load ptr, ptr %t12652 %t12666 = getelementptr inbounds ptr, ptr %t12665, i32 %t12653 store ptr @.str8703, ptr %t12666 %t12667 = add i32 %t12653, 1 store i32 %t12667, ptr %t12650 %t12668 = load ptr, ptr %t427 %t12669 = getelementptr inbounds %LSlice, ptr %t12668, i32 0, i32 1 %t12670 = getelementptr inbounds %LSlice, ptr %t12668, i32 0, i32 2 %t12671 = getelementptr inbounds %LSlice, ptr %t12668, i32 0, i32 0 %t12672 = load i32, ptr %t12669 %t12673 = load i32, ptr %t12670 %t12674 = icmp sge i32 %t12672, %t12673 br i1 %t12674, label %grow2577, label %put2578 grow2577: %t12675 = mul i32 %t12673, 2 %t12676 = icmp eq i32 %t12673, 0 %t12677 = select i1 %t12676, i32 8, i32 %t12675 %t12678 = getelementptr ptr, ptr null, i32 1 %t12679 = ptrtoint ptr %t12678 to i64 %t12680 = zext i32 %t12677 to i64 %t12681 = mul i64 %t12680, %t12679 %t12682 = load ptr, ptr %t12671 %t12683 = call ptr @realloc(ptr %t12682, i64 %t12681) store ptr %t12683, ptr %t12671 store i32 %t12677, ptr %t12670 br label %put2578 put2578: %t12684 = load ptr, ptr %t12671 %t12685 = getelementptr inbounds ptr, ptr %t12684, i32 %t12672 store ptr @.str8704, ptr %t12685 %t12686 = add i32 %t12672, 1 store i32 %t12686, ptr %t12669 %t12687 = load ptr, ptr %t427 %t12688 = getelementptr inbounds %LSlice, ptr %t12687, i32 0, i32 1 %t12689 = getelementptr inbounds %LSlice, ptr %t12687, i32 0, i32 2 %t12690 = getelementptr inbounds %LSlice, ptr %t12687, i32 0, i32 0 %t12691 = load i32, ptr %t12688 %t12692 = load i32, ptr %t12689 %t12693 = icmp sge i32 %t12691, %t12692 br i1 %t12693, label %grow2579, label %put2580 grow2579: %t12694 = mul i32 %t12692, 2 %t12695 = icmp eq i32 %t12692, 0 %t12696 = select i1 %t12695, i32 8, i32 %t12694 %t12697 = getelementptr ptr, ptr null, i32 1 %t12698 = ptrtoint ptr %t12697 to i64 %t12699 = zext i32 %t12696 to i64 %t12700 = mul i64 %t12699, %t12698 %t12701 = load ptr, ptr %t12690 %t12702 = call ptr @realloc(ptr %t12701, i64 %t12700) store ptr %t12702, ptr %t12690 store i32 %t12696, ptr %t12689 br label %put2580 put2580: %t12703 = load ptr, ptr %t12690 %t12704 = getelementptr inbounds ptr, ptr %t12703, i32 %t12691 store ptr @.str8705, ptr %t12704 %t12705 = add i32 %t12691, 1 store i32 %t12705, ptr %t12688 %t12706 = load ptr, ptr %t427 %t12707 = getelementptr inbounds %LSlice, ptr %t12706, i32 0, i32 1 %t12708 = getelementptr inbounds %LSlice, ptr %t12706, i32 0, i32 2 %t12709 = getelementptr inbounds %LSlice, ptr %t12706, i32 0, i32 0 %t12710 = load i32, ptr %t12707 %t12711 = load i32, ptr %t12708 %t12712 = icmp sge i32 %t12710, %t12711 br i1 %t12712, label %grow2581, label %put2582 grow2581: %t12713 = mul i32 %t12711, 2 %t12714 = icmp eq i32 %t12711, 0 %t12715 = select i1 %t12714, i32 8, i32 %t12713 %t12716 = getelementptr ptr, ptr null, i32 1 %t12717 = ptrtoint ptr %t12716 to i64 %t12718 = zext i32 %t12715 to i64 %t12719 = mul i64 %t12718, %t12717 %t12720 = load ptr, ptr %t12709 %t12721 = call ptr @realloc(ptr %t12720, i64 %t12719) store ptr %t12721, ptr %t12709 store i32 %t12715, ptr %t12708 br label %put2582 put2582: %t12722 = load ptr, ptr %t12709 %t12723 = getelementptr inbounds ptr, ptr %t12722, i32 %t12710 store ptr @.str8706, ptr %t12723 %t12724 = add i32 %t12710, 1 store i32 %t12724, ptr %t12707 br label %ifend2568 ifend2568: br label %ifend2540 ifend2540: %t12725 = load ptr, ptr %t0 %t12726 = call i32 @lp_str_eq(ptr %t12725, ptr @.str8707) %t12727 = icmp ne i32 %t12726, 0 br i1 %t12727, label %then2583, label %ifend2585 then2583: %t12728 = load ptr, ptr %t1 %t12729 = call i32 @lp_str_eq(ptr %t12728, ptr @.str8708) %t12730 = icmp ne i32 %t12729, 0 br i1 %t12730, label %then2586, label %ifend2588 then2586: store ptr @.str8709, ptr %t420 %t12731 = load ptr, ptr %t427 %t12732 = getelementptr inbounds %LSlice, ptr %t12731, i32 0, i32 1 %t12733 = getelementptr inbounds %LSlice, ptr %t12731, i32 0, i32 2 %t12734 = getelementptr inbounds %LSlice, ptr %t12731, i32 0, i32 0 %t12735 = load i32, ptr %t12732 %t12736 = load i32, ptr %t12733 %t12737 = icmp sge i32 %t12735, %t12736 br i1 %t12737, label %grow2589, label %put2590 grow2589: %t12738 = mul i32 %t12736, 2 %t12739 = icmp eq i32 %t12736, 0 %t12740 = select i1 %t12739, i32 8, i32 %t12738 %t12741 = getelementptr ptr, ptr null, i32 1 %t12742 = ptrtoint ptr %t12741 to i64 %t12743 = zext i32 %t12740 to i64 %t12744 = mul i64 %t12743, %t12742 %t12745 = load ptr, ptr %t12734 %t12746 = call ptr @realloc(ptr %t12745, i64 %t12744) store ptr %t12746, ptr %t12734 store i32 %t12740, ptr %t12733 br label %put2590 put2590: %t12747 = load ptr, ptr %t12734 %t12748 = getelementptr inbounds ptr, ptr %t12747, i32 %t12735 store ptr @.str8710, ptr %t12748 %t12749 = add i32 %t12735, 1 store i32 %t12749, ptr %t12732 br label %ifend2588 ifend2588: %t12750 = load ptr, ptr %t1 %t12751 = call i32 @lp_str_eq(ptr %t12750, ptr @.str8711) %t12752 = icmp ne i32 %t12751, 0 br i1 %t12752, label %then2591, label %ifend2593 then2591: store ptr @.str8712, ptr %t420 %t12753 = load ptr, ptr %t427 %t12754 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 1 %t12755 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 2 %t12756 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 0 %t12757 = load i32, ptr %t12754 %t12758 = load i32, ptr %t12755 %t12759 = icmp sge i32 %t12757, %t12758 br i1 %t12759, label %grow2594, label %put2595 grow2594: %t12760 = mul i32 %t12758, 2 %t12761 = icmp eq i32 %t12758, 0 %t12762 = select i1 %t12761, i32 8, i32 %t12760 %t12763 = getelementptr ptr, ptr null, i32 1 %t12764 = ptrtoint ptr %t12763 to i64 %t12765 = zext i32 %t12762 to i64 %t12766 = mul i64 %t12765, %t12764 %t12767 = load ptr, ptr %t12756 %t12768 = call ptr @realloc(ptr %t12767, i64 %t12766) store ptr %t12768, ptr %t12756 store i32 %t12762, ptr %t12755 br label %put2595 put2595: %t12769 = load ptr, ptr %t12756 %t12770 = getelementptr inbounds ptr, ptr %t12769, i32 %t12757 store ptr @.str8713, ptr %t12770 %t12771 = add i32 %t12757, 1 store i32 %t12771, ptr %t12754 %t12772 = load ptr, ptr %t427 %t12773 = getelementptr inbounds %LSlice, ptr %t12772, i32 0, i32 1 %t12774 = getelementptr inbounds %LSlice, ptr %t12772, i32 0, i32 2 %t12775 = getelementptr inbounds %LSlice, ptr %t12772, i32 0, i32 0 %t12776 = load i32, ptr %t12773 %t12777 = load i32, ptr %t12774 %t12778 = icmp sge i32 %t12776, %t12777 br i1 %t12778, label %grow2596, label %put2597 grow2596: %t12779 = mul i32 %t12777, 2 %t12780 = icmp eq i32 %t12777, 0 %t12781 = select i1 %t12780, i32 8, i32 %t12779 %t12782 = getelementptr ptr, ptr null, i32 1 %t12783 = ptrtoint ptr %t12782 to i64 %t12784 = zext i32 %t12781 to i64 %t12785 = mul i64 %t12784, %t12783 %t12786 = load ptr, ptr %t12775 %t12787 = call ptr @realloc(ptr %t12786, i64 %t12785) store ptr %t12787, ptr %t12775 store i32 %t12781, ptr %t12774 br label %put2597 put2597: %t12788 = load ptr, ptr %t12775 %t12789 = getelementptr inbounds ptr, ptr %t12788, i32 %t12776 store ptr @.str8714, ptr %t12789 %t12790 = add i32 %t12776, 1 store i32 %t12790, ptr %t12773 br label %ifend2593 ifend2593: %t12791 = load ptr, ptr %t1 %t12792 = call i32 @lp_str_eq(ptr %t12791, ptr @.str8715) %t12793 = icmp ne i32 %t12792, 0 br i1 %t12793, label %then2598, label %ifend2600 then2598: store ptr @.str8716, ptr %t420 br label %ifend2600 ifend2600: %t12794 = load ptr, ptr %t1 %t12795 = call i32 @lp_str_eq(ptr %t12794, ptr @.str8717) %t12796 = icmp ne i32 %t12795, 0 br i1 %t12796, label %then2601, label %ifend2603 then2601: store ptr @.str8718, ptr %t420 %t12797 = load ptr, ptr %t427 %t12798 = getelementptr inbounds %LSlice, ptr %t12797, i32 0, i32 1 %t12799 = getelementptr inbounds %LSlice, ptr %t12797, i32 0, i32 2 %t12800 = getelementptr inbounds %LSlice, ptr %t12797, i32 0, i32 0 %t12801 = load i32, ptr %t12798 %t12802 = load i32, ptr %t12799 %t12803 = icmp sge i32 %t12801, %t12802 br i1 %t12803, label %grow2604, label %put2605 grow2604: %t12804 = mul i32 %t12802, 2 %t12805 = icmp eq i32 %t12802, 0 %t12806 = select i1 %t12805, i32 8, i32 %t12804 %t12807 = getelementptr ptr, ptr null, i32 1 %t12808 = ptrtoint ptr %t12807 to i64 %t12809 = zext i32 %t12806 to i64 %t12810 = mul i64 %t12809, %t12808 %t12811 = load ptr, ptr %t12800 %t12812 = call ptr @realloc(ptr %t12811, i64 %t12810) store ptr %t12812, ptr %t12800 store i32 %t12806, ptr %t12799 br label %put2605 put2605: %t12813 = load ptr, ptr %t12800 %t12814 = getelementptr inbounds ptr, ptr %t12813, i32 %t12801 store ptr @.str8719, ptr %t12814 %t12815 = add i32 %t12801, 1 store i32 %t12815, ptr %t12798 br label %ifend2603 ifend2603: %t12816 = load ptr, ptr %t1 %t12817 = call i32 @lp_str_eq(ptr %t12816, ptr @.str8720) %t12818 = icmp ne i32 %t12817, 0 br i1 %t12818, label %then2606, label %ifend2608 then2606: store ptr @.str8721, ptr %t420 %t12819 = load ptr, ptr %t427 %t12820 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 1 %t12821 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 2 %t12822 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 0 %t12823 = load i32, ptr %t12820 %t12824 = load i32, ptr %t12821 %t12825 = icmp sge i32 %t12823, %t12824 br i1 %t12825, label %grow2609, label %put2610 grow2609: %t12826 = mul i32 %t12824, 2 %t12827 = icmp eq i32 %t12824, 0 %t12828 = select i1 %t12827, i32 8, i32 %t12826 %t12829 = getelementptr ptr, ptr null, i32 1 %t12830 = ptrtoint ptr %t12829 to i64 %t12831 = zext i32 %t12828 to i64 %t12832 = mul i64 %t12831, %t12830 %t12833 = load ptr, ptr %t12822 %t12834 = call ptr @realloc(ptr %t12833, i64 %t12832) store ptr %t12834, ptr %t12822 store i32 %t12828, ptr %t12821 br label %put2610 put2610: %t12835 = load ptr, ptr %t12822 %t12836 = getelementptr inbounds ptr, ptr %t12835, i32 %t12823 store ptr @.str8722, ptr %t12836 %t12837 = add i32 %t12823, 1 store i32 %t12837, ptr %t12820 br label %ifend2608 ifend2608: %t12838 = load ptr, ptr %t1 %t12839 = call i32 @lp_str_eq(ptr %t12838, ptr @.str8723) %t12840 = icmp ne i32 %t12839, 0 br i1 %t12840, label %then2611, label %ifend2613 then2611: store ptr @.str8724, ptr %t420 %t12841 = load ptr, ptr %t427 %t12842 = getelementptr inbounds %LSlice, ptr %t12841, i32 0, i32 1 %t12843 = getelementptr inbounds %LSlice, ptr %t12841, i32 0, i32 2 %t12844 = getelementptr inbounds %LSlice, ptr %t12841, i32 0, i32 0 %t12845 = load i32, ptr %t12842 %t12846 = load i32, ptr %t12843 %t12847 = icmp sge i32 %t12845, %t12846 br i1 %t12847, label %grow2614, label %put2615 grow2614: %t12848 = mul i32 %t12846, 2 %t12849 = icmp eq i32 %t12846, 0 %t12850 = select i1 %t12849, i32 8, i32 %t12848 %t12851 = getelementptr ptr, ptr null, i32 1 %t12852 = ptrtoint ptr %t12851 to i64 %t12853 = zext i32 %t12850 to i64 %t12854 = mul i64 %t12853, %t12852 %t12855 = load ptr, ptr %t12844 %t12856 = call ptr @realloc(ptr %t12855, i64 %t12854) store ptr %t12856, ptr %t12844 store i32 %t12850, ptr %t12843 br label %put2615 put2615: %t12857 = load ptr, ptr %t12844 %t12858 = getelementptr inbounds ptr, ptr %t12857, i32 %t12845 store ptr @.str8725, ptr %t12858 %t12859 = add i32 %t12845, 1 store i32 %t12859, ptr %t12842 %t12860 = load ptr, ptr %t427 %t12861 = getelementptr inbounds %LSlice, ptr %t12860, i32 0, i32 1 %t12862 = getelementptr inbounds %LSlice, ptr %t12860, i32 0, i32 2 %t12863 = getelementptr inbounds %LSlice, ptr %t12860, i32 0, i32 0 %t12864 = load i32, ptr %t12861 %t12865 = load i32, ptr %t12862 %t12866 = icmp sge i32 %t12864, %t12865 br i1 %t12866, label %grow2616, label %put2617 grow2616: %t12867 = mul i32 %t12865, 2 %t12868 = icmp eq i32 %t12865, 0 %t12869 = select i1 %t12868, i32 8, i32 %t12867 %t12870 = getelementptr ptr, ptr null, i32 1 %t12871 = ptrtoint ptr %t12870 to i64 %t12872 = zext i32 %t12869 to i64 %t12873 = mul i64 %t12872, %t12871 %t12874 = load ptr, ptr %t12863 %t12875 = call ptr @realloc(ptr %t12874, i64 %t12873) store ptr %t12875, ptr %t12863 store i32 %t12869, ptr %t12862 br label %put2617 put2617: %t12876 = load ptr, ptr %t12863 %t12877 = getelementptr inbounds ptr, ptr %t12876, i32 %t12864 store ptr @.str8726, ptr %t12877 %t12878 = add i32 %t12864, 1 store i32 %t12878, ptr %t12861 br label %ifend2613 ifend2613: %t12879 = load ptr, ptr %t1 %t12880 = call i32 @lp_str_eq(ptr %t12879, ptr @.str8727) %t12881 = icmp ne i32 %t12880, 0 br i1 %t12881, label %then2618, label %ifend2620 then2618: store ptr @.str8728, ptr %t420 %t12882 = load ptr, ptr %t427 %t12883 = getelementptr inbounds %LSlice, ptr %t12882, i32 0, i32 1 %t12884 = getelementptr inbounds %LSlice, ptr %t12882, i32 0, i32 2 %t12885 = getelementptr inbounds %LSlice, ptr %t12882, i32 0, i32 0 %t12886 = load i32, ptr %t12883 %t12887 = load i32, ptr %t12884 %t12888 = icmp sge i32 %t12886, %t12887 br i1 %t12888, label %grow2621, label %put2622 grow2621: %t12889 = mul i32 %t12887, 2 %t12890 = icmp eq i32 %t12887, 0 %t12891 = select i1 %t12890, i32 8, i32 %t12889 %t12892 = getelementptr ptr, ptr null, i32 1 %t12893 = ptrtoint ptr %t12892 to i64 %t12894 = zext i32 %t12891 to i64 %t12895 = mul i64 %t12894, %t12893 %t12896 = load ptr, ptr %t12885 %t12897 = call ptr @realloc(ptr %t12896, i64 %t12895) store ptr %t12897, ptr %t12885 store i32 %t12891, ptr %t12884 br label %put2622 put2622: %t12898 = load ptr, ptr %t12885 %t12899 = getelementptr inbounds ptr, ptr %t12898, i32 %t12886 store ptr @.str8729, ptr %t12899 %t12900 = add i32 %t12886, 1 store i32 %t12900, ptr %t12883 %t12901 = load ptr, ptr %t427 %t12902 = getelementptr inbounds %LSlice, ptr %t12901, i32 0, i32 1 %t12903 = getelementptr inbounds %LSlice, ptr %t12901, i32 0, i32 2 %t12904 = getelementptr inbounds %LSlice, ptr %t12901, i32 0, i32 0 %t12905 = load i32, ptr %t12902 %t12906 = load i32, ptr %t12903 %t12907 = icmp sge i32 %t12905, %t12906 br i1 %t12907, label %grow2623, label %put2624 grow2623: %t12908 = mul i32 %t12906, 2 %t12909 = icmp eq i32 %t12906, 0 %t12910 = select i1 %t12909, i32 8, i32 %t12908 %t12911 = getelementptr ptr, ptr null, i32 1 %t12912 = ptrtoint ptr %t12911 to i64 %t12913 = zext i32 %t12910 to i64 %t12914 = mul i64 %t12913, %t12912 %t12915 = load ptr, ptr %t12904 %t12916 = call ptr @realloc(ptr %t12915, i64 %t12914) store ptr %t12916, ptr %t12904 store i32 %t12910, ptr %t12903 br label %put2624 put2624: %t12917 = load ptr, ptr %t12904 %t12918 = getelementptr inbounds ptr, ptr %t12917, i32 %t12905 store ptr @.str8730, ptr %t12918 %t12919 = add i32 %t12905, 1 store i32 %t12919, ptr %t12902 br label %ifend2620 ifend2620: %t12920 = load ptr, ptr %t1 %t12921 = call i32 @lp_str_eq(ptr %t12920, ptr @.str8731) %t12922 = icmp ne i32 %t12921, 0 br i1 %t12922, label %then2625, label %ifend2627 then2625: store ptr @.str8732, ptr %t420 %t12923 = load ptr, ptr %t427 %t12924 = getelementptr inbounds %LSlice, ptr %t12923, i32 0, i32 1 %t12925 = getelementptr inbounds %LSlice, ptr %t12923, i32 0, i32 2 %t12926 = getelementptr inbounds %LSlice, ptr %t12923, i32 0, i32 0 %t12927 = load i32, ptr %t12924 %t12928 = load i32, ptr %t12925 %t12929 = icmp sge i32 %t12927, %t12928 br i1 %t12929, label %grow2628, label %put2629 grow2628: %t12930 = mul i32 %t12928, 2 %t12931 = icmp eq i32 %t12928, 0 %t12932 = select i1 %t12931, i32 8, i32 %t12930 %t12933 = getelementptr ptr, ptr null, i32 1 %t12934 = ptrtoint ptr %t12933 to i64 %t12935 = zext i32 %t12932 to i64 %t12936 = mul i64 %t12935, %t12934 %t12937 = load ptr, ptr %t12926 %t12938 = call ptr @realloc(ptr %t12937, i64 %t12936) store ptr %t12938, ptr %t12926 store i32 %t12932, ptr %t12925 br label %put2629 put2629: %t12939 = load ptr, ptr %t12926 %t12940 = getelementptr inbounds ptr, ptr %t12939, i32 %t12927 store ptr @.str8733, ptr %t12940 %t12941 = add i32 %t12927, 1 store i32 %t12941, ptr %t12924 %t12942 = load ptr, ptr %t427 %t12943 = getelementptr inbounds %LSlice, ptr %t12942, i32 0, i32 1 %t12944 = getelementptr inbounds %LSlice, ptr %t12942, i32 0, i32 2 %t12945 = getelementptr inbounds %LSlice, ptr %t12942, i32 0, i32 0 %t12946 = load i32, ptr %t12943 %t12947 = load i32, ptr %t12944 %t12948 = icmp sge i32 %t12946, %t12947 br i1 %t12948, label %grow2630, label %put2631 grow2630: %t12949 = mul i32 %t12947, 2 %t12950 = icmp eq i32 %t12947, 0 %t12951 = select i1 %t12950, i32 8, i32 %t12949 %t12952 = getelementptr ptr, ptr null, i32 1 %t12953 = ptrtoint ptr %t12952 to i64 %t12954 = zext i32 %t12951 to i64 %t12955 = mul i64 %t12954, %t12953 %t12956 = load ptr, ptr %t12945 %t12957 = call ptr @realloc(ptr %t12956, i64 %t12955) store ptr %t12957, ptr %t12945 store i32 %t12951, ptr %t12944 br label %put2631 put2631: %t12958 = load ptr, ptr %t12945 %t12959 = getelementptr inbounds ptr, ptr %t12958, i32 %t12946 store ptr @.str8734, ptr %t12959 %t12960 = add i32 %t12946, 1 store i32 %t12960, ptr %t12943 %t12961 = load ptr, ptr %t427 %t12962 = getelementptr inbounds %LSlice, ptr %t12961, i32 0, i32 1 %t12963 = getelementptr inbounds %LSlice, ptr %t12961, i32 0, i32 2 %t12964 = getelementptr inbounds %LSlice, ptr %t12961, i32 0, i32 0 %t12965 = load i32, ptr %t12962 %t12966 = load i32, ptr %t12963 %t12967 = icmp sge i32 %t12965, %t12966 br i1 %t12967, label %grow2632, label %put2633 grow2632: %t12968 = mul i32 %t12966, 2 %t12969 = icmp eq i32 %t12966, 0 %t12970 = select i1 %t12969, i32 8, i32 %t12968 %t12971 = getelementptr ptr, ptr null, i32 1 %t12972 = ptrtoint ptr %t12971 to i64 %t12973 = zext i32 %t12970 to i64 %t12974 = mul i64 %t12973, %t12972 %t12975 = load ptr, ptr %t12964 %t12976 = call ptr @realloc(ptr %t12975, i64 %t12974) store ptr %t12976, ptr %t12964 store i32 %t12970, ptr %t12963 br label %put2633 put2633: %t12977 = load ptr, ptr %t12964 %t12978 = getelementptr inbounds ptr, ptr %t12977, i32 %t12965 store ptr @.str8735, ptr %t12978 %t12979 = add i32 %t12965, 1 store i32 %t12979, ptr %t12962 br label %ifend2627 ifend2627: %t12980 = load ptr, ptr %t1 %t12981 = call i32 @lp_str_eq(ptr %t12980, ptr @.str8736) %t12982 = icmp ne i32 %t12981, 0 br i1 %t12982, label %then2634, label %ifend2636 then2634: store ptr @.str8737, ptr %t420 %t12983 = load ptr, ptr %t427 %t12984 = getelementptr inbounds %LSlice, ptr %t12983, i32 0, i32 1 %t12985 = getelementptr inbounds %LSlice, ptr %t12983, i32 0, i32 2 %t12986 = getelementptr inbounds %LSlice, ptr %t12983, i32 0, i32 0 %t12987 = load i32, ptr %t12984 %t12988 = load i32, ptr %t12985 %t12989 = icmp sge i32 %t12987, %t12988 br i1 %t12989, label %grow2637, label %put2638 grow2637: %t12990 = mul i32 %t12988, 2 %t12991 = icmp eq i32 %t12988, 0 %t12992 = select i1 %t12991, i32 8, i32 %t12990 %t12993 = getelementptr ptr, ptr null, i32 1 %t12994 = ptrtoint ptr %t12993 to i64 %t12995 = zext i32 %t12992 to i64 %t12996 = mul i64 %t12995, %t12994 %t12997 = load ptr, ptr %t12986 %t12998 = call ptr @realloc(ptr %t12997, i64 %t12996) store ptr %t12998, ptr %t12986 store i32 %t12992, ptr %t12985 br label %put2638 put2638: %t12999 = load ptr, ptr %t12986 %t13000 = getelementptr inbounds ptr, ptr %t12999, i32 %t12987 store ptr @.str8738, ptr %t13000 %t13001 = add i32 %t12987, 1 store i32 %t13001, ptr %t12984 %t13002 = load ptr, ptr %t427 %t13003 = getelementptr inbounds %LSlice, ptr %t13002, i32 0, i32 1 %t13004 = getelementptr inbounds %LSlice, ptr %t13002, i32 0, i32 2 %t13005 = getelementptr inbounds %LSlice, ptr %t13002, i32 0, i32 0 %t13006 = load i32, ptr %t13003 %t13007 = load i32, ptr %t13004 %t13008 = icmp sge i32 %t13006, %t13007 br i1 %t13008, label %grow2639, label %put2640 grow2639: %t13009 = mul i32 %t13007, 2 %t13010 = icmp eq i32 %t13007, 0 %t13011 = select i1 %t13010, i32 8, i32 %t13009 %t13012 = getelementptr ptr, ptr null, i32 1 %t13013 = ptrtoint ptr %t13012 to i64 %t13014 = zext i32 %t13011 to i64 %t13015 = mul i64 %t13014, %t13013 %t13016 = load ptr, ptr %t13005 %t13017 = call ptr @realloc(ptr %t13016, i64 %t13015) store ptr %t13017, ptr %t13005 store i32 %t13011, ptr %t13004 br label %put2640 put2640: %t13018 = load ptr, ptr %t13005 %t13019 = getelementptr inbounds ptr, ptr %t13018, i32 %t13006 store ptr @.str8739, ptr %t13019 %t13020 = add i32 %t13006, 1 store i32 %t13020, ptr %t13003 %t13021 = load ptr, ptr %t427 %t13022 = getelementptr inbounds %LSlice, ptr %t13021, i32 0, i32 1 %t13023 = getelementptr inbounds %LSlice, ptr %t13021, i32 0, i32 2 %t13024 = getelementptr inbounds %LSlice, ptr %t13021, i32 0, i32 0 %t13025 = load i32, ptr %t13022 %t13026 = load i32, ptr %t13023 %t13027 = icmp sge i32 %t13025, %t13026 br i1 %t13027, label %grow2641, label %put2642 grow2641: %t13028 = mul i32 %t13026, 2 %t13029 = icmp eq i32 %t13026, 0 %t13030 = select i1 %t13029, i32 8, i32 %t13028 %t13031 = getelementptr ptr, ptr null, i32 1 %t13032 = ptrtoint ptr %t13031 to i64 %t13033 = zext i32 %t13030 to i64 %t13034 = mul i64 %t13033, %t13032 %t13035 = load ptr, ptr %t13024 %t13036 = call ptr @realloc(ptr %t13035, i64 %t13034) store ptr %t13036, ptr %t13024 store i32 %t13030, ptr %t13023 br label %put2642 put2642: %t13037 = load ptr, ptr %t13024 %t13038 = getelementptr inbounds ptr, ptr %t13037, i32 %t13025 store ptr @.str8740, ptr %t13038 %t13039 = add i32 %t13025, 1 store i32 %t13039, ptr %t13022 %t13040 = load ptr, ptr %t427 %t13041 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 1 %t13042 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 2 %t13043 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 0 %t13044 = load i32, ptr %t13041 %t13045 = load i32, ptr %t13042 %t13046 = icmp sge i32 %t13044, %t13045 br i1 %t13046, label %grow2643, label %put2644 grow2643: %t13047 = mul i32 %t13045, 2 %t13048 = icmp eq i32 %t13045, 0 %t13049 = select i1 %t13048, i32 8, i32 %t13047 %t13050 = getelementptr ptr, ptr null, i32 1 %t13051 = ptrtoint ptr %t13050 to i64 %t13052 = zext i32 %t13049 to i64 %t13053 = mul i64 %t13052, %t13051 %t13054 = load ptr, ptr %t13043 %t13055 = call ptr @realloc(ptr %t13054, i64 %t13053) store ptr %t13055, ptr %t13043 store i32 %t13049, ptr %t13042 br label %put2644 put2644: %t13056 = load ptr, ptr %t13043 %t13057 = getelementptr inbounds ptr, ptr %t13056, i32 %t13044 store ptr @.str8741, ptr %t13057 %t13058 = add i32 %t13044, 1 store i32 %t13058, ptr %t13041 br label %ifend2636 ifend2636: %t13059 = load ptr, ptr %t1 %t13060 = call i32 @lp_str_eq(ptr %t13059, ptr @.str8742) %t13061 = icmp ne i32 %t13060, 0 br i1 %t13061, label %then2645, label %ifend2647 then2645: store ptr @.str8743, ptr %t420 %t13062 = load ptr, ptr %t427 %t13063 = getelementptr inbounds %LSlice, ptr %t13062, i32 0, i32 1 %t13064 = getelementptr inbounds %LSlice, ptr %t13062, i32 0, i32 2 %t13065 = getelementptr inbounds %LSlice, ptr %t13062, i32 0, i32 0 %t13066 = load i32, ptr %t13063 %t13067 = load i32, ptr %t13064 %t13068 = icmp sge i32 %t13066, %t13067 br i1 %t13068, label %grow2648, label %put2649 grow2648: %t13069 = mul i32 %t13067, 2 %t13070 = icmp eq i32 %t13067, 0 %t13071 = select i1 %t13070, i32 8, i32 %t13069 %t13072 = getelementptr ptr, ptr null, i32 1 %t13073 = ptrtoint ptr %t13072 to i64 %t13074 = zext i32 %t13071 to i64 %t13075 = mul i64 %t13074, %t13073 %t13076 = load ptr, ptr %t13065 %t13077 = call ptr @realloc(ptr %t13076, i64 %t13075) store ptr %t13077, ptr %t13065 store i32 %t13071, ptr %t13064 br label %put2649 put2649: %t13078 = load ptr, ptr %t13065 %t13079 = getelementptr inbounds ptr, ptr %t13078, i32 %t13066 store ptr @.str8744, ptr %t13079 %t13080 = add i32 %t13066, 1 store i32 %t13080, ptr %t13063 %t13081 = load ptr, ptr %t427 %t13082 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 1 %t13083 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 2 %t13084 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 0 %t13085 = load i32, ptr %t13082 %t13086 = load i32, ptr %t13083 %t13087 = icmp sge i32 %t13085, %t13086 br i1 %t13087, label %grow2650, label %put2651 grow2650: %t13088 = mul i32 %t13086, 2 %t13089 = icmp eq i32 %t13086, 0 %t13090 = select i1 %t13089, i32 8, i32 %t13088 %t13091 = getelementptr ptr, ptr null, i32 1 %t13092 = ptrtoint ptr %t13091 to i64 %t13093 = zext i32 %t13090 to i64 %t13094 = mul i64 %t13093, %t13092 %t13095 = load ptr, ptr %t13084 %t13096 = call ptr @realloc(ptr %t13095, i64 %t13094) store ptr %t13096, ptr %t13084 store i32 %t13090, ptr %t13083 br label %put2651 put2651: %t13097 = load ptr, ptr %t13084 %t13098 = getelementptr inbounds ptr, ptr %t13097, i32 %t13085 store ptr @.str8745, ptr %t13098 %t13099 = add i32 %t13085, 1 store i32 %t13099, ptr %t13082 br label %ifend2647 ifend2647: %t13100 = load ptr, ptr %t1 %t13101 = call i32 @lp_str_eq(ptr %t13100, ptr @.str8746) %t13102 = icmp ne i32 %t13101, 0 br i1 %t13102, label %then2652, label %ifend2654 then2652: store ptr @.str8747, ptr %t420 %t13103 = load ptr, ptr %t427 %t13104 = getelementptr inbounds %LSlice, ptr %t13103, i32 0, i32 1 %t13105 = getelementptr inbounds %LSlice, ptr %t13103, i32 0, i32 2 %t13106 = getelementptr inbounds %LSlice, ptr %t13103, i32 0, i32 0 %t13107 = load i32, ptr %t13104 %t13108 = load i32, ptr %t13105 %t13109 = icmp sge i32 %t13107, %t13108 br i1 %t13109, label %grow2655, label %put2656 grow2655: %t13110 = mul i32 %t13108, 2 %t13111 = icmp eq i32 %t13108, 0 %t13112 = select i1 %t13111, i32 8, i32 %t13110 %t13113 = getelementptr ptr, ptr null, i32 1 %t13114 = ptrtoint ptr %t13113 to i64 %t13115 = zext i32 %t13112 to i64 %t13116 = mul i64 %t13115, %t13114 %t13117 = load ptr, ptr %t13106 %t13118 = call ptr @realloc(ptr %t13117, i64 %t13116) store ptr %t13118, ptr %t13106 store i32 %t13112, ptr %t13105 br label %put2656 put2656: %t13119 = load ptr, ptr %t13106 %t13120 = getelementptr inbounds ptr, ptr %t13119, i32 %t13107 store ptr @.str8748, ptr %t13120 %t13121 = add i32 %t13107, 1 store i32 %t13121, ptr %t13104 br label %ifend2654 ifend2654: %t13122 = load ptr, ptr %t1 %t13123 = call i32 @lp_str_eq(ptr %t13122, ptr @.str8749) %t13124 = icmp ne i32 %t13123, 0 br i1 %t13124, label %then2657, label %ifend2659 then2657: store ptr @.str8750, ptr %t420 %t13125 = load ptr, ptr %t427 %t13126 = getelementptr inbounds %LSlice, ptr %t13125, i32 0, i32 1 %t13127 = getelementptr inbounds %LSlice, ptr %t13125, i32 0, i32 2 %t13128 = getelementptr inbounds %LSlice, ptr %t13125, i32 0, i32 0 %t13129 = load i32, ptr %t13126 %t13130 = load i32, ptr %t13127 %t13131 = icmp sge i32 %t13129, %t13130 br i1 %t13131, label %grow2660, label %put2661 grow2660: %t13132 = mul i32 %t13130, 2 %t13133 = icmp eq i32 %t13130, 0 %t13134 = select i1 %t13133, i32 8, i32 %t13132 %t13135 = getelementptr ptr, ptr null, i32 1 %t13136 = ptrtoint ptr %t13135 to i64 %t13137 = zext i32 %t13134 to i64 %t13138 = mul i64 %t13137, %t13136 %t13139 = load ptr, ptr %t13128 %t13140 = call ptr @realloc(ptr %t13139, i64 %t13138) store ptr %t13140, ptr %t13128 store i32 %t13134, ptr %t13127 br label %put2661 put2661: %t13141 = load ptr, ptr %t13128 %t13142 = getelementptr inbounds ptr, ptr %t13141, i32 %t13129 store ptr @.str8751, ptr %t13142 %t13143 = add i32 %t13129, 1 store i32 %t13143, ptr %t13126 br label %ifend2659 ifend2659: %t13144 = load ptr, ptr %t1 %t13145 = call i32 @lp_str_eq(ptr %t13144, ptr @.str8752) %t13146 = icmp ne i32 %t13145, 0 br i1 %t13146, label %then2662, label %ifend2664 then2662: store ptr @.str8753, ptr %t420 %t13147 = load ptr, ptr %t427 %t13148 = getelementptr inbounds %LSlice, ptr %t13147, i32 0, i32 1 %t13149 = getelementptr inbounds %LSlice, ptr %t13147, i32 0, i32 2 %t13150 = getelementptr inbounds %LSlice, ptr %t13147, i32 0, i32 0 %t13151 = load i32, ptr %t13148 %t13152 = load i32, ptr %t13149 %t13153 = icmp sge i32 %t13151, %t13152 br i1 %t13153, label %grow2665, label %put2666 grow2665: %t13154 = mul i32 %t13152, 2 %t13155 = icmp eq i32 %t13152, 0 %t13156 = select i1 %t13155, i32 8, i32 %t13154 %t13157 = getelementptr ptr, ptr null, i32 1 %t13158 = ptrtoint ptr %t13157 to i64 %t13159 = zext i32 %t13156 to i64 %t13160 = mul i64 %t13159, %t13158 %t13161 = load ptr, ptr %t13150 %t13162 = call ptr @realloc(ptr %t13161, i64 %t13160) store ptr %t13162, ptr %t13150 store i32 %t13156, ptr %t13149 br label %put2666 put2666: %t13163 = load ptr, ptr %t13150 %t13164 = getelementptr inbounds ptr, ptr %t13163, i32 %t13151 store ptr @.str8754, ptr %t13164 %t13165 = add i32 %t13151, 1 store i32 %t13165, ptr %t13148 br label %ifend2664 ifend2664: %t13166 = load ptr, ptr %t1 %t13167 = call i32 @lp_str_eq(ptr %t13166, ptr @.str8755) %t13168 = icmp ne i32 %t13167, 0 br i1 %t13168, label %then2667, label %ifend2669 then2667: store ptr @.str8756, ptr %t420 %t13169 = load ptr, ptr %t427 %t13170 = getelementptr inbounds %LSlice, ptr %t13169, i32 0, i32 1 %t13171 = getelementptr inbounds %LSlice, ptr %t13169, i32 0, i32 2 %t13172 = getelementptr inbounds %LSlice, ptr %t13169, i32 0, i32 0 %t13173 = load i32, ptr %t13170 %t13174 = load i32, ptr %t13171 %t13175 = icmp sge i32 %t13173, %t13174 br i1 %t13175, label %grow2670, label %put2671 grow2670: %t13176 = mul i32 %t13174, 2 %t13177 = icmp eq i32 %t13174, 0 %t13178 = select i1 %t13177, i32 8, i32 %t13176 %t13179 = getelementptr ptr, ptr null, i32 1 %t13180 = ptrtoint ptr %t13179 to i64 %t13181 = zext i32 %t13178 to i64 %t13182 = mul i64 %t13181, %t13180 %t13183 = load ptr, ptr %t13172 %t13184 = call ptr @realloc(ptr %t13183, i64 %t13182) store ptr %t13184, ptr %t13172 store i32 %t13178, ptr %t13171 br label %put2671 put2671: %t13185 = load ptr, ptr %t13172 %t13186 = getelementptr inbounds ptr, ptr %t13185, i32 %t13173 store ptr @.str8757, ptr %t13186 %t13187 = add i32 %t13173, 1 store i32 %t13187, ptr %t13170 %t13188 = load ptr, ptr %t427 %t13189 = getelementptr inbounds %LSlice, ptr %t13188, i32 0, i32 1 %t13190 = getelementptr inbounds %LSlice, ptr %t13188, i32 0, i32 2 %t13191 = getelementptr inbounds %LSlice, ptr %t13188, i32 0, i32 0 %t13192 = load i32, ptr %t13189 %t13193 = load i32, ptr %t13190 %t13194 = icmp sge i32 %t13192, %t13193 br i1 %t13194, label %grow2672, label %put2673 grow2672: %t13195 = mul i32 %t13193, 2 %t13196 = icmp eq i32 %t13193, 0 %t13197 = select i1 %t13196, i32 8, i32 %t13195 %t13198 = getelementptr ptr, ptr null, i32 1 %t13199 = ptrtoint ptr %t13198 to i64 %t13200 = zext i32 %t13197 to i64 %t13201 = mul i64 %t13200, %t13199 %t13202 = load ptr, ptr %t13191 %t13203 = call ptr @realloc(ptr %t13202, i64 %t13201) store ptr %t13203, ptr %t13191 store i32 %t13197, ptr %t13190 br label %put2673 put2673: %t13204 = load ptr, ptr %t13191 %t13205 = getelementptr inbounds ptr, ptr %t13204, i32 %t13192 store ptr @.str8758, ptr %t13205 %t13206 = add i32 %t13192, 1 store i32 %t13206, ptr %t13189 br label %ifend2669 ifend2669: br label %ifend2585 ifend2585: %t13207 = load ptr, ptr %t0 %t13208 = call i32 @lp_str_eq(ptr %t13207, ptr @.str8759) %t13209 = icmp ne i32 %t13208, 0 br i1 %t13209, label %then2674, label %ifend2676 then2674: %t13210 = load ptr, ptr %t1 %t13211 = call i32 @lp_str_eq(ptr %t13210, ptr @.str8760) %t13212 = icmp ne i32 %t13211, 0 br i1 %t13212, label %then2677, label %ifend2679 then2677: store ptr @.str8761, ptr %t420 br label %ifend2679 ifend2679: %t13213 = load ptr, ptr %t1 %t13214 = call i32 @lp_str_eq(ptr %t13213, ptr @.str8762) %t13215 = icmp ne i32 %t13214, 0 br i1 %t13215, label %then2680, label %ifend2682 then2680: store ptr @.str8763, ptr %t420 %t13216 = load ptr, ptr %t427 %t13217 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 1 %t13218 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 2 %t13219 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 0 %t13220 = load i32, ptr %t13217 %t13221 = load i32, ptr %t13218 %t13222 = icmp sge i32 %t13220, %t13221 br i1 %t13222, label %grow2683, label %put2684 grow2683: %t13223 = mul i32 %t13221, 2 %t13224 = icmp eq i32 %t13221, 0 %t13225 = select i1 %t13224, i32 8, i32 %t13223 %t13226 = getelementptr ptr, ptr null, i32 1 %t13227 = ptrtoint ptr %t13226 to i64 %t13228 = zext i32 %t13225 to i64 %t13229 = mul i64 %t13228, %t13227 %t13230 = load ptr, ptr %t13219 %t13231 = call ptr @realloc(ptr %t13230, i64 %t13229) store ptr %t13231, ptr %t13219 store i32 %t13225, ptr %t13218 br label %put2684 put2684: %t13232 = load ptr, ptr %t13219 %t13233 = getelementptr inbounds ptr, ptr %t13232, i32 %t13220 store ptr @.str8764, ptr %t13233 %t13234 = add i32 %t13220, 1 store i32 %t13234, ptr %t13217 br label %ifend2682 ifend2682: %t13235 = load ptr, ptr %t1 %t13236 = call i32 @lp_str_eq(ptr %t13235, ptr @.str8765) %t13237 = icmp ne i32 %t13236, 0 br i1 %t13237, label %then2685, label %ifend2687 then2685: store ptr @.str8766, ptr %t420 %t13238 = load ptr, ptr %t427 %t13239 = getelementptr inbounds %LSlice, ptr %t13238, i32 0, i32 1 %t13240 = getelementptr inbounds %LSlice, ptr %t13238, i32 0, i32 2 %t13241 = getelementptr inbounds %LSlice, ptr %t13238, i32 0, i32 0 %t13242 = load i32, ptr %t13239 %t13243 = load i32, ptr %t13240 %t13244 = icmp sge i32 %t13242, %t13243 br i1 %t13244, label %grow2688, label %put2689 grow2688: %t13245 = mul i32 %t13243, 2 %t13246 = icmp eq i32 %t13243, 0 %t13247 = select i1 %t13246, i32 8, i32 %t13245 %t13248 = getelementptr ptr, ptr null, i32 1 %t13249 = ptrtoint ptr %t13248 to i64 %t13250 = zext i32 %t13247 to i64 %t13251 = mul i64 %t13250, %t13249 %t13252 = load ptr, ptr %t13241 %t13253 = call ptr @realloc(ptr %t13252, i64 %t13251) store ptr %t13253, ptr %t13241 store i32 %t13247, ptr %t13240 br label %put2689 put2689: %t13254 = load ptr, ptr %t13241 %t13255 = getelementptr inbounds ptr, ptr %t13254, i32 %t13242 store ptr @.str8767, ptr %t13255 %t13256 = add i32 %t13242, 1 store i32 %t13256, ptr %t13239 br label %ifend2687 ifend2687: %t13257 = load ptr, ptr %t1 %t13258 = call i32 @lp_str_eq(ptr %t13257, ptr @.str8768) %t13259 = icmp ne i32 %t13258, 0 br i1 %t13259, label %then2690, label %ifend2692 then2690: store ptr @.str8769, ptr %t420 %t13260 = load ptr, ptr %t427 %t13261 = getelementptr inbounds %LSlice, ptr %t13260, i32 0, i32 1 %t13262 = getelementptr inbounds %LSlice, ptr %t13260, i32 0, i32 2 %t13263 = getelementptr inbounds %LSlice, ptr %t13260, i32 0, i32 0 %t13264 = load i32, ptr %t13261 %t13265 = load i32, ptr %t13262 %t13266 = icmp sge i32 %t13264, %t13265 br i1 %t13266, label %grow2693, label %put2694 grow2693: %t13267 = mul i32 %t13265, 2 %t13268 = icmp eq i32 %t13265, 0 %t13269 = select i1 %t13268, i32 8, i32 %t13267 %t13270 = getelementptr ptr, ptr null, i32 1 %t13271 = ptrtoint ptr %t13270 to i64 %t13272 = zext i32 %t13269 to i64 %t13273 = mul i64 %t13272, %t13271 %t13274 = load ptr, ptr %t13263 %t13275 = call ptr @realloc(ptr %t13274, i64 %t13273) store ptr %t13275, ptr %t13263 store i32 %t13269, ptr %t13262 br label %put2694 put2694: %t13276 = load ptr, ptr %t13263 %t13277 = getelementptr inbounds ptr, ptr %t13276, i32 %t13264 store ptr @.str8770, ptr %t13277 %t13278 = add i32 %t13264, 1 store i32 %t13278, ptr %t13261 br label %ifend2692 ifend2692: %t13279 = load ptr, ptr %t1 %t13280 = call i32 @lp_str_eq(ptr %t13279, ptr @.str8771) %t13281 = icmp ne i32 %t13280, 0 br i1 %t13281, label %then2695, label %ifend2697 then2695: store ptr @.str8772, ptr %t420 %t13282 = load ptr, ptr %t427 %t13283 = getelementptr inbounds %LSlice, ptr %t13282, i32 0, i32 1 %t13284 = getelementptr inbounds %LSlice, ptr %t13282, i32 0, i32 2 %t13285 = getelementptr inbounds %LSlice, ptr %t13282, i32 0, i32 0 %t13286 = load i32, ptr %t13283 %t13287 = load i32, ptr %t13284 %t13288 = icmp sge i32 %t13286, %t13287 br i1 %t13288, label %grow2698, label %put2699 grow2698: %t13289 = mul i32 %t13287, 2 %t13290 = icmp eq i32 %t13287, 0 %t13291 = select i1 %t13290, i32 8, i32 %t13289 %t13292 = getelementptr ptr, ptr null, i32 1 %t13293 = ptrtoint ptr %t13292 to i64 %t13294 = zext i32 %t13291 to i64 %t13295 = mul i64 %t13294, %t13293 %t13296 = load ptr, ptr %t13285 %t13297 = call ptr @realloc(ptr %t13296, i64 %t13295) store ptr %t13297, ptr %t13285 store i32 %t13291, ptr %t13284 br label %put2699 put2699: %t13298 = load ptr, ptr %t13285 %t13299 = getelementptr inbounds ptr, ptr %t13298, i32 %t13286 store ptr @.str8773, ptr %t13299 %t13300 = add i32 %t13286, 1 store i32 %t13300, ptr %t13283 br label %ifend2697 ifend2697: %t13301 = load ptr, ptr %t1 %t13302 = call i32 @lp_str_eq(ptr %t13301, ptr @.str8774) %t13303 = icmp ne i32 %t13302, 0 br i1 %t13303, label %then2700, label %ifend2702 then2700: store ptr @.str8775, ptr %t420 br label %ifend2702 ifend2702: %t13304 = load ptr, ptr %t1 %t13305 = call i32 @lp_str_eq(ptr %t13304, ptr @.str8776) %t13306 = icmp ne i32 %t13305, 0 br i1 %t13306, label %then2703, label %ifend2705 then2703: store ptr @.str8777, ptr %t420 br label %ifend2705 ifend2705: %t13307 = load ptr, ptr %t1 %t13308 = call i32 @lp_str_eq(ptr %t13307, ptr @.str8778) %t13309 = icmp ne i32 %t13308, 0 br i1 %t13309, label %then2706, label %ifend2708 then2706: store ptr @.str8779, ptr %t420 %t13310 = load ptr, ptr %t427 %t13311 = getelementptr inbounds %LSlice, ptr %t13310, i32 0, i32 1 %t13312 = getelementptr inbounds %LSlice, ptr %t13310, i32 0, i32 2 %t13313 = getelementptr inbounds %LSlice, ptr %t13310, i32 0, i32 0 %t13314 = load i32, ptr %t13311 %t13315 = load i32, ptr %t13312 %t13316 = icmp sge i32 %t13314, %t13315 br i1 %t13316, label %grow2709, label %put2710 grow2709: %t13317 = mul i32 %t13315, 2 %t13318 = icmp eq i32 %t13315, 0 %t13319 = select i1 %t13318, i32 8, i32 %t13317 %t13320 = getelementptr ptr, ptr null, i32 1 %t13321 = ptrtoint ptr %t13320 to i64 %t13322 = zext i32 %t13319 to i64 %t13323 = mul i64 %t13322, %t13321 %t13324 = load ptr, ptr %t13313 %t13325 = call ptr @realloc(ptr %t13324, i64 %t13323) store ptr %t13325, ptr %t13313 store i32 %t13319, ptr %t13312 br label %put2710 put2710: %t13326 = load ptr, ptr %t13313 %t13327 = getelementptr inbounds ptr, ptr %t13326, i32 %t13314 store ptr @.str8780, ptr %t13327 %t13328 = add i32 %t13314, 1 store i32 %t13328, ptr %t13311 %t13329 = load ptr, ptr %t427 %t13330 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 1 %t13331 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 2 %t13332 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 0 %t13333 = load i32, ptr %t13330 %t13334 = load i32, ptr %t13331 %t13335 = icmp sge i32 %t13333, %t13334 br i1 %t13335, label %grow2711, label %put2712 grow2711: %t13336 = mul i32 %t13334, 2 %t13337 = icmp eq i32 %t13334, 0 %t13338 = select i1 %t13337, i32 8, i32 %t13336 %t13339 = getelementptr ptr, ptr null, i32 1 %t13340 = ptrtoint ptr %t13339 to i64 %t13341 = zext i32 %t13338 to i64 %t13342 = mul i64 %t13341, %t13340 %t13343 = load ptr, ptr %t13332 %t13344 = call ptr @realloc(ptr %t13343, i64 %t13342) store ptr %t13344, ptr %t13332 store i32 %t13338, ptr %t13331 br label %put2712 put2712: %t13345 = load ptr, ptr %t13332 %t13346 = getelementptr inbounds ptr, ptr %t13345, i32 %t13333 store ptr @.str8781, ptr %t13346 %t13347 = add i32 %t13333, 1 store i32 %t13347, ptr %t13330 br label %ifend2708 ifend2708: %t13348 = load ptr, ptr %t1 %t13349 = call i32 @lp_str_eq(ptr %t13348, ptr @.str8782) %t13350 = icmp ne i32 %t13349, 0 br i1 %t13350, label %then2713, label %ifend2715 then2713: store ptr @.str8783, ptr %t420 %t13351 = load ptr, ptr %t427 %t13352 = getelementptr inbounds %LSlice, ptr %t13351, i32 0, i32 1 %t13353 = getelementptr inbounds %LSlice, ptr %t13351, i32 0, i32 2 %t13354 = getelementptr inbounds %LSlice, ptr %t13351, i32 0, i32 0 %t13355 = load i32, ptr %t13352 %t13356 = load i32, ptr %t13353 %t13357 = icmp sge i32 %t13355, %t13356 br i1 %t13357, label %grow2716, label %put2717 grow2716: %t13358 = mul i32 %t13356, 2 %t13359 = icmp eq i32 %t13356, 0 %t13360 = select i1 %t13359, i32 8, i32 %t13358 %t13361 = getelementptr ptr, ptr null, i32 1 %t13362 = ptrtoint ptr %t13361 to i64 %t13363 = zext i32 %t13360 to i64 %t13364 = mul i64 %t13363, %t13362 %t13365 = load ptr, ptr %t13354 %t13366 = call ptr @realloc(ptr %t13365, i64 %t13364) store ptr %t13366, ptr %t13354 store i32 %t13360, ptr %t13353 br label %put2717 put2717: %t13367 = load ptr, ptr %t13354 %t13368 = getelementptr inbounds ptr, ptr %t13367, i32 %t13355 store ptr @.str8784, ptr %t13368 %t13369 = add i32 %t13355, 1 store i32 %t13369, ptr %t13352 %t13370 = load ptr, ptr %t427 %t13371 = getelementptr inbounds %LSlice, ptr %t13370, i32 0, i32 1 %t13372 = getelementptr inbounds %LSlice, ptr %t13370, i32 0, i32 2 %t13373 = getelementptr inbounds %LSlice, ptr %t13370, i32 0, i32 0 %t13374 = load i32, ptr %t13371 %t13375 = load i32, ptr %t13372 %t13376 = icmp sge i32 %t13374, %t13375 br i1 %t13376, label %grow2718, label %put2719 grow2718: %t13377 = mul i32 %t13375, 2 %t13378 = icmp eq i32 %t13375, 0 %t13379 = select i1 %t13378, i32 8, i32 %t13377 %t13380 = getelementptr ptr, ptr null, i32 1 %t13381 = ptrtoint ptr %t13380 to i64 %t13382 = zext i32 %t13379 to i64 %t13383 = mul i64 %t13382, %t13381 %t13384 = load ptr, ptr %t13373 %t13385 = call ptr @realloc(ptr %t13384, i64 %t13383) store ptr %t13385, ptr %t13373 store i32 %t13379, ptr %t13372 br label %put2719 put2719: %t13386 = load ptr, ptr %t13373 %t13387 = getelementptr inbounds ptr, ptr %t13386, i32 %t13374 store ptr @.str8785, ptr %t13387 %t13388 = add i32 %t13374, 1 store i32 %t13388, ptr %t13371 %t13389 = load ptr, ptr %t427 %t13390 = getelementptr inbounds %LSlice, ptr %t13389, i32 0, i32 1 %t13391 = getelementptr inbounds %LSlice, ptr %t13389, i32 0, i32 2 %t13392 = getelementptr inbounds %LSlice, ptr %t13389, i32 0, i32 0 %t13393 = load i32, ptr %t13390 %t13394 = load i32, ptr %t13391 %t13395 = icmp sge i32 %t13393, %t13394 br i1 %t13395, label %grow2720, label %put2721 grow2720: %t13396 = mul i32 %t13394, 2 %t13397 = icmp eq i32 %t13394, 0 %t13398 = select i1 %t13397, i32 8, i32 %t13396 %t13399 = getelementptr ptr, ptr null, i32 1 %t13400 = ptrtoint ptr %t13399 to i64 %t13401 = zext i32 %t13398 to i64 %t13402 = mul i64 %t13401, %t13400 %t13403 = load ptr, ptr %t13392 %t13404 = call ptr @realloc(ptr %t13403, i64 %t13402) store ptr %t13404, ptr %t13392 store i32 %t13398, ptr %t13391 br label %put2721 put2721: %t13405 = load ptr, ptr %t13392 %t13406 = getelementptr inbounds ptr, ptr %t13405, i32 %t13393 store ptr @.str8786, ptr %t13406 %t13407 = add i32 %t13393, 1 store i32 %t13407, ptr %t13390 br label %ifend2715 ifend2715: %t13408 = load ptr, ptr %t1 %t13409 = call i32 @lp_str_eq(ptr %t13408, ptr @.str8787) %t13410 = icmp ne i32 %t13409, 0 br i1 %t13410, label %then2722, label %ifend2724 then2722: store ptr @.str8788, ptr %t420 %t13411 = load ptr, ptr %t427 %t13412 = getelementptr inbounds %LSlice, ptr %t13411, i32 0, i32 1 %t13413 = getelementptr inbounds %LSlice, ptr %t13411, i32 0, i32 2 %t13414 = getelementptr inbounds %LSlice, ptr %t13411, i32 0, i32 0 %t13415 = load i32, ptr %t13412 %t13416 = load i32, ptr %t13413 %t13417 = icmp sge i32 %t13415, %t13416 br i1 %t13417, label %grow2725, label %put2726 grow2725: %t13418 = mul i32 %t13416, 2 %t13419 = icmp eq i32 %t13416, 0 %t13420 = select i1 %t13419, i32 8, i32 %t13418 %t13421 = getelementptr ptr, ptr null, i32 1 %t13422 = ptrtoint ptr %t13421 to i64 %t13423 = zext i32 %t13420 to i64 %t13424 = mul i64 %t13423, %t13422 %t13425 = load ptr, ptr %t13414 %t13426 = call ptr @realloc(ptr %t13425, i64 %t13424) store ptr %t13426, ptr %t13414 store i32 %t13420, ptr %t13413 br label %put2726 put2726: %t13427 = load ptr, ptr %t13414 %t13428 = getelementptr inbounds ptr, ptr %t13427, i32 %t13415 store ptr @.str8789, ptr %t13428 %t13429 = add i32 %t13415, 1 store i32 %t13429, ptr %t13412 %t13430 = load ptr, ptr %t427 %t13431 = getelementptr inbounds %LSlice, ptr %t13430, i32 0, i32 1 %t13432 = getelementptr inbounds %LSlice, ptr %t13430, i32 0, i32 2 %t13433 = getelementptr inbounds %LSlice, ptr %t13430, i32 0, i32 0 %t13434 = load i32, ptr %t13431 %t13435 = load i32, ptr %t13432 %t13436 = icmp sge i32 %t13434, %t13435 br i1 %t13436, label %grow2727, label %put2728 grow2727: %t13437 = mul i32 %t13435, 2 %t13438 = icmp eq i32 %t13435, 0 %t13439 = select i1 %t13438, i32 8, i32 %t13437 %t13440 = getelementptr ptr, ptr null, i32 1 %t13441 = ptrtoint ptr %t13440 to i64 %t13442 = zext i32 %t13439 to i64 %t13443 = mul i64 %t13442, %t13441 %t13444 = load ptr, ptr %t13433 %t13445 = call ptr @realloc(ptr %t13444, i64 %t13443) store ptr %t13445, ptr %t13433 store i32 %t13439, ptr %t13432 br label %put2728 put2728: %t13446 = load ptr, ptr %t13433 %t13447 = getelementptr inbounds ptr, ptr %t13446, i32 %t13434 store ptr @.str8790, ptr %t13447 %t13448 = add i32 %t13434, 1 store i32 %t13448, ptr %t13431 br label %ifend2724 ifend2724: %t13449 = load ptr, ptr %t1 %t13450 = call i32 @lp_str_eq(ptr %t13449, ptr @.str8791) %t13451 = icmp ne i32 %t13450, 0 br i1 %t13451, label %then2729, label %ifend2731 then2729: store ptr @.str8792, ptr %t420 %t13452 = load ptr, ptr %t427 %t13453 = getelementptr inbounds %LSlice, ptr %t13452, i32 0, i32 1 %t13454 = getelementptr inbounds %LSlice, ptr %t13452, i32 0, i32 2 %t13455 = getelementptr inbounds %LSlice, ptr %t13452, i32 0, i32 0 %t13456 = load i32, ptr %t13453 %t13457 = load i32, ptr %t13454 %t13458 = icmp sge i32 %t13456, %t13457 br i1 %t13458, label %grow2732, label %put2733 grow2732: %t13459 = mul i32 %t13457, 2 %t13460 = icmp eq i32 %t13457, 0 %t13461 = select i1 %t13460, i32 8, i32 %t13459 %t13462 = getelementptr ptr, ptr null, i32 1 %t13463 = ptrtoint ptr %t13462 to i64 %t13464 = zext i32 %t13461 to i64 %t13465 = mul i64 %t13464, %t13463 %t13466 = load ptr, ptr %t13455 %t13467 = call ptr @realloc(ptr %t13466, i64 %t13465) store ptr %t13467, ptr %t13455 store i32 %t13461, ptr %t13454 br label %put2733 put2733: %t13468 = load ptr, ptr %t13455 %t13469 = getelementptr inbounds ptr, ptr %t13468, i32 %t13456 store ptr @.str8793, ptr %t13469 %t13470 = add i32 %t13456, 1 store i32 %t13470, ptr %t13453 %t13471 = load ptr, ptr %t427 %t13472 = getelementptr inbounds %LSlice, ptr %t13471, i32 0, i32 1 %t13473 = getelementptr inbounds %LSlice, ptr %t13471, i32 0, i32 2 %t13474 = getelementptr inbounds %LSlice, ptr %t13471, i32 0, i32 0 %t13475 = load i32, ptr %t13472 %t13476 = load i32, ptr %t13473 %t13477 = icmp sge i32 %t13475, %t13476 br i1 %t13477, label %grow2734, label %put2735 grow2734: %t13478 = mul i32 %t13476, 2 %t13479 = icmp eq i32 %t13476, 0 %t13480 = select i1 %t13479, i32 8, i32 %t13478 %t13481 = getelementptr ptr, ptr null, i32 1 %t13482 = ptrtoint ptr %t13481 to i64 %t13483 = zext i32 %t13480 to i64 %t13484 = mul i64 %t13483, %t13482 %t13485 = load ptr, ptr %t13474 %t13486 = call ptr @realloc(ptr %t13485, i64 %t13484) store ptr %t13486, ptr %t13474 store i32 %t13480, ptr %t13473 br label %put2735 put2735: %t13487 = load ptr, ptr %t13474 %t13488 = getelementptr inbounds ptr, ptr %t13487, i32 %t13475 store ptr @.str8794, ptr %t13488 %t13489 = add i32 %t13475, 1 store i32 %t13489, ptr %t13472 br label %ifend2731 ifend2731: %t13490 = load ptr, ptr %t1 %t13491 = call i32 @lp_str_eq(ptr %t13490, ptr @.str8795) %t13492 = icmp ne i32 %t13491, 0 br i1 %t13492, label %then2736, label %ifend2738 then2736: store ptr @.str8796, ptr %t420 %t13493 = load ptr, ptr %t427 %t13494 = getelementptr inbounds %LSlice, ptr %t13493, i32 0, i32 1 %t13495 = getelementptr inbounds %LSlice, ptr %t13493, i32 0, i32 2 %t13496 = getelementptr inbounds %LSlice, ptr %t13493, i32 0, i32 0 %t13497 = load i32, ptr %t13494 %t13498 = load i32, ptr %t13495 %t13499 = icmp sge i32 %t13497, %t13498 br i1 %t13499, label %grow2739, label %put2740 grow2739: %t13500 = mul i32 %t13498, 2 %t13501 = icmp eq i32 %t13498, 0 %t13502 = select i1 %t13501, i32 8, i32 %t13500 %t13503 = getelementptr ptr, ptr null, i32 1 %t13504 = ptrtoint ptr %t13503 to i64 %t13505 = zext i32 %t13502 to i64 %t13506 = mul i64 %t13505, %t13504 %t13507 = load ptr, ptr %t13496 %t13508 = call ptr @realloc(ptr %t13507, i64 %t13506) store ptr %t13508, ptr %t13496 store i32 %t13502, ptr %t13495 br label %put2740 put2740: %t13509 = load ptr, ptr %t13496 %t13510 = getelementptr inbounds ptr, ptr %t13509, i32 %t13497 store ptr @.str8797, ptr %t13510 %t13511 = add i32 %t13497, 1 store i32 %t13511, ptr %t13494 %t13512 = load ptr, ptr %t427 %t13513 = getelementptr inbounds %LSlice, ptr %t13512, i32 0, i32 1 %t13514 = getelementptr inbounds %LSlice, ptr %t13512, i32 0, i32 2 %t13515 = getelementptr inbounds %LSlice, ptr %t13512, i32 0, i32 0 %t13516 = load i32, ptr %t13513 %t13517 = load i32, ptr %t13514 %t13518 = icmp sge i32 %t13516, %t13517 br i1 %t13518, label %grow2741, label %put2742 grow2741: %t13519 = mul i32 %t13517, 2 %t13520 = icmp eq i32 %t13517, 0 %t13521 = select i1 %t13520, i32 8, i32 %t13519 %t13522 = getelementptr ptr, ptr null, i32 1 %t13523 = ptrtoint ptr %t13522 to i64 %t13524 = zext i32 %t13521 to i64 %t13525 = mul i64 %t13524, %t13523 %t13526 = load ptr, ptr %t13515 %t13527 = call ptr @realloc(ptr %t13526, i64 %t13525) store ptr %t13527, ptr %t13515 store i32 %t13521, ptr %t13514 br label %put2742 put2742: %t13528 = load ptr, ptr %t13515 %t13529 = getelementptr inbounds ptr, ptr %t13528, i32 %t13516 store ptr @.str8798, ptr %t13529 %t13530 = add i32 %t13516, 1 store i32 %t13530, ptr %t13513 br label %ifend2738 ifend2738: %t13531 = load ptr, ptr %t1 %t13532 = call i32 @lp_str_eq(ptr %t13531, ptr @.str8799) %t13533 = icmp ne i32 %t13532, 0 br i1 %t13533, label %then2743, label %ifend2745 then2743: store ptr @.str8800, ptr %t420 %t13534 = load ptr, ptr %t427 %t13535 = getelementptr inbounds %LSlice, ptr %t13534, i32 0, i32 1 %t13536 = getelementptr inbounds %LSlice, ptr %t13534, i32 0, i32 2 %t13537 = getelementptr inbounds %LSlice, ptr %t13534, i32 0, i32 0 %t13538 = load i32, ptr %t13535 %t13539 = load i32, ptr %t13536 %t13540 = icmp sge i32 %t13538, %t13539 br i1 %t13540, label %grow2746, label %put2747 grow2746: %t13541 = mul i32 %t13539, 2 %t13542 = icmp eq i32 %t13539, 0 %t13543 = select i1 %t13542, i32 8, i32 %t13541 %t13544 = getelementptr ptr, ptr null, i32 1 %t13545 = ptrtoint ptr %t13544 to i64 %t13546 = zext i32 %t13543 to i64 %t13547 = mul i64 %t13546, %t13545 %t13548 = load ptr, ptr %t13537 %t13549 = call ptr @realloc(ptr %t13548, i64 %t13547) store ptr %t13549, ptr %t13537 store i32 %t13543, ptr %t13536 br label %put2747 put2747: %t13550 = load ptr, ptr %t13537 %t13551 = getelementptr inbounds ptr, ptr %t13550, i32 %t13538 store ptr @.str8801, ptr %t13551 %t13552 = add i32 %t13538, 1 store i32 %t13552, ptr %t13535 %t13553 = load ptr, ptr %t427 %t13554 = getelementptr inbounds %LSlice, ptr %t13553, i32 0, i32 1 %t13555 = getelementptr inbounds %LSlice, ptr %t13553, i32 0, i32 2 %t13556 = getelementptr inbounds %LSlice, ptr %t13553, i32 0, i32 0 %t13557 = load i32, ptr %t13554 %t13558 = load i32, ptr %t13555 %t13559 = icmp sge i32 %t13557, %t13558 br i1 %t13559, label %grow2748, label %put2749 grow2748: %t13560 = mul i32 %t13558, 2 %t13561 = icmp eq i32 %t13558, 0 %t13562 = select i1 %t13561, i32 8, i32 %t13560 %t13563 = getelementptr ptr, ptr null, i32 1 %t13564 = ptrtoint ptr %t13563 to i64 %t13565 = zext i32 %t13562 to i64 %t13566 = mul i64 %t13565, %t13564 %t13567 = load ptr, ptr %t13556 %t13568 = call ptr @realloc(ptr %t13567, i64 %t13566) store ptr %t13568, ptr %t13556 store i32 %t13562, ptr %t13555 br label %put2749 put2749: %t13569 = load ptr, ptr %t13556 %t13570 = getelementptr inbounds ptr, ptr %t13569, i32 %t13557 store ptr @.str8802, ptr %t13570 %t13571 = add i32 %t13557, 1 store i32 %t13571, ptr %t13554 br label %ifend2745 ifend2745: %t13572 = load ptr, ptr %t1 %t13573 = call i32 @lp_str_eq(ptr %t13572, ptr @.str8803) %t13574 = icmp ne i32 %t13573, 0 br i1 %t13574, label %then2750, label %ifend2752 then2750: store ptr @.str8804, ptr %t420 %t13575 = load ptr, ptr %t427 %t13576 = getelementptr inbounds %LSlice, ptr %t13575, i32 0, i32 1 %t13577 = getelementptr inbounds %LSlice, ptr %t13575, i32 0, i32 2 %t13578 = getelementptr inbounds %LSlice, ptr %t13575, i32 0, i32 0 %t13579 = load i32, ptr %t13576 %t13580 = load i32, ptr %t13577 %t13581 = icmp sge i32 %t13579, %t13580 br i1 %t13581, label %grow2753, label %put2754 grow2753: %t13582 = mul i32 %t13580, 2 %t13583 = icmp eq i32 %t13580, 0 %t13584 = select i1 %t13583, i32 8, i32 %t13582 %t13585 = getelementptr ptr, ptr null, i32 1 %t13586 = ptrtoint ptr %t13585 to i64 %t13587 = zext i32 %t13584 to i64 %t13588 = mul i64 %t13587, %t13586 %t13589 = load ptr, ptr %t13578 %t13590 = call ptr @realloc(ptr %t13589, i64 %t13588) store ptr %t13590, ptr %t13578 store i32 %t13584, ptr %t13577 br label %put2754 put2754: %t13591 = load ptr, ptr %t13578 %t13592 = getelementptr inbounds ptr, ptr %t13591, i32 %t13579 store ptr @.str8805, ptr %t13592 %t13593 = add i32 %t13579, 1 store i32 %t13593, ptr %t13576 br label %ifend2752 ifend2752: %t13594 = load ptr, ptr %t1 %t13595 = call i32 @lp_str_eq(ptr %t13594, ptr @.str8806) %t13596 = icmp ne i32 %t13595, 0 br i1 %t13596, label %then2755, label %ifend2757 then2755: store ptr @.str8807, ptr %t420 %t13597 = load ptr, ptr %t427 %t13598 = getelementptr inbounds %LSlice, ptr %t13597, i32 0, i32 1 %t13599 = getelementptr inbounds %LSlice, ptr %t13597, i32 0, i32 2 %t13600 = getelementptr inbounds %LSlice, ptr %t13597, i32 0, i32 0 %t13601 = load i32, ptr %t13598 %t13602 = load i32, ptr %t13599 %t13603 = icmp sge i32 %t13601, %t13602 br i1 %t13603, label %grow2758, label %put2759 grow2758: %t13604 = mul i32 %t13602, 2 %t13605 = icmp eq i32 %t13602, 0 %t13606 = select i1 %t13605, i32 8, i32 %t13604 %t13607 = getelementptr ptr, ptr null, i32 1 %t13608 = ptrtoint ptr %t13607 to i64 %t13609 = zext i32 %t13606 to i64 %t13610 = mul i64 %t13609, %t13608 %t13611 = load ptr, ptr %t13600 %t13612 = call ptr @realloc(ptr %t13611, i64 %t13610) store ptr %t13612, ptr %t13600 store i32 %t13606, ptr %t13599 br label %put2759 put2759: %t13613 = load ptr, ptr %t13600 %t13614 = getelementptr inbounds ptr, ptr %t13613, i32 %t13601 store ptr @.str8808, ptr %t13614 %t13615 = add i32 %t13601, 1 store i32 %t13615, ptr %t13598 br label %ifend2757 ifend2757: %t13616 = load ptr, ptr %t1 %t13617 = call i32 @lp_str_eq(ptr %t13616, ptr @.str8809) %t13618 = icmp ne i32 %t13617, 0 br i1 %t13618, label %then2760, label %ifend2762 then2760: store ptr @.str8810, ptr %t420 %t13619 = load ptr, ptr %t427 %t13620 = getelementptr inbounds %LSlice, ptr %t13619, i32 0, i32 1 %t13621 = getelementptr inbounds %LSlice, ptr %t13619, i32 0, i32 2 %t13622 = getelementptr inbounds %LSlice, ptr %t13619, i32 0, i32 0 %t13623 = load i32, ptr %t13620 %t13624 = load i32, ptr %t13621 %t13625 = icmp sge i32 %t13623, %t13624 br i1 %t13625, label %grow2763, label %put2764 grow2763: %t13626 = mul i32 %t13624, 2 %t13627 = icmp eq i32 %t13624, 0 %t13628 = select i1 %t13627, i32 8, i32 %t13626 %t13629 = getelementptr ptr, ptr null, i32 1 %t13630 = ptrtoint ptr %t13629 to i64 %t13631 = zext i32 %t13628 to i64 %t13632 = mul i64 %t13631, %t13630 %t13633 = load ptr, ptr %t13622 %t13634 = call ptr @realloc(ptr %t13633, i64 %t13632) store ptr %t13634, ptr %t13622 store i32 %t13628, ptr %t13621 br label %put2764 put2764: %t13635 = load ptr, ptr %t13622 %t13636 = getelementptr inbounds ptr, ptr %t13635, i32 %t13623 store ptr @.str8811, ptr %t13636 %t13637 = add i32 %t13623, 1 store i32 %t13637, ptr %t13620 br label %ifend2762 ifend2762: %t13638 = load ptr, ptr %t1 %t13639 = call i32 @lp_str_eq(ptr %t13638, ptr @.str8812) %t13640 = icmp ne i32 %t13639, 0 br i1 %t13640, label %then2765, label %ifend2767 then2765: store ptr @.str8813, ptr %t420 %t13641 = load ptr, ptr %t427 %t13642 = getelementptr inbounds %LSlice, ptr %t13641, i32 0, i32 1 %t13643 = getelementptr inbounds %LSlice, ptr %t13641, i32 0, i32 2 %t13644 = getelementptr inbounds %LSlice, ptr %t13641, i32 0, i32 0 %t13645 = load i32, ptr %t13642 %t13646 = load i32, ptr %t13643 %t13647 = icmp sge i32 %t13645, %t13646 br i1 %t13647, label %grow2768, label %put2769 grow2768: %t13648 = mul i32 %t13646, 2 %t13649 = icmp eq i32 %t13646, 0 %t13650 = select i1 %t13649, i32 8, i32 %t13648 %t13651 = getelementptr ptr, ptr null, i32 1 %t13652 = ptrtoint ptr %t13651 to i64 %t13653 = zext i32 %t13650 to i64 %t13654 = mul i64 %t13653, %t13652 %t13655 = load ptr, ptr %t13644 %t13656 = call ptr @realloc(ptr %t13655, i64 %t13654) store ptr %t13656, ptr %t13644 store i32 %t13650, ptr %t13643 br label %put2769 put2769: %t13657 = load ptr, ptr %t13644 %t13658 = getelementptr inbounds ptr, ptr %t13657, i32 %t13645 store ptr @.str8814, ptr %t13658 %t13659 = add i32 %t13645, 1 store i32 %t13659, ptr %t13642 br label %ifend2767 ifend2767: br label %ifend2676 ifend2676: %t13660 = load ptr, ptr %t0 %t13661 = call i32 @lp_str_eq(ptr %t13660, ptr @.str8815) %t13662 = icmp ne i32 %t13661, 0 br i1 %t13662, label %then2770, label %ifend2772 then2770: %t13663 = load ptr, ptr %t1 %t13664 = call i32 @lp_str_eq(ptr %t13663, ptr @.str8816) %t13665 = icmp ne i32 %t13664, 0 br i1 %t13665, label %then2773, label %ifend2775 then2773: store ptr @.str8817, ptr %t420 %t13666 = load ptr, ptr %t427 %t13667 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 1 %t13668 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 2 %t13669 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 0 %t13670 = load i32, ptr %t13667 %t13671 = load i32, ptr %t13668 %t13672 = icmp sge i32 %t13670, %t13671 br i1 %t13672, label %grow2776, label %put2777 grow2776: %t13673 = mul i32 %t13671, 2 %t13674 = icmp eq i32 %t13671, 0 %t13675 = select i1 %t13674, i32 8, i32 %t13673 %t13676 = getelementptr ptr, ptr null, i32 1 %t13677 = ptrtoint ptr %t13676 to i64 %t13678 = zext i32 %t13675 to i64 %t13679 = mul i64 %t13678, %t13677 %t13680 = load ptr, ptr %t13669 %t13681 = call ptr @realloc(ptr %t13680, i64 %t13679) store ptr %t13681, ptr %t13669 store i32 %t13675, ptr %t13668 br label %put2777 put2777: %t13682 = load ptr, ptr %t13669 %t13683 = getelementptr inbounds ptr, ptr %t13682, i32 %t13670 store ptr @.str8818, ptr %t13683 %t13684 = add i32 %t13670, 1 store i32 %t13684, ptr %t13667 br label %ifend2775 ifend2775: %t13685 = load ptr, ptr %t1 %t13686 = call i32 @lp_str_eq(ptr %t13685, ptr @.str8819) %t13687 = icmp ne i32 %t13686, 0 br i1 %t13687, label %then2778, label %ifend2780 then2778: store ptr @.str8820, ptr %t420 %t13688 = load ptr, ptr %t427 %t13689 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 1 %t13690 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 2 %t13691 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 0 %t13692 = load i32, ptr %t13689 %t13693 = load i32, ptr %t13690 %t13694 = icmp sge i32 %t13692, %t13693 br i1 %t13694, label %grow2781, label %put2782 grow2781: %t13695 = mul i32 %t13693, 2 %t13696 = icmp eq i32 %t13693, 0 %t13697 = select i1 %t13696, i32 8, i32 %t13695 %t13698 = getelementptr ptr, ptr null, i32 1 %t13699 = ptrtoint ptr %t13698 to i64 %t13700 = zext i32 %t13697 to i64 %t13701 = mul i64 %t13700, %t13699 %t13702 = load ptr, ptr %t13691 %t13703 = call ptr @realloc(ptr %t13702, i64 %t13701) store ptr %t13703, ptr %t13691 store i32 %t13697, ptr %t13690 br label %put2782 put2782: %t13704 = load ptr, ptr %t13691 %t13705 = getelementptr inbounds ptr, ptr %t13704, i32 %t13692 store ptr @.str8821, ptr %t13705 %t13706 = add i32 %t13692, 1 store i32 %t13706, ptr %t13689 br label %ifend2780 ifend2780: br label %ifend2772 ifend2772: %t13707 = load ptr, ptr %t0 %t13708 = call i32 @lp_str_eq(ptr %t13707, ptr @.str8822) %t13709 = icmp ne i32 %t13708, 0 br i1 %t13709, label %then2783, label %ifend2785 then2783: %t13710 = load ptr, ptr %t1 %t13711 = call i32 @lp_str_eq(ptr %t13710, ptr @.str8823) %t13712 = icmp ne i32 %t13711, 0 br i1 %t13712, label %then2786, label %ifend2788 then2786: store ptr @.str8824, ptr %t420 %t13713 = load ptr, ptr %t427 %t13714 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 1 %t13715 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 2 %t13716 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 0 %t13717 = load i32, ptr %t13714 %t13718 = load i32, ptr %t13715 %t13719 = icmp sge i32 %t13717, %t13718 br i1 %t13719, label %grow2789, label %put2790 grow2789: %t13720 = mul i32 %t13718, 2 %t13721 = icmp eq i32 %t13718, 0 %t13722 = select i1 %t13721, i32 8, i32 %t13720 %t13723 = getelementptr ptr, ptr null, i32 1 %t13724 = ptrtoint ptr %t13723 to i64 %t13725 = zext i32 %t13722 to i64 %t13726 = mul i64 %t13725, %t13724 %t13727 = load ptr, ptr %t13716 %t13728 = call ptr @realloc(ptr %t13727, i64 %t13726) store ptr %t13728, ptr %t13716 store i32 %t13722, ptr %t13715 br label %put2790 put2790: %t13729 = load ptr, ptr %t13716 %t13730 = getelementptr inbounds ptr, ptr %t13729, i32 %t13717 store ptr @.str8825, ptr %t13730 %t13731 = add i32 %t13717, 1 store i32 %t13731, ptr %t13714 br label %ifend2788 ifend2788: %t13732 = load ptr, ptr %t1 %t13733 = call i32 @lp_str_eq(ptr %t13732, ptr @.str8826) %t13734 = icmp ne i32 %t13733, 0 br i1 %t13734, label %then2791, label %ifend2793 then2791: store ptr @.str8827, ptr %t420 %t13735 = load ptr, ptr %t427 %t13736 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 1 %t13737 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 2 %t13738 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 0 %t13739 = load i32, ptr %t13736 %t13740 = load i32, ptr %t13737 %t13741 = icmp sge i32 %t13739, %t13740 br i1 %t13741, label %grow2794, label %put2795 grow2794: %t13742 = mul i32 %t13740, 2 %t13743 = icmp eq i32 %t13740, 0 %t13744 = select i1 %t13743, i32 8, i32 %t13742 %t13745 = getelementptr ptr, ptr null, i32 1 %t13746 = ptrtoint ptr %t13745 to i64 %t13747 = zext i32 %t13744 to i64 %t13748 = mul i64 %t13747, %t13746 %t13749 = load ptr, ptr %t13738 %t13750 = call ptr @realloc(ptr %t13749, i64 %t13748) store ptr %t13750, ptr %t13738 store i32 %t13744, ptr %t13737 br label %put2795 put2795: %t13751 = load ptr, ptr %t13738 %t13752 = getelementptr inbounds ptr, ptr %t13751, i32 %t13739 store ptr @.str8828, ptr %t13752 %t13753 = add i32 %t13739, 1 store i32 %t13753, ptr %t13736 br label %ifend2793 ifend2793: %t13754 = load ptr, ptr %t1 %t13755 = call i32 @lp_str_eq(ptr %t13754, ptr @.str8829) %t13756 = icmp ne i32 %t13755, 0 br i1 %t13756, label %then2796, label %ifend2798 then2796: store ptr @.str8830, ptr %t420 %t13757 = load ptr, ptr %t427 %t13758 = getelementptr inbounds %LSlice, ptr %t13757, i32 0, i32 1 %t13759 = getelementptr inbounds %LSlice, ptr %t13757, i32 0, i32 2 %t13760 = getelementptr inbounds %LSlice, ptr %t13757, i32 0, i32 0 %t13761 = load i32, ptr %t13758 %t13762 = load i32, ptr %t13759 %t13763 = icmp sge i32 %t13761, %t13762 br i1 %t13763, label %grow2799, label %put2800 grow2799: %t13764 = mul i32 %t13762, 2 %t13765 = icmp eq i32 %t13762, 0 %t13766 = select i1 %t13765, i32 8, i32 %t13764 %t13767 = getelementptr ptr, ptr null, i32 1 %t13768 = ptrtoint ptr %t13767 to i64 %t13769 = zext i32 %t13766 to i64 %t13770 = mul i64 %t13769, %t13768 %t13771 = load ptr, ptr %t13760 %t13772 = call ptr @realloc(ptr %t13771, i64 %t13770) store ptr %t13772, ptr %t13760 store i32 %t13766, ptr %t13759 br label %put2800 put2800: %t13773 = load ptr, ptr %t13760 %t13774 = getelementptr inbounds ptr, ptr %t13773, i32 %t13761 store ptr @.str8831, ptr %t13774 %t13775 = add i32 %t13761, 1 store i32 %t13775, ptr %t13758 br label %ifend2798 ifend2798: %t13776 = load ptr, ptr %t1 %t13777 = call i32 @lp_str_eq(ptr %t13776, ptr @.str8832) %t13778 = icmp ne i32 %t13777, 0 br i1 %t13778, label %then2801, label %ifend2803 then2801: store ptr @.str8833, ptr %t420 %t13779 = load ptr, ptr %t427 %t13780 = getelementptr inbounds %LSlice, ptr %t13779, i32 0, i32 1 %t13781 = getelementptr inbounds %LSlice, ptr %t13779, i32 0, i32 2 %t13782 = getelementptr inbounds %LSlice, ptr %t13779, i32 0, i32 0 %t13783 = load i32, ptr %t13780 %t13784 = load i32, ptr %t13781 %t13785 = icmp sge i32 %t13783, %t13784 br i1 %t13785, label %grow2804, label %put2805 grow2804: %t13786 = mul i32 %t13784, 2 %t13787 = icmp eq i32 %t13784, 0 %t13788 = select i1 %t13787, i32 8, i32 %t13786 %t13789 = getelementptr ptr, ptr null, i32 1 %t13790 = ptrtoint ptr %t13789 to i64 %t13791 = zext i32 %t13788 to i64 %t13792 = mul i64 %t13791, %t13790 %t13793 = load ptr, ptr %t13782 %t13794 = call ptr @realloc(ptr %t13793, i64 %t13792) store ptr %t13794, ptr %t13782 store i32 %t13788, ptr %t13781 br label %put2805 put2805: %t13795 = load ptr, ptr %t13782 %t13796 = getelementptr inbounds ptr, ptr %t13795, i32 %t13783 store ptr @.str8834, ptr %t13796 %t13797 = add i32 %t13783, 1 store i32 %t13797, ptr %t13780 %t13798 = load ptr, ptr %t427 %t13799 = getelementptr inbounds %LSlice, ptr %t13798, i32 0, i32 1 %t13800 = getelementptr inbounds %LSlice, ptr %t13798, i32 0, i32 2 %t13801 = getelementptr inbounds %LSlice, ptr %t13798, i32 0, i32 0 %t13802 = load i32, ptr %t13799 %t13803 = load i32, ptr %t13800 %t13804 = icmp sge i32 %t13802, %t13803 br i1 %t13804, label %grow2806, label %put2807 grow2806: %t13805 = mul i32 %t13803, 2 %t13806 = icmp eq i32 %t13803, 0 %t13807 = select i1 %t13806, i32 8, i32 %t13805 %t13808 = getelementptr ptr, ptr null, i32 1 %t13809 = ptrtoint ptr %t13808 to i64 %t13810 = zext i32 %t13807 to i64 %t13811 = mul i64 %t13810, %t13809 %t13812 = load ptr, ptr %t13801 %t13813 = call ptr @realloc(ptr %t13812, i64 %t13811) store ptr %t13813, ptr %t13801 store i32 %t13807, ptr %t13800 br label %put2807 put2807: %t13814 = load ptr, ptr %t13801 %t13815 = getelementptr inbounds ptr, ptr %t13814, i32 %t13802 store ptr @.str8835, ptr %t13815 %t13816 = add i32 %t13802, 1 store i32 %t13816, ptr %t13799 br label %ifend2803 ifend2803: %t13817 = load ptr, ptr %t1 %t13818 = call i32 @lp_str_eq(ptr %t13817, ptr @.str8836) %t13819 = icmp ne i32 %t13818, 0 br i1 %t13819, label %then2808, label %ifend2810 then2808: store ptr @.str8837, ptr %t420 %t13820 = load ptr, ptr %t427 %t13821 = getelementptr inbounds %LSlice, ptr %t13820, i32 0, i32 1 %t13822 = getelementptr inbounds %LSlice, ptr %t13820, i32 0, i32 2 %t13823 = getelementptr inbounds %LSlice, ptr %t13820, i32 0, i32 0 %t13824 = load i32, ptr %t13821 %t13825 = load i32, ptr %t13822 %t13826 = icmp sge i32 %t13824, %t13825 br i1 %t13826, label %grow2811, label %put2812 grow2811: %t13827 = mul i32 %t13825, 2 %t13828 = icmp eq i32 %t13825, 0 %t13829 = select i1 %t13828, i32 8, i32 %t13827 %t13830 = getelementptr ptr, ptr null, i32 1 %t13831 = ptrtoint ptr %t13830 to i64 %t13832 = zext i32 %t13829 to i64 %t13833 = mul i64 %t13832, %t13831 %t13834 = load ptr, ptr %t13823 %t13835 = call ptr @realloc(ptr %t13834, i64 %t13833) store ptr %t13835, ptr %t13823 store i32 %t13829, ptr %t13822 br label %put2812 put2812: %t13836 = load ptr, ptr %t13823 %t13837 = getelementptr inbounds ptr, ptr %t13836, i32 %t13824 store ptr @.str8838, ptr %t13837 %t13838 = add i32 %t13824, 1 store i32 %t13838, ptr %t13821 %t13839 = load ptr, ptr %t427 %t13840 = getelementptr inbounds %LSlice, ptr %t13839, i32 0, i32 1 %t13841 = getelementptr inbounds %LSlice, ptr %t13839, i32 0, i32 2 %t13842 = getelementptr inbounds %LSlice, ptr %t13839, i32 0, i32 0 %t13843 = load i32, ptr %t13840 %t13844 = load i32, ptr %t13841 %t13845 = icmp sge i32 %t13843, %t13844 br i1 %t13845, label %grow2813, label %put2814 grow2813: %t13846 = mul i32 %t13844, 2 %t13847 = icmp eq i32 %t13844, 0 %t13848 = select i1 %t13847, i32 8, i32 %t13846 %t13849 = getelementptr ptr, ptr null, i32 1 %t13850 = ptrtoint ptr %t13849 to i64 %t13851 = zext i32 %t13848 to i64 %t13852 = mul i64 %t13851, %t13850 %t13853 = load ptr, ptr %t13842 %t13854 = call ptr @realloc(ptr %t13853, i64 %t13852) store ptr %t13854, ptr %t13842 store i32 %t13848, ptr %t13841 br label %put2814 put2814: %t13855 = load ptr, ptr %t13842 %t13856 = getelementptr inbounds ptr, ptr %t13855, i32 %t13843 store ptr @.str8839, ptr %t13856 %t13857 = add i32 %t13843, 1 store i32 %t13857, ptr %t13840 %t13858 = load ptr, ptr %t427 %t13859 = getelementptr inbounds %LSlice, ptr %t13858, i32 0, i32 1 %t13860 = getelementptr inbounds %LSlice, ptr %t13858, i32 0, i32 2 %t13861 = getelementptr inbounds %LSlice, ptr %t13858, i32 0, i32 0 %t13862 = load i32, ptr %t13859 %t13863 = load i32, ptr %t13860 %t13864 = icmp sge i32 %t13862, %t13863 br i1 %t13864, label %grow2815, label %put2816 grow2815: %t13865 = mul i32 %t13863, 2 %t13866 = icmp eq i32 %t13863, 0 %t13867 = select i1 %t13866, i32 8, i32 %t13865 %t13868 = getelementptr ptr, ptr null, i32 1 %t13869 = ptrtoint ptr %t13868 to i64 %t13870 = zext i32 %t13867 to i64 %t13871 = mul i64 %t13870, %t13869 %t13872 = load ptr, ptr %t13861 %t13873 = call ptr @realloc(ptr %t13872, i64 %t13871) store ptr %t13873, ptr %t13861 store i32 %t13867, ptr %t13860 br label %put2816 put2816: %t13874 = load ptr, ptr %t13861 %t13875 = getelementptr inbounds ptr, ptr %t13874, i32 %t13862 store ptr @.str8840, ptr %t13875 %t13876 = add i32 %t13862, 1 store i32 %t13876, ptr %t13859 br label %ifend2810 ifend2810: %t13877 = load ptr, ptr %t1 %t13878 = call i32 @lp_str_eq(ptr %t13877, ptr @.str8841) %t13879 = icmp ne i32 %t13878, 0 br i1 %t13879, label %then2817, label %ifend2819 then2817: store ptr @.str8842, ptr %t420 %t13880 = load ptr, ptr %t427 %t13881 = getelementptr inbounds %LSlice, ptr %t13880, i32 0, i32 1 %t13882 = getelementptr inbounds %LSlice, ptr %t13880, i32 0, i32 2 %t13883 = getelementptr inbounds %LSlice, ptr %t13880, i32 0, i32 0 %t13884 = load i32, ptr %t13881 %t13885 = load i32, ptr %t13882 %t13886 = icmp sge i32 %t13884, %t13885 br i1 %t13886, label %grow2820, label %put2821 grow2820: %t13887 = mul i32 %t13885, 2 %t13888 = icmp eq i32 %t13885, 0 %t13889 = select i1 %t13888, i32 8, i32 %t13887 %t13890 = getelementptr ptr, ptr null, i32 1 %t13891 = ptrtoint ptr %t13890 to i64 %t13892 = zext i32 %t13889 to i64 %t13893 = mul i64 %t13892, %t13891 %t13894 = load ptr, ptr %t13883 %t13895 = call ptr @realloc(ptr %t13894, i64 %t13893) store ptr %t13895, ptr %t13883 store i32 %t13889, ptr %t13882 br label %put2821 put2821: %t13896 = load ptr, ptr %t13883 %t13897 = getelementptr inbounds ptr, ptr %t13896, i32 %t13884 store ptr @.str8843, ptr %t13897 %t13898 = add i32 %t13884, 1 store i32 %t13898, ptr %t13881 %t13899 = load ptr, ptr %t427 %t13900 = getelementptr inbounds %LSlice, ptr %t13899, i32 0, i32 1 %t13901 = getelementptr inbounds %LSlice, ptr %t13899, i32 0, i32 2 %t13902 = getelementptr inbounds %LSlice, ptr %t13899, i32 0, i32 0 %t13903 = load i32, ptr %t13900 %t13904 = load i32, ptr %t13901 %t13905 = icmp sge i32 %t13903, %t13904 br i1 %t13905, label %grow2822, label %put2823 grow2822: %t13906 = mul i32 %t13904, 2 %t13907 = icmp eq i32 %t13904, 0 %t13908 = select i1 %t13907, i32 8, i32 %t13906 %t13909 = getelementptr ptr, ptr null, i32 1 %t13910 = ptrtoint ptr %t13909 to i64 %t13911 = zext i32 %t13908 to i64 %t13912 = mul i64 %t13911, %t13910 %t13913 = load ptr, ptr %t13902 %t13914 = call ptr @realloc(ptr %t13913, i64 %t13912) store ptr %t13914, ptr %t13902 store i32 %t13908, ptr %t13901 br label %put2823 put2823: %t13915 = load ptr, ptr %t13902 %t13916 = getelementptr inbounds ptr, ptr %t13915, i32 %t13903 store ptr @.str8844, ptr %t13916 %t13917 = add i32 %t13903, 1 store i32 %t13917, ptr %t13900 br label %ifend2819 ifend2819: %t13918 = load ptr, ptr %t1 %t13919 = call i32 @lp_str_eq(ptr %t13918, ptr @.str8845) %t13920 = icmp ne i32 %t13919, 0 br i1 %t13920, label %then2824, label %ifend2826 then2824: store ptr @.str8846, ptr %t420 %t13921 = load ptr, ptr %t427 %t13922 = getelementptr inbounds %LSlice, ptr %t13921, i32 0, i32 1 %t13923 = getelementptr inbounds %LSlice, ptr %t13921, i32 0, i32 2 %t13924 = getelementptr inbounds %LSlice, ptr %t13921, i32 0, i32 0 %t13925 = load i32, ptr %t13922 %t13926 = load i32, ptr %t13923 %t13927 = icmp sge i32 %t13925, %t13926 br i1 %t13927, label %grow2827, label %put2828 grow2827: %t13928 = mul i32 %t13926, 2 %t13929 = icmp eq i32 %t13926, 0 %t13930 = select i1 %t13929, i32 8, i32 %t13928 %t13931 = getelementptr ptr, ptr null, i32 1 %t13932 = ptrtoint ptr %t13931 to i64 %t13933 = zext i32 %t13930 to i64 %t13934 = mul i64 %t13933, %t13932 %t13935 = load ptr, ptr %t13924 %t13936 = call ptr @realloc(ptr %t13935, i64 %t13934) store ptr %t13936, ptr %t13924 store i32 %t13930, ptr %t13923 br label %put2828 put2828: %t13937 = load ptr, ptr %t13924 %t13938 = getelementptr inbounds ptr, ptr %t13937, i32 %t13925 store ptr @.str8847, ptr %t13938 %t13939 = add i32 %t13925, 1 store i32 %t13939, ptr %t13922 br label %ifend2826 ifend2826: %t13940 = load ptr, ptr %t1 %t13941 = call i32 @lp_str_eq(ptr %t13940, ptr @.str8848) %t13942 = icmp ne i32 %t13941, 0 br i1 %t13942, label %then2829, label %ifend2831 then2829: store ptr @.str8849, ptr %t420 %t13943 = load ptr, ptr %t427 %t13944 = getelementptr inbounds %LSlice, ptr %t13943, i32 0, i32 1 %t13945 = getelementptr inbounds %LSlice, ptr %t13943, i32 0, i32 2 %t13946 = getelementptr inbounds %LSlice, ptr %t13943, i32 0, i32 0 %t13947 = load i32, ptr %t13944 %t13948 = load i32, ptr %t13945 %t13949 = icmp sge i32 %t13947, %t13948 br i1 %t13949, label %grow2832, label %put2833 grow2832: %t13950 = mul i32 %t13948, 2 %t13951 = icmp eq i32 %t13948, 0 %t13952 = select i1 %t13951, i32 8, i32 %t13950 %t13953 = getelementptr ptr, ptr null, i32 1 %t13954 = ptrtoint ptr %t13953 to i64 %t13955 = zext i32 %t13952 to i64 %t13956 = mul i64 %t13955, %t13954 %t13957 = load ptr, ptr %t13946 %t13958 = call ptr @realloc(ptr %t13957, i64 %t13956) store ptr %t13958, ptr %t13946 store i32 %t13952, ptr %t13945 br label %put2833 put2833: %t13959 = load ptr, ptr %t13946 %t13960 = getelementptr inbounds ptr, ptr %t13959, i32 %t13947 store ptr @.str8850, ptr %t13960 %t13961 = add i32 %t13947, 1 store i32 %t13961, ptr %t13944 br label %ifend2831 ifend2831: %t13962 = load ptr, ptr %t1 %t13963 = call i32 @lp_str_eq(ptr %t13962, ptr @.str8851) %t13964 = icmp ne i32 %t13963, 0 br i1 %t13964, label %then2834, label %ifend2836 then2834: store ptr @.str8852, ptr %t420 %t13965 = load ptr, ptr %t427 %t13966 = getelementptr inbounds %LSlice, ptr %t13965, i32 0, i32 1 %t13967 = getelementptr inbounds %LSlice, ptr %t13965, i32 0, i32 2 %t13968 = getelementptr inbounds %LSlice, ptr %t13965, i32 0, i32 0 %t13969 = load i32, ptr %t13966 %t13970 = load i32, ptr %t13967 %t13971 = icmp sge i32 %t13969, %t13970 br i1 %t13971, label %grow2837, label %put2838 grow2837: %t13972 = mul i32 %t13970, 2 %t13973 = icmp eq i32 %t13970, 0 %t13974 = select i1 %t13973, i32 8, i32 %t13972 %t13975 = getelementptr ptr, ptr null, i32 1 %t13976 = ptrtoint ptr %t13975 to i64 %t13977 = zext i32 %t13974 to i64 %t13978 = mul i64 %t13977, %t13976 %t13979 = load ptr, ptr %t13968 %t13980 = call ptr @realloc(ptr %t13979, i64 %t13978) store ptr %t13980, ptr %t13968 store i32 %t13974, ptr %t13967 br label %put2838 put2838: %t13981 = load ptr, ptr %t13968 %t13982 = getelementptr inbounds ptr, ptr %t13981, i32 %t13969 store ptr @.str8853, ptr %t13982 %t13983 = add i32 %t13969, 1 store i32 %t13983, ptr %t13966 %t13984 = load ptr, ptr %t427 %t13985 = getelementptr inbounds %LSlice, ptr %t13984, i32 0, i32 1 %t13986 = getelementptr inbounds %LSlice, ptr %t13984, i32 0, i32 2 %t13987 = getelementptr inbounds %LSlice, ptr %t13984, i32 0, i32 0 %t13988 = load i32, ptr %t13985 %t13989 = load i32, ptr %t13986 %t13990 = icmp sge i32 %t13988, %t13989 br i1 %t13990, label %grow2839, label %put2840 grow2839: %t13991 = mul i32 %t13989, 2 %t13992 = icmp eq i32 %t13989, 0 %t13993 = select i1 %t13992, i32 8, i32 %t13991 %t13994 = getelementptr ptr, ptr null, i32 1 %t13995 = ptrtoint ptr %t13994 to i64 %t13996 = zext i32 %t13993 to i64 %t13997 = mul i64 %t13996, %t13995 %t13998 = load ptr, ptr %t13987 %t13999 = call ptr @realloc(ptr %t13998, i64 %t13997) store ptr %t13999, ptr %t13987 store i32 %t13993, ptr %t13986 br label %put2840 put2840: %t14000 = load ptr, ptr %t13987 %t14001 = getelementptr inbounds ptr, ptr %t14000, i32 %t13988 store ptr @.str8854, ptr %t14001 %t14002 = add i32 %t13988, 1 store i32 %t14002, ptr %t13985 br label %ifend2836 ifend2836: %t14003 = load ptr, ptr %t1 %t14004 = call i32 @lp_str_eq(ptr %t14003, ptr @.str8855) %t14005 = icmp ne i32 %t14004, 0 br i1 %t14005, label %then2841, label %ifend2843 then2841: store ptr @.str8856, ptr %t420 %t14006 = load ptr, ptr %t427 %t14007 = getelementptr inbounds %LSlice, ptr %t14006, i32 0, i32 1 %t14008 = getelementptr inbounds %LSlice, ptr %t14006, i32 0, i32 2 %t14009 = getelementptr inbounds %LSlice, ptr %t14006, i32 0, i32 0 %t14010 = load i32, ptr %t14007 %t14011 = load i32, ptr %t14008 %t14012 = icmp sge i32 %t14010, %t14011 br i1 %t14012, label %grow2844, label %put2845 grow2844: %t14013 = mul i32 %t14011, 2 %t14014 = icmp eq i32 %t14011, 0 %t14015 = select i1 %t14014, i32 8, i32 %t14013 %t14016 = getelementptr ptr, ptr null, i32 1 %t14017 = ptrtoint ptr %t14016 to i64 %t14018 = zext i32 %t14015 to i64 %t14019 = mul i64 %t14018, %t14017 %t14020 = load ptr, ptr %t14009 %t14021 = call ptr @realloc(ptr %t14020, i64 %t14019) store ptr %t14021, ptr %t14009 store i32 %t14015, ptr %t14008 br label %put2845 put2845: %t14022 = load ptr, ptr %t14009 %t14023 = getelementptr inbounds ptr, ptr %t14022, i32 %t14010 store ptr @.str8857, ptr %t14023 %t14024 = add i32 %t14010, 1 store i32 %t14024, ptr %t14007 %t14025 = load ptr, ptr %t427 %t14026 = getelementptr inbounds %LSlice, ptr %t14025, i32 0, i32 1 %t14027 = getelementptr inbounds %LSlice, ptr %t14025, i32 0, i32 2 %t14028 = getelementptr inbounds %LSlice, ptr %t14025, i32 0, i32 0 %t14029 = load i32, ptr %t14026 %t14030 = load i32, ptr %t14027 %t14031 = icmp sge i32 %t14029, %t14030 br i1 %t14031, label %grow2846, label %put2847 grow2846: %t14032 = mul i32 %t14030, 2 %t14033 = icmp eq i32 %t14030, 0 %t14034 = select i1 %t14033, i32 8, i32 %t14032 %t14035 = getelementptr ptr, ptr null, i32 1 %t14036 = ptrtoint ptr %t14035 to i64 %t14037 = zext i32 %t14034 to i64 %t14038 = mul i64 %t14037, %t14036 %t14039 = load ptr, ptr %t14028 %t14040 = call ptr @realloc(ptr %t14039, i64 %t14038) store ptr %t14040, ptr %t14028 store i32 %t14034, ptr %t14027 br label %put2847 put2847: %t14041 = load ptr, ptr %t14028 %t14042 = getelementptr inbounds ptr, ptr %t14041, i32 %t14029 store ptr @.str8858, ptr %t14042 %t14043 = add i32 %t14029, 1 store i32 %t14043, ptr %t14026 br label %ifend2843 ifend2843: %t14044 = load ptr, ptr %t1 %t14045 = call i32 @lp_str_eq(ptr %t14044, ptr @.str8859) %t14046 = icmp ne i32 %t14045, 0 br i1 %t14046, label %then2848, label %ifend2850 then2848: store ptr @.str8860, ptr %t420 %t14047 = load ptr, ptr %t427 %t14048 = getelementptr inbounds %LSlice, ptr %t14047, i32 0, i32 1 %t14049 = getelementptr inbounds %LSlice, ptr %t14047, i32 0, i32 2 %t14050 = getelementptr inbounds %LSlice, ptr %t14047, i32 0, i32 0 %t14051 = load i32, ptr %t14048 %t14052 = load i32, ptr %t14049 %t14053 = icmp sge i32 %t14051, %t14052 br i1 %t14053, label %grow2851, label %put2852 grow2851: %t14054 = mul i32 %t14052, 2 %t14055 = icmp eq i32 %t14052, 0 %t14056 = select i1 %t14055, i32 8, i32 %t14054 %t14057 = getelementptr ptr, ptr null, i32 1 %t14058 = ptrtoint ptr %t14057 to i64 %t14059 = zext i32 %t14056 to i64 %t14060 = mul i64 %t14059, %t14058 %t14061 = load ptr, ptr %t14050 %t14062 = call ptr @realloc(ptr %t14061, i64 %t14060) store ptr %t14062, ptr %t14050 store i32 %t14056, ptr %t14049 br label %put2852 put2852: %t14063 = load ptr, ptr %t14050 %t14064 = getelementptr inbounds ptr, ptr %t14063, i32 %t14051 store ptr @.str8861, ptr %t14064 %t14065 = add i32 %t14051, 1 store i32 %t14065, ptr %t14048 %t14066 = load ptr, ptr %t427 %t14067 = getelementptr inbounds %LSlice, ptr %t14066, i32 0, i32 1 %t14068 = getelementptr inbounds %LSlice, ptr %t14066, i32 0, i32 2 %t14069 = getelementptr inbounds %LSlice, ptr %t14066, i32 0, i32 0 %t14070 = load i32, ptr %t14067 %t14071 = load i32, ptr %t14068 %t14072 = icmp sge i32 %t14070, %t14071 br i1 %t14072, label %grow2853, label %put2854 grow2853: %t14073 = mul i32 %t14071, 2 %t14074 = icmp eq i32 %t14071, 0 %t14075 = select i1 %t14074, i32 8, i32 %t14073 %t14076 = getelementptr ptr, ptr null, i32 1 %t14077 = ptrtoint ptr %t14076 to i64 %t14078 = zext i32 %t14075 to i64 %t14079 = mul i64 %t14078, %t14077 %t14080 = load ptr, ptr %t14069 %t14081 = call ptr @realloc(ptr %t14080, i64 %t14079) store ptr %t14081, ptr %t14069 store i32 %t14075, ptr %t14068 br label %put2854 put2854: %t14082 = load ptr, ptr %t14069 %t14083 = getelementptr inbounds ptr, ptr %t14082, i32 %t14070 store ptr @.str8862, ptr %t14083 %t14084 = add i32 %t14070, 1 store i32 %t14084, ptr %t14067 br label %ifend2850 ifend2850: br label %ifend2785 ifend2785: %t14085 = load ptr, ptr %t0 %t14086 = call i32 @lp_str_eq(ptr %t14085, ptr @.str8863) %t14087 = icmp ne i32 %t14086, 0 br i1 %t14087, label %then2855, label %ifend2857 then2855: %t14088 = load ptr, ptr %t1 %t14089 = call i32 @lp_str_eq(ptr %t14088, ptr @.str8864) %t14090 = icmp ne i32 %t14089, 0 br i1 %t14090, label %then2858, label %ifend2860 then2858: store ptr @.str8865, ptr %t420 %t14091 = load ptr, ptr %t427 %t14092 = getelementptr inbounds %LSlice, ptr %t14091, i32 0, i32 1 %t14093 = getelementptr inbounds %LSlice, ptr %t14091, i32 0, i32 2 %t14094 = getelementptr inbounds %LSlice, ptr %t14091, i32 0, i32 0 %t14095 = load i32, ptr %t14092 %t14096 = load i32, ptr %t14093 %t14097 = icmp sge i32 %t14095, %t14096 br i1 %t14097, label %grow2861, label %put2862 grow2861: %t14098 = mul i32 %t14096, 2 %t14099 = icmp eq i32 %t14096, 0 %t14100 = select i1 %t14099, i32 8, i32 %t14098 %t14101 = getelementptr ptr, ptr null, i32 1 %t14102 = ptrtoint ptr %t14101 to i64 %t14103 = zext i32 %t14100 to i64 %t14104 = mul i64 %t14103, %t14102 %t14105 = load ptr, ptr %t14094 %t14106 = call ptr @realloc(ptr %t14105, i64 %t14104) store ptr %t14106, ptr %t14094 store i32 %t14100, ptr %t14093 br label %put2862 put2862: %t14107 = load ptr, ptr %t14094 %t14108 = getelementptr inbounds ptr, ptr %t14107, i32 %t14095 store ptr @.str8866, ptr %t14108 %t14109 = add i32 %t14095, 1 store i32 %t14109, ptr %t14092 br label %ifend2860 ifend2860: %t14110 = load ptr, ptr %t1 %t14111 = call i32 @lp_str_eq(ptr %t14110, ptr @.str8867) %t14112 = icmp ne i32 %t14111, 0 br i1 %t14112, label %then2863, label %ifend2865 then2863: store ptr @.str8868, ptr %t420 %t14113 = load ptr, ptr %t427 %t14114 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 1 %t14115 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 2 %t14116 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 0 %t14117 = load i32, ptr %t14114 %t14118 = load i32, ptr %t14115 %t14119 = icmp sge i32 %t14117, %t14118 br i1 %t14119, label %grow2866, label %put2867 grow2866: %t14120 = mul i32 %t14118, 2 %t14121 = icmp eq i32 %t14118, 0 %t14122 = select i1 %t14121, i32 8, i32 %t14120 %t14123 = getelementptr ptr, ptr null, i32 1 %t14124 = ptrtoint ptr %t14123 to i64 %t14125 = zext i32 %t14122 to i64 %t14126 = mul i64 %t14125, %t14124 %t14127 = load ptr, ptr %t14116 %t14128 = call ptr @realloc(ptr %t14127, i64 %t14126) store ptr %t14128, ptr %t14116 store i32 %t14122, ptr %t14115 br label %put2867 put2867: %t14129 = load ptr, ptr %t14116 %t14130 = getelementptr inbounds ptr, ptr %t14129, i32 %t14117 store ptr @.str8869, ptr %t14130 %t14131 = add i32 %t14117, 1 store i32 %t14131, ptr %t14114 br label %ifend2865 ifend2865: br label %ifend2857 ifend2857: %t14132 = load ptr, ptr %t0 %t14133 = call i32 @lp_str_eq(ptr %t14132, ptr @.str8870) %t14134 = icmp ne i32 %t14133, 0 br i1 %t14134, label %then2868, label %ifend2870 then2868: %t14135 = load ptr, ptr %t1 %t14136 = call i32 @lp_str_eq(ptr %t14135, ptr @.str8871) %t14137 = icmp ne i32 %t14136, 0 br i1 %t14137, label %then2871, label %ifend2873 then2871: store ptr @.str8872, ptr %t420 %t14138 = load ptr, ptr %t427 %t14139 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 1 %t14140 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 2 %t14141 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 0 %t14142 = load i32, ptr %t14139 %t14143 = load i32, ptr %t14140 %t14144 = icmp sge i32 %t14142, %t14143 br i1 %t14144, label %grow2874, label %put2875 grow2874: %t14145 = mul i32 %t14143, 2 %t14146 = icmp eq i32 %t14143, 0 %t14147 = select i1 %t14146, i32 8, i32 %t14145 %t14148 = getelementptr ptr, ptr null, i32 1 %t14149 = ptrtoint ptr %t14148 to i64 %t14150 = zext i32 %t14147 to i64 %t14151 = mul i64 %t14150, %t14149 %t14152 = load ptr, ptr %t14141 %t14153 = call ptr @realloc(ptr %t14152, i64 %t14151) store ptr %t14153, ptr %t14141 store i32 %t14147, ptr %t14140 br label %put2875 put2875: %t14154 = load ptr, ptr %t14141 %t14155 = getelementptr inbounds ptr, ptr %t14154, i32 %t14142 store ptr @.str8873, ptr %t14155 %t14156 = add i32 %t14142, 1 store i32 %t14156, ptr %t14139 br label %ifend2873 ifend2873: %t14157 = load ptr, ptr %t1 %t14158 = call i32 @lp_str_eq(ptr %t14157, ptr @.str8874) %t14159 = icmp ne i32 %t14158, 0 br i1 %t14159, label %then2876, label %ifend2878 then2876: store ptr @.str8875, ptr %t420 %t14160 = load ptr, ptr %t427 %t14161 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 1 %t14162 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 2 %t14163 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 0 %t14164 = load i32, ptr %t14161 %t14165 = load i32, ptr %t14162 %t14166 = icmp sge i32 %t14164, %t14165 br i1 %t14166, label %grow2879, label %put2880 grow2879: %t14167 = mul i32 %t14165, 2 %t14168 = icmp eq i32 %t14165, 0 %t14169 = select i1 %t14168, i32 8, i32 %t14167 %t14170 = getelementptr ptr, ptr null, i32 1 %t14171 = ptrtoint ptr %t14170 to i64 %t14172 = zext i32 %t14169 to i64 %t14173 = mul i64 %t14172, %t14171 %t14174 = load ptr, ptr %t14163 %t14175 = call ptr @realloc(ptr %t14174, i64 %t14173) store ptr %t14175, ptr %t14163 store i32 %t14169, ptr %t14162 br label %put2880 put2880: %t14176 = load ptr, ptr %t14163 %t14177 = getelementptr inbounds ptr, ptr %t14176, i32 %t14164 store ptr @.str8876, ptr %t14177 %t14178 = add i32 %t14164, 1 store i32 %t14178, ptr %t14161 br label %ifend2878 ifend2878: %t14179 = load ptr, ptr %t1 %t14180 = call i32 @lp_str_eq(ptr %t14179, ptr @.str8877) %t14181 = icmp ne i32 %t14180, 0 br i1 %t14181, label %then2881, label %ifend2883 then2881: store ptr @.str8878, ptr %t420 %t14182 = load ptr, ptr %t427 %t14183 = getelementptr inbounds %LSlice, ptr %t14182, i32 0, i32 1 %t14184 = getelementptr inbounds %LSlice, ptr %t14182, i32 0, i32 2 %t14185 = getelementptr inbounds %LSlice, ptr %t14182, i32 0, i32 0 %t14186 = load i32, ptr %t14183 %t14187 = load i32, ptr %t14184 %t14188 = icmp sge i32 %t14186, %t14187 br i1 %t14188, label %grow2884, label %put2885 grow2884: %t14189 = mul i32 %t14187, 2 %t14190 = icmp eq i32 %t14187, 0 %t14191 = select i1 %t14190, i32 8, i32 %t14189 %t14192 = getelementptr ptr, ptr null, i32 1 %t14193 = ptrtoint ptr %t14192 to i64 %t14194 = zext i32 %t14191 to i64 %t14195 = mul i64 %t14194, %t14193 %t14196 = load ptr, ptr %t14185 %t14197 = call ptr @realloc(ptr %t14196, i64 %t14195) store ptr %t14197, ptr %t14185 store i32 %t14191, ptr %t14184 br label %put2885 put2885: %t14198 = load ptr, ptr %t14185 %t14199 = getelementptr inbounds ptr, ptr %t14198, i32 %t14186 store ptr @.str8879, ptr %t14199 %t14200 = add i32 %t14186, 1 store i32 %t14200, ptr %t14183 br label %ifend2883 ifend2883: %t14201 = load ptr, ptr %t1 %t14202 = call i32 @lp_str_eq(ptr %t14201, ptr @.str8880) %t14203 = icmp ne i32 %t14202, 0 br i1 %t14203, label %then2886, label %ifend2888 then2886: store ptr @.str8881, ptr %t420 %t14204 = load ptr, ptr %t427 %t14205 = getelementptr inbounds %LSlice, ptr %t14204, i32 0, i32 1 %t14206 = getelementptr inbounds %LSlice, ptr %t14204, i32 0, i32 2 %t14207 = getelementptr inbounds %LSlice, ptr %t14204, i32 0, i32 0 %t14208 = load i32, ptr %t14205 %t14209 = load i32, ptr %t14206 %t14210 = icmp sge i32 %t14208, %t14209 br i1 %t14210, label %grow2889, label %put2890 grow2889: %t14211 = mul i32 %t14209, 2 %t14212 = icmp eq i32 %t14209, 0 %t14213 = select i1 %t14212, i32 8, i32 %t14211 %t14214 = getelementptr ptr, ptr null, i32 1 %t14215 = ptrtoint ptr %t14214 to i64 %t14216 = zext i32 %t14213 to i64 %t14217 = mul i64 %t14216, %t14215 %t14218 = load ptr, ptr %t14207 %t14219 = call ptr @realloc(ptr %t14218, i64 %t14217) store ptr %t14219, ptr %t14207 store i32 %t14213, ptr %t14206 br label %put2890 put2890: %t14220 = load ptr, ptr %t14207 %t14221 = getelementptr inbounds ptr, ptr %t14220, i32 %t14208 store ptr @.str8882, ptr %t14221 %t14222 = add i32 %t14208, 1 store i32 %t14222, ptr %t14205 %t14223 = load ptr, ptr %t427 %t14224 = getelementptr inbounds %LSlice, ptr %t14223, i32 0, i32 1 %t14225 = getelementptr inbounds %LSlice, ptr %t14223, i32 0, i32 2 %t14226 = getelementptr inbounds %LSlice, ptr %t14223, i32 0, i32 0 %t14227 = load i32, ptr %t14224 %t14228 = load i32, ptr %t14225 %t14229 = icmp sge i32 %t14227, %t14228 br i1 %t14229, label %grow2891, label %put2892 grow2891: %t14230 = mul i32 %t14228, 2 %t14231 = icmp eq i32 %t14228, 0 %t14232 = select i1 %t14231, i32 8, i32 %t14230 %t14233 = getelementptr ptr, ptr null, i32 1 %t14234 = ptrtoint ptr %t14233 to i64 %t14235 = zext i32 %t14232 to i64 %t14236 = mul i64 %t14235, %t14234 %t14237 = load ptr, ptr %t14226 %t14238 = call ptr @realloc(ptr %t14237, i64 %t14236) store ptr %t14238, ptr %t14226 store i32 %t14232, ptr %t14225 br label %put2892 put2892: %t14239 = load ptr, ptr %t14226 %t14240 = getelementptr inbounds ptr, ptr %t14239, i32 %t14227 store ptr @.str8883, ptr %t14240 %t14241 = add i32 %t14227, 1 store i32 %t14241, ptr %t14224 %t14242 = load ptr, ptr %t427 %t14243 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 1 %t14244 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 2 %t14245 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 0 %t14246 = load i32, ptr %t14243 %t14247 = load i32, ptr %t14244 %t14248 = icmp sge i32 %t14246, %t14247 br i1 %t14248, label %grow2893, label %put2894 grow2893: %t14249 = mul i32 %t14247, 2 %t14250 = icmp eq i32 %t14247, 0 %t14251 = select i1 %t14250, i32 8, i32 %t14249 %t14252 = getelementptr ptr, ptr null, i32 1 %t14253 = ptrtoint ptr %t14252 to i64 %t14254 = zext i32 %t14251 to i64 %t14255 = mul i64 %t14254, %t14253 %t14256 = load ptr, ptr %t14245 %t14257 = call ptr @realloc(ptr %t14256, i64 %t14255) store ptr %t14257, ptr %t14245 store i32 %t14251, ptr %t14244 br label %put2894 put2894: %t14258 = load ptr, ptr %t14245 %t14259 = getelementptr inbounds ptr, ptr %t14258, i32 %t14246 store ptr @.str8884, ptr %t14259 %t14260 = add i32 %t14246, 1 store i32 %t14260, ptr %t14243 %t14261 = load ptr, ptr %t427 %t14262 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 1 %t14263 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 2 %t14264 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 0 %t14265 = load i32, ptr %t14262 %t14266 = load i32, ptr %t14263 %t14267 = icmp sge i32 %t14265, %t14266 br i1 %t14267, label %grow2895, label %put2896 grow2895: %t14268 = mul i32 %t14266, 2 %t14269 = icmp eq i32 %t14266, 0 %t14270 = select i1 %t14269, i32 8, i32 %t14268 %t14271 = getelementptr ptr, ptr null, i32 1 %t14272 = ptrtoint ptr %t14271 to i64 %t14273 = zext i32 %t14270 to i64 %t14274 = mul i64 %t14273, %t14272 %t14275 = load ptr, ptr %t14264 %t14276 = call ptr @realloc(ptr %t14275, i64 %t14274) store ptr %t14276, ptr %t14264 store i32 %t14270, ptr %t14263 br label %put2896 put2896: %t14277 = load ptr, ptr %t14264 %t14278 = getelementptr inbounds ptr, ptr %t14277, i32 %t14265 store ptr @.str8885, ptr %t14278 %t14279 = add i32 %t14265, 1 store i32 %t14279, ptr %t14262 br label %ifend2888 ifend2888: %t14280 = load ptr, ptr %t1 %t14281 = call i32 @lp_str_eq(ptr %t14280, ptr @.str8886) %t14282 = icmp ne i32 %t14281, 0 br i1 %t14282, label %then2897, label %ifend2899 then2897: store ptr @.str8887, ptr %t420 %t14283 = load ptr, ptr %t427 %t14284 = getelementptr inbounds %LSlice, ptr %t14283, i32 0, i32 1 %t14285 = getelementptr inbounds %LSlice, ptr %t14283, i32 0, i32 2 %t14286 = getelementptr inbounds %LSlice, ptr %t14283, i32 0, i32 0 %t14287 = load i32, ptr %t14284 %t14288 = load i32, ptr %t14285 %t14289 = icmp sge i32 %t14287, %t14288 br i1 %t14289, label %grow2900, label %put2901 grow2900: %t14290 = mul i32 %t14288, 2 %t14291 = icmp eq i32 %t14288, 0 %t14292 = select i1 %t14291, i32 8, i32 %t14290 %t14293 = getelementptr ptr, ptr null, i32 1 %t14294 = ptrtoint ptr %t14293 to i64 %t14295 = zext i32 %t14292 to i64 %t14296 = mul i64 %t14295, %t14294 %t14297 = load ptr, ptr %t14286 %t14298 = call ptr @realloc(ptr %t14297, i64 %t14296) store ptr %t14298, ptr %t14286 store i32 %t14292, ptr %t14285 br label %put2901 put2901: %t14299 = load ptr, ptr %t14286 %t14300 = getelementptr inbounds ptr, ptr %t14299, i32 %t14287 store ptr @.str8888, ptr %t14300 %t14301 = add i32 %t14287, 1 store i32 %t14301, ptr %t14284 %t14302 = load ptr, ptr %t427 %t14303 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 1 %t14304 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 2 %t14305 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 0 %t14306 = load i32, ptr %t14303 %t14307 = load i32, ptr %t14304 %t14308 = icmp sge i32 %t14306, %t14307 br i1 %t14308, label %grow2902, label %put2903 grow2902: %t14309 = mul i32 %t14307, 2 %t14310 = icmp eq i32 %t14307, 0 %t14311 = select i1 %t14310, i32 8, i32 %t14309 %t14312 = getelementptr ptr, ptr null, i32 1 %t14313 = ptrtoint ptr %t14312 to i64 %t14314 = zext i32 %t14311 to i64 %t14315 = mul i64 %t14314, %t14313 %t14316 = load ptr, ptr %t14305 %t14317 = call ptr @realloc(ptr %t14316, i64 %t14315) store ptr %t14317, ptr %t14305 store i32 %t14311, ptr %t14304 br label %put2903 put2903: %t14318 = load ptr, ptr %t14305 %t14319 = getelementptr inbounds ptr, ptr %t14318, i32 %t14306 store ptr @.str8889, ptr %t14319 %t14320 = add i32 %t14306, 1 store i32 %t14320, ptr %t14303 br label %ifend2899 ifend2899: %t14321 = load ptr, ptr %t1 %t14322 = call i32 @lp_str_eq(ptr %t14321, ptr @.str8890) %t14323 = icmp ne i32 %t14322, 0 br i1 %t14323, label %then2904, label %ifend2906 then2904: store ptr @.str8891, ptr %t420 %t14324 = load ptr, ptr %t427 %t14325 = getelementptr inbounds %LSlice, ptr %t14324, i32 0, i32 1 %t14326 = getelementptr inbounds %LSlice, ptr %t14324, i32 0, i32 2 %t14327 = getelementptr inbounds %LSlice, ptr %t14324, i32 0, i32 0 %t14328 = load i32, ptr %t14325 %t14329 = load i32, ptr %t14326 %t14330 = icmp sge i32 %t14328, %t14329 br i1 %t14330, label %grow2907, label %put2908 grow2907: %t14331 = mul i32 %t14329, 2 %t14332 = icmp eq i32 %t14329, 0 %t14333 = select i1 %t14332, i32 8, i32 %t14331 %t14334 = getelementptr ptr, ptr null, i32 1 %t14335 = ptrtoint ptr %t14334 to i64 %t14336 = zext i32 %t14333 to i64 %t14337 = mul i64 %t14336, %t14335 %t14338 = load ptr, ptr %t14327 %t14339 = call ptr @realloc(ptr %t14338, i64 %t14337) store ptr %t14339, ptr %t14327 store i32 %t14333, ptr %t14326 br label %put2908 put2908: %t14340 = load ptr, ptr %t14327 %t14341 = getelementptr inbounds ptr, ptr %t14340, i32 %t14328 store ptr @.str8892, ptr %t14341 %t14342 = add i32 %t14328, 1 store i32 %t14342, ptr %t14325 br label %ifend2906 ifend2906: %t14343 = load ptr, ptr %t1 %t14344 = call i32 @lp_str_eq(ptr %t14343, ptr @.str8893) %t14345 = icmp ne i32 %t14344, 0 br i1 %t14345, label %then2909, label %ifend2911 then2909: store ptr @.str8894, ptr %t420 %t14346 = load ptr, ptr %t427 %t14347 = getelementptr inbounds %LSlice, ptr %t14346, i32 0, i32 1 %t14348 = getelementptr inbounds %LSlice, ptr %t14346, i32 0, i32 2 %t14349 = getelementptr inbounds %LSlice, ptr %t14346, i32 0, i32 0 %t14350 = load i32, ptr %t14347 %t14351 = load i32, ptr %t14348 %t14352 = icmp sge i32 %t14350, %t14351 br i1 %t14352, label %grow2912, label %put2913 grow2912: %t14353 = mul i32 %t14351, 2 %t14354 = icmp eq i32 %t14351, 0 %t14355 = select i1 %t14354, i32 8, i32 %t14353 %t14356 = getelementptr ptr, ptr null, i32 1 %t14357 = ptrtoint ptr %t14356 to i64 %t14358 = zext i32 %t14355 to i64 %t14359 = mul i64 %t14358, %t14357 %t14360 = load ptr, ptr %t14349 %t14361 = call ptr @realloc(ptr %t14360, i64 %t14359) store ptr %t14361, ptr %t14349 store i32 %t14355, ptr %t14348 br label %put2913 put2913: %t14362 = load ptr, ptr %t14349 %t14363 = getelementptr inbounds ptr, ptr %t14362, i32 %t14350 store ptr @.str8895, ptr %t14363 %t14364 = add i32 %t14350, 1 store i32 %t14364, ptr %t14347 br label %ifend2911 ifend2911: %t14365 = load ptr, ptr %t1 %t14366 = call i32 @lp_str_eq(ptr %t14365, ptr @.str8896) %t14367 = icmp ne i32 %t14366, 0 br i1 %t14367, label %then2914, label %ifend2916 then2914: store ptr @.str8897, ptr %t420 %t14368 = load ptr, ptr %t427 %t14369 = getelementptr inbounds %LSlice, ptr %t14368, i32 0, i32 1 %t14370 = getelementptr inbounds %LSlice, ptr %t14368, i32 0, i32 2 %t14371 = getelementptr inbounds %LSlice, ptr %t14368, i32 0, i32 0 %t14372 = load i32, ptr %t14369 %t14373 = load i32, ptr %t14370 %t14374 = icmp sge i32 %t14372, %t14373 br i1 %t14374, label %grow2917, label %put2918 grow2917: %t14375 = mul i32 %t14373, 2 %t14376 = icmp eq i32 %t14373, 0 %t14377 = select i1 %t14376, i32 8, i32 %t14375 %t14378 = getelementptr ptr, ptr null, i32 1 %t14379 = ptrtoint ptr %t14378 to i64 %t14380 = zext i32 %t14377 to i64 %t14381 = mul i64 %t14380, %t14379 %t14382 = load ptr, ptr %t14371 %t14383 = call ptr @realloc(ptr %t14382, i64 %t14381) store ptr %t14383, ptr %t14371 store i32 %t14377, ptr %t14370 br label %put2918 put2918: %t14384 = load ptr, ptr %t14371 %t14385 = getelementptr inbounds ptr, ptr %t14384, i32 %t14372 store ptr @.str8898, ptr %t14385 %t14386 = add i32 %t14372, 1 store i32 %t14386, ptr %t14369 br label %ifend2916 ifend2916: %t14387 = load ptr, ptr %t1 %t14388 = call i32 @lp_str_eq(ptr %t14387, ptr @.str8899) %t14389 = icmp ne i32 %t14388, 0 br i1 %t14389, label %then2919, label %ifend2921 then2919: store ptr @.str8900, ptr %t420 %t14390 = load ptr, ptr %t427 %t14391 = getelementptr inbounds %LSlice, ptr %t14390, i32 0, i32 1 %t14392 = getelementptr inbounds %LSlice, ptr %t14390, i32 0, i32 2 %t14393 = getelementptr inbounds %LSlice, ptr %t14390, i32 0, i32 0 %t14394 = load i32, ptr %t14391 %t14395 = load i32, ptr %t14392 %t14396 = icmp sge i32 %t14394, %t14395 br i1 %t14396, label %grow2922, label %put2923 grow2922: %t14397 = mul i32 %t14395, 2 %t14398 = icmp eq i32 %t14395, 0 %t14399 = select i1 %t14398, i32 8, i32 %t14397 %t14400 = getelementptr ptr, ptr null, i32 1 %t14401 = ptrtoint ptr %t14400 to i64 %t14402 = zext i32 %t14399 to i64 %t14403 = mul i64 %t14402, %t14401 %t14404 = load ptr, ptr %t14393 %t14405 = call ptr @realloc(ptr %t14404, i64 %t14403) store ptr %t14405, ptr %t14393 store i32 %t14399, ptr %t14392 br label %put2923 put2923: %t14406 = load ptr, ptr %t14393 %t14407 = getelementptr inbounds ptr, ptr %t14406, i32 %t14394 store ptr @.str8901, ptr %t14407 %t14408 = add i32 %t14394, 1 store i32 %t14408, ptr %t14391 %t14409 = load ptr, ptr %t427 %t14410 = getelementptr inbounds %LSlice, ptr %t14409, i32 0, i32 1 %t14411 = getelementptr inbounds %LSlice, ptr %t14409, i32 0, i32 2 %t14412 = getelementptr inbounds %LSlice, ptr %t14409, i32 0, i32 0 %t14413 = load i32, ptr %t14410 %t14414 = load i32, ptr %t14411 %t14415 = icmp sge i32 %t14413, %t14414 br i1 %t14415, label %grow2924, label %put2925 grow2924: %t14416 = mul i32 %t14414, 2 %t14417 = icmp eq i32 %t14414, 0 %t14418 = select i1 %t14417, i32 8, i32 %t14416 %t14419 = getelementptr ptr, ptr null, i32 1 %t14420 = ptrtoint ptr %t14419 to i64 %t14421 = zext i32 %t14418 to i64 %t14422 = mul i64 %t14421, %t14420 %t14423 = load ptr, ptr %t14412 %t14424 = call ptr @realloc(ptr %t14423, i64 %t14422) store ptr %t14424, ptr %t14412 store i32 %t14418, ptr %t14411 br label %put2925 put2925: %t14425 = load ptr, ptr %t14412 %t14426 = getelementptr inbounds ptr, ptr %t14425, i32 %t14413 store ptr @.str8902, ptr %t14426 %t14427 = add i32 %t14413, 1 store i32 %t14427, ptr %t14410 br label %ifend2921 ifend2921: %t14428 = load ptr, ptr %t1 %t14429 = call i32 @lp_str_eq(ptr %t14428, ptr @.str8903) %t14430 = icmp ne i32 %t14429, 0 br i1 %t14430, label %then2926, label %ifend2928 then2926: store ptr @.str8904, ptr %t420 %t14431 = load ptr, ptr %t427 %t14432 = getelementptr inbounds %LSlice, ptr %t14431, i32 0, i32 1 %t14433 = getelementptr inbounds %LSlice, ptr %t14431, i32 0, i32 2 %t14434 = getelementptr inbounds %LSlice, ptr %t14431, i32 0, i32 0 %t14435 = load i32, ptr %t14432 %t14436 = load i32, ptr %t14433 %t14437 = icmp sge i32 %t14435, %t14436 br i1 %t14437, label %grow2929, label %put2930 grow2929: %t14438 = mul i32 %t14436, 2 %t14439 = icmp eq i32 %t14436, 0 %t14440 = select i1 %t14439, i32 8, i32 %t14438 %t14441 = getelementptr ptr, ptr null, i32 1 %t14442 = ptrtoint ptr %t14441 to i64 %t14443 = zext i32 %t14440 to i64 %t14444 = mul i64 %t14443, %t14442 %t14445 = load ptr, ptr %t14434 %t14446 = call ptr @realloc(ptr %t14445, i64 %t14444) store ptr %t14446, ptr %t14434 store i32 %t14440, ptr %t14433 br label %put2930 put2930: %t14447 = load ptr, ptr %t14434 %t14448 = getelementptr inbounds ptr, ptr %t14447, i32 %t14435 store ptr @.str8905, ptr %t14448 %t14449 = add i32 %t14435, 1 store i32 %t14449, ptr %t14432 %t14450 = load ptr, ptr %t427 %t14451 = getelementptr inbounds %LSlice, ptr %t14450, i32 0, i32 1 %t14452 = getelementptr inbounds %LSlice, ptr %t14450, i32 0, i32 2 %t14453 = getelementptr inbounds %LSlice, ptr %t14450, i32 0, i32 0 %t14454 = load i32, ptr %t14451 %t14455 = load i32, ptr %t14452 %t14456 = icmp sge i32 %t14454, %t14455 br i1 %t14456, label %grow2931, label %put2932 grow2931: %t14457 = mul i32 %t14455, 2 %t14458 = icmp eq i32 %t14455, 0 %t14459 = select i1 %t14458, i32 8, i32 %t14457 %t14460 = getelementptr ptr, ptr null, i32 1 %t14461 = ptrtoint ptr %t14460 to i64 %t14462 = zext i32 %t14459 to i64 %t14463 = mul i64 %t14462, %t14461 %t14464 = load ptr, ptr %t14453 %t14465 = call ptr @realloc(ptr %t14464, i64 %t14463) store ptr %t14465, ptr %t14453 store i32 %t14459, ptr %t14452 br label %put2932 put2932: %t14466 = load ptr, ptr %t14453 %t14467 = getelementptr inbounds ptr, ptr %t14466, i32 %t14454 store ptr @.str8906, ptr %t14467 %t14468 = add i32 %t14454, 1 store i32 %t14468, ptr %t14451 %t14469 = load ptr, ptr %t427 %t14470 = getelementptr inbounds %LSlice, ptr %t14469, i32 0, i32 1 %t14471 = getelementptr inbounds %LSlice, ptr %t14469, i32 0, i32 2 %t14472 = getelementptr inbounds %LSlice, ptr %t14469, i32 0, i32 0 %t14473 = load i32, ptr %t14470 %t14474 = load i32, ptr %t14471 %t14475 = icmp sge i32 %t14473, %t14474 br i1 %t14475, label %grow2933, label %put2934 grow2933: %t14476 = mul i32 %t14474, 2 %t14477 = icmp eq i32 %t14474, 0 %t14478 = select i1 %t14477, i32 8, i32 %t14476 %t14479 = getelementptr ptr, ptr null, i32 1 %t14480 = ptrtoint ptr %t14479 to i64 %t14481 = zext i32 %t14478 to i64 %t14482 = mul i64 %t14481, %t14480 %t14483 = load ptr, ptr %t14472 %t14484 = call ptr @realloc(ptr %t14483, i64 %t14482) store ptr %t14484, ptr %t14472 store i32 %t14478, ptr %t14471 br label %put2934 put2934: %t14485 = load ptr, ptr %t14472 %t14486 = getelementptr inbounds ptr, ptr %t14485, i32 %t14473 store ptr @.str8907, ptr %t14486 %t14487 = add i32 %t14473, 1 store i32 %t14487, ptr %t14470 br label %ifend2928 ifend2928: %t14488 = load ptr, ptr %t1 %t14489 = call i32 @lp_str_eq(ptr %t14488, ptr @.str8908) %t14490 = icmp ne i32 %t14489, 0 br i1 %t14490, label %then2935, label %ifend2937 then2935: store ptr @.str8909, ptr %t420 %t14491 = load ptr, ptr %t427 %t14492 = getelementptr inbounds %LSlice, ptr %t14491, i32 0, i32 1 %t14493 = getelementptr inbounds %LSlice, ptr %t14491, i32 0, i32 2 %t14494 = getelementptr inbounds %LSlice, ptr %t14491, i32 0, i32 0 %t14495 = load i32, ptr %t14492 %t14496 = load i32, ptr %t14493 %t14497 = icmp sge i32 %t14495, %t14496 br i1 %t14497, label %grow2938, label %put2939 grow2938: %t14498 = mul i32 %t14496, 2 %t14499 = icmp eq i32 %t14496, 0 %t14500 = select i1 %t14499, i32 8, i32 %t14498 %t14501 = getelementptr ptr, ptr null, i32 1 %t14502 = ptrtoint ptr %t14501 to i64 %t14503 = zext i32 %t14500 to i64 %t14504 = mul i64 %t14503, %t14502 %t14505 = load ptr, ptr %t14494 %t14506 = call ptr @realloc(ptr %t14505, i64 %t14504) store ptr %t14506, ptr %t14494 store i32 %t14500, ptr %t14493 br label %put2939 put2939: %t14507 = load ptr, ptr %t14494 %t14508 = getelementptr inbounds ptr, ptr %t14507, i32 %t14495 store ptr @.str8910, ptr %t14508 %t14509 = add i32 %t14495, 1 store i32 %t14509, ptr %t14492 %t14510 = load ptr, ptr %t427 %t14511 = getelementptr inbounds %LSlice, ptr %t14510, i32 0, i32 1 %t14512 = getelementptr inbounds %LSlice, ptr %t14510, i32 0, i32 2 %t14513 = getelementptr inbounds %LSlice, ptr %t14510, i32 0, i32 0 %t14514 = load i32, ptr %t14511 %t14515 = load i32, ptr %t14512 %t14516 = icmp sge i32 %t14514, %t14515 br i1 %t14516, label %grow2940, label %put2941 grow2940: %t14517 = mul i32 %t14515, 2 %t14518 = icmp eq i32 %t14515, 0 %t14519 = select i1 %t14518, i32 8, i32 %t14517 %t14520 = getelementptr ptr, ptr null, i32 1 %t14521 = ptrtoint ptr %t14520 to i64 %t14522 = zext i32 %t14519 to i64 %t14523 = mul i64 %t14522, %t14521 %t14524 = load ptr, ptr %t14513 %t14525 = call ptr @realloc(ptr %t14524, i64 %t14523) store ptr %t14525, ptr %t14513 store i32 %t14519, ptr %t14512 br label %put2941 put2941: %t14526 = load ptr, ptr %t14513 %t14527 = getelementptr inbounds ptr, ptr %t14526, i32 %t14514 store ptr @.str8911, ptr %t14527 %t14528 = add i32 %t14514, 1 store i32 %t14528, ptr %t14511 %t14529 = load ptr, ptr %t427 %t14530 = getelementptr inbounds %LSlice, ptr %t14529, i32 0, i32 1 %t14531 = getelementptr inbounds %LSlice, ptr %t14529, i32 0, i32 2 %t14532 = getelementptr inbounds %LSlice, ptr %t14529, i32 0, i32 0 %t14533 = load i32, ptr %t14530 %t14534 = load i32, ptr %t14531 %t14535 = icmp sge i32 %t14533, %t14534 br i1 %t14535, label %grow2942, label %put2943 grow2942: %t14536 = mul i32 %t14534, 2 %t14537 = icmp eq i32 %t14534, 0 %t14538 = select i1 %t14537, i32 8, i32 %t14536 %t14539 = getelementptr ptr, ptr null, i32 1 %t14540 = ptrtoint ptr %t14539 to i64 %t14541 = zext i32 %t14538 to i64 %t14542 = mul i64 %t14541, %t14540 %t14543 = load ptr, ptr %t14532 %t14544 = call ptr @realloc(ptr %t14543, i64 %t14542) store ptr %t14544, ptr %t14532 store i32 %t14538, ptr %t14531 br label %put2943 put2943: %t14545 = load ptr, ptr %t14532 %t14546 = getelementptr inbounds ptr, ptr %t14545, i32 %t14533 store ptr @.str8912, ptr %t14546 %t14547 = add i32 %t14533, 1 store i32 %t14547, ptr %t14530 %t14548 = load ptr, ptr %t427 %t14549 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 1 %t14550 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 2 %t14551 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 0 %t14552 = load i32, ptr %t14549 %t14553 = load i32, ptr %t14550 %t14554 = icmp sge i32 %t14552, %t14553 br i1 %t14554, label %grow2944, label %put2945 grow2944: %t14555 = mul i32 %t14553, 2 %t14556 = icmp eq i32 %t14553, 0 %t14557 = select i1 %t14556, i32 8, i32 %t14555 %t14558 = getelementptr ptr, ptr null, i32 1 %t14559 = ptrtoint ptr %t14558 to i64 %t14560 = zext i32 %t14557 to i64 %t14561 = mul i64 %t14560, %t14559 %t14562 = load ptr, ptr %t14551 %t14563 = call ptr @realloc(ptr %t14562, i64 %t14561) store ptr %t14563, ptr %t14551 store i32 %t14557, ptr %t14550 br label %put2945 put2945: %t14564 = load ptr, ptr %t14551 %t14565 = getelementptr inbounds ptr, ptr %t14564, i32 %t14552 store ptr @.str8913, ptr %t14565 %t14566 = add i32 %t14552, 1 store i32 %t14566, ptr %t14549 br label %ifend2937 ifend2937: %t14567 = load ptr, ptr %t1 %t14568 = call i32 @lp_str_eq(ptr %t14567, ptr @.str8914) %t14569 = icmp ne i32 %t14568, 0 br i1 %t14569, label %then2946, label %ifend2948 then2946: store ptr @.str8915, ptr %t420 %t14570 = load ptr, ptr %t427 %t14571 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 1 %t14572 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 2 %t14573 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 0 %t14574 = load i32, ptr %t14571 %t14575 = load i32, ptr %t14572 %t14576 = icmp sge i32 %t14574, %t14575 br i1 %t14576, label %grow2949, label %put2950 grow2949: %t14577 = mul i32 %t14575, 2 %t14578 = icmp eq i32 %t14575, 0 %t14579 = select i1 %t14578, i32 8, i32 %t14577 %t14580 = getelementptr ptr, ptr null, i32 1 %t14581 = ptrtoint ptr %t14580 to i64 %t14582 = zext i32 %t14579 to i64 %t14583 = mul i64 %t14582, %t14581 %t14584 = load ptr, ptr %t14573 %t14585 = call ptr @realloc(ptr %t14584, i64 %t14583) store ptr %t14585, ptr %t14573 store i32 %t14579, ptr %t14572 br label %put2950 put2950: %t14586 = load ptr, ptr %t14573 %t14587 = getelementptr inbounds ptr, ptr %t14586, i32 %t14574 store ptr @.str8916, ptr %t14587 %t14588 = add i32 %t14574, 1 store i32 %t14588, ptr %t14571 %t14589 = load ptr, ptr %t427 %t14590 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 1 %t14591 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 2 %t14592 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 0 %t14593 = load i32, ptr %t14590 %t14594 = load i32, ptr %t14591 %t14595 = icmp sge i32 %t14593, %t14594 br i1 %t14595, label %grow2951, label %put2952 grow2951: %t14596 = mul i32 %t14594, 2 %t14597 = icmp eq i32 %t14594, 0 %t14598 = select i1 %t14597, i32 8, i32 %t14596 %t14599 = getelementptr ptr, ptr null, i32 1 %t14600 = ptrtoint ptr %t14599 to i64 %t14601 = zext i32 %t14598 to i64 %t14602 = mul i64 %t14601, %t14600 %t14603 = load ptr, ptr %t14592 %t14604 = call ptr @realloc(ptr %t14603, i64 %t14602) store ptr %t14604, ptr %t14592 store i32 %t14598, ptr %t14591 br label %put2952 put2952: %t14605 = load ptr, ptr %t14592 %t14606 = getelementptr inbounds ptr, ptr %t14605, i32 %t14593 store ptr @.str8917, ptr %t14606 %t14607 = add i32 %t14593, 1 store i32 %t14607, ptr %t14590 %t14608 = load ptr, ptr %t427 %t14609 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 1 %t14610 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 2 %t14611 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 0 %t14612 = load i32, ptr %t14609 %t14613 = load i32, ptr %t14610 %t14614 = icmp sge i32 %t14612, %t14613 br i1 %t14614, label %grow2953, label %put2954 grow2953: %t14615 = mul i32 %t14613, 2 %t14616 = icmp eq i32 %t14613, 0 %t14617 = select i1 %t14616, i32 8, i32 %t14615 %t14618 = getelementptr ptr, ptr null, i32 1 %t14619 = ptrtoint ptr %t14618 to i64 %t14620 = zext i32 %t14617 to i64 %t14621 = mul i64 %t14620, %t14619 %t14622 = load ptr, ptr %t14611 %t14623 = call ptr @realloc(ptr %t14622, i64 %t14621) store ptr %t14623, ptr %t14611 store i32 %t14617, ptr %t14610 br label %put2954 put2954: %t14624 = load ptr, ptr %t14611 %t14625 = getelementptr inbounds ptr, ptr %t14624, i32 %t14612 store ptr @.str8918, ptr %t14625 %t14626 = add i32 %t14612, 1 store i32 %t14626, ptr %t14609 br label %ifend2948 ifend2948: %t14627 = load ptr, ptr %t1 %t14628 = call i32 @lp_str_eq(ptr %t14627, ptr @.str8919) %t14629 = icmp ne i32 %t14628, 0 br i1 %t14629, label %then2955, label %ifend2957 then2955: store ptr @.str8920, ptr %t420 %t14630 = load ptr, ptr %t427 %t14631 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 1 %t14632 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 2 %t14633 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 0 %t14634 = load i32, ptr %t14631 %t14635 = load i32, ptr %t14632 %t14636 = icmp sge i32 %t14634, %t14635 br i1 %t14636, label %grow2958, label %put2959 grow2958: %t14637 = mul i32 %t14635, 2 %t14638 = icmp eq i32 %t14635, 0 %t14639 = select i1 %t14638, i32 8, i32 %t14637 %t14640 = getelementptr ptr, ptr null, i32 1 %t14641 = ptrtoint ptr %t14640 to i64 %t14642 = zext i32 %t14639 to i64 %t14643 = mul i64 %t14642, %t14641 %t14644 = load ptr, ptr %t14633 %t14645 = call ptr @realloc(ptr %t14644, i64 %t14643) store ptr %t14645, ptr %t14633 store i32 %t14639, ptr %t14632 br label %put2959 put2959: %t14646 = load ptr, ptr %t14633 %t14647 = getelementptr inbounds ptr, ptr %t14646, i32 %t14634 store ptr @.str8921, ptr %t14647 %t14648 = add i32 %t14634, 1 store i32 %t14648, ptr %t14631 %t14649 = load ptr, ptr %t427 %t14650 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 1 %t14651 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 2 %t14652 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 0 %t14653 = load i32, ptr %t14650 %t14654 = load i32, ptr %t14651 %t14655 = icmp sge i32 %t14653, %t14654 br i1 %t14655, label %grow2960, label %put2961 grow2960: %t14656 = mul i32 %t14654, 2 %t14657 = icmp eq i32 %t14654, 0 %t14658 = select i1 %t14657, i32 8, i32 %t14656 %t14659 = getelementptr ptr, ptr null, i32 1 %t14660 = ptrtoint ptr %t14659 to i64 %t14661 = zext i32 %t14658 to i64 %t14662 = mul i64 %t14661, %t14660 %t14663 = load ptr, ptr %t14652 %t14664 = call ptr @realloc(ptr %t14663, i64 %t14662) store ptr %t14664, ptr %t14652 store i32 %t14658, ptr %t14651 br label %put2961 put2961: %t14665 = load ptr, ptr %t14652 %t14666 = getelementptr inbounds ptr, ptr %t14665, i32 %t14653 store ptr @.str8922, ptr %t14666 %t14667 = add i32 %t14653, 1 store i32 %t14667, ptr %t14650 br label %ifend2957 ifend2957: %t14668 = load ptr, ptr %t1 %t14669 = call i32 @lp_str_eq(ptr %t14668, ptr @.str8923) %t14670 = icmp ne i32 %t14669, 0 br i1 %t14670, label %then2962, label %ifend2964 then2962: store ptr @.str8924, ptr %t420 %t14671 = load ptr, ptr %t427 %t14672 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 1 %t14673 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 2 %t14674 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 0 %t14675 = load i32, ptr %t14672 %t14676 = load i32, ptr %t14673 %t14677 = icmp sge i32 %t14675, %t14676 br i1 %t14677, label %grow2965, label %put2966 grow2965: %t14678 = mul i32 %t14676, 2 %t14679 = icmp eq i32 %t14676, 0 %t14680 = select i1 %t14679, i32 8, i32 %t14678 %t14681 = getelementptr ptr, ptr null, i32 1 %t14682 = ptrtoint ptr %t14681 to i64 %t14683 = zext i32 %t14680 to i64 %t14684 = mul i64 %t14683, %t14682 %t14685 = load ptr, ptr %t14674 %t14686 = call ptr @realloc(ptr %t14685, i64 %t14684) store ptr %t14686, ptr %t14674 store i32 %t14680, ptr %t14673 br label %put2966 put2966: %t14687 = load ptr, ptr %t14674 %t14688 = getelementptr inbounds ptr, ptr %t14687, i32 %t14675 store ptr @.str8925, ptr %t14688 %t14689 = add i32 %t14675, 1 store i32 %t14689, ptr %t14672 %t14690 = load ptr, ptr %t427 %t14691 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 1 %t14692 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 2 %t14693 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 0 %t14694 = load i32, ptr %t14691 %t14695 = load i32, ptr %t14692 %t14696 = icmp sge i32 %t14694, %t14695 br i1 %t14696, label %grow2967, label %put2968 grow2967: %t14697 = mul i32 %t14695, 2 %t14698 = icmp eq i32 %t14695, 0 %t14699 = select i1 %t14698, i32 8, i32 %t14697 %t14700 = getelementptr ptr, ptr null, i32 1 %t14701 = ptrtoint ptr %t14700 to i64 %t14702 = zext i32 %t14699 to i64 %t14703 = mul i64 %t14702, %t14701 %t14704 = load ptr, ptr %t14693 %t14705 = call ptr @realloc(ptr %t14704, i64 %t14703) store ptr %t14705, ptr %t14693 store i32 %t14699, ptr %t14692 br label %put2968 put2968: %t14706 = load ptr, ptr %t14693 %t14707 = getelementptr inbounds ptr, ptr %t14706, i32 %t14694 store ptr @.str8926, ptr %t14707 %t14708 = add i32 %t14694, 1 store i32 %t14708, ptr %t14691 br label %ifend2964 ifend2964: %t14709 = load ptr, ptr %t1 %t14710 = call i32 @lp_str_eq(ptr %t14709, ptr @.str8927) %t14711 = icmp ne i32 %t14710, 0 br i1 %t14711, label %then2969, label %ifend2971 then2969: store ptr @.str8928, ptr %t420 %t14712 = load ptr, ptr %t427 %t14713 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 1 %t14714 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 2 %t14715 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 0 %t14716 = load i32, ptr %t14713 %t14717 = load i32, ptr %t14714 %t14718 = icmp sge i32 %t14716, %t14717 br i1 %t14718, label %grow2972, label %put2973 grow2972: %t14719 = mul i32 %t14717, 2 %t14720 = icmp eq i32 %t14717, 0 %t14721 = select i1 %t14720, i32 8, i32 %t14719 %t14722 = getelementptr ptr, ptr null, i32 1 %t14723 = ptrtoint ptr %t14722 to i64 %t14724 = zext i32 %t14721 to i64 %t14725 = mul i64 %t14724, %t14723 %t14726 = load ptr, ptr %t14715 %t14727 = call ptr @realloc(ptr %t14726, i64 %t14725) store ptr %t14727, ptr %t14715 store i32 %t14721, ptr %t14714 br label %put2973 put2973: %t14728 = load ptr, ptr %t14715 %t14729 = getelementptr inbounds ptr, ptr %t14728, i32 %t14716 store ptr @.str8929, ptr %t14729 %t14730 = add i32 %t14716, 1 store i32 %t14730, ptr %t14713 %t14731 = load ptr, ptr %t427 %t14732 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 1 %t14733 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 2 %t14734 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 0 %t14735 = load i32, ptr %t14732 %t14736 = load i32, ptr %t14733 %t14737 = icmp sge i32 %t14735, %t14736 br i1 %t14737, label %grow2974, label %put2975 grow2974: %t14738 = mul i32 %t14736, 2 %t14739 = icmp eq i32 %t14736, 0 %t14740 = select i1 %t14739, i32 8, i32 %t14738 %t14741 = getelementptr ptr, ptr null, i32 1 %t14742 = ptrtoint ptr %t14741 to i64 %t14743 = zext i32 %t14740 to i64 %t14744 = mul i64 %t14743, %t14742 %t14745 = load ptr, ptr %t14734 %t14746 = call ptr @realloc(ptr %t14745, i64 %t14744) store ptr %t14746, ptr %t14734 store i32 %t14740, ptr %t14733 br label %put2975 put2975: %t14747 = load ptr, ptr %t14734 %t14748 = getelementptr inbounds ptr, ptr %t14747, i32 %t14735 store ptr @.str8930, ptr %t14748 %t14749 = add i32 %t14735, 1 store i32 %t14749, ptr %t14732 br label %ifend2971 ifend2971: %t14750 = load ptr, ptr %t1 %t14751 = call i32 @lp_str_eq(ptr %t14750, ptr @.str8931) %t14752 = icmp ne i32 %t14751, 0 br i1 %t14752, label %then2976, label %ifend2978 then2976: store ptr @.str8932, ptr %t420 %t14753 = load ptr, ptr %t427 %t14754 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 1 %t14755 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 2 %t14756 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 0 %t14757 = load i32, ptr %t14754 %t14758 = load i32, ptr %t14755 %t14759 = icmp sge i32 %t14757, %t14758 br i1 %t14759, label %grow2979, label %put2980 grow2979: %t14760 = mul i32 %t14758, 2 %t14761 = icmp eq i32 %t14758, 0 %t14762 = select i1 %t14761, i32 8, i32 %t14760 %t14763 = getelementptr ptr, ptr null, i32 1 %t14764 = ptrtoint ptr %t14763 to i64 %t14765 = zext i32 %t14762 to i64 %t14766 = mul i64 %t14765, %t14764 %t14767 = load ptr, ptr %t14756 %t14768 = call ptr @realloc(ptr %t14767, i64 %t14766) store ptr %t14768, ptr %t14756 store i32 %t14762, ptr %t14755 br label %put2980 put2980: %t14769 = load ptr, ptr %t14756 %t14770 = getelementptr inbounds ptr, ptr %t14769, i32 %t14757 store ptr @.str8933, ptr %t14770 %t14771 = add i32 %t14757, 1 store i32 %t14771, ptr %t14754 %t14772 = load ptr, ptr %t427 %t14773 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 1 %t14774 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 2 %t14775 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 0 %t14776 = load i32, ptr %t14773 %t14777 = load i32, ptr %t14774 %t14778 = icmp sge i32 %t14776, %t14777 br i1 %t14778, label %grow2981, label %put2982 grow2981: %t14779 = mul i32 %t14777, 2 %t14780 = icmp eq i32 %t14777, 0 %t14781 = select i1 %t14780, i32 8, i32 %t14779 %t14782 = getelementptr ptr, ptr null, i32 1 %t14783 = ptrtoint ptr %t14782 to i64 %t14784 = zext i32 %t14781 to i64 %t14785 = mul i64 %t14784, %t14783 %t14786 = load ptr, ptr %t14775 %t14787 = call ptr @realloc(ptr %t14786, i64 %t14785) store ptr %t14787, ptr %t14775 store i32 %t14781, ptr %t14774 br label %put2982 put2982: %t14788 = load ptr, ptr %t14775 %t14789 = getelementptr inbounds ptr, ptr %t14788, i32 %t14776 store ptr @.str8934, ptr %t14789 %t14790 = add i32 %t14776, 1 store i32 %t14790, ptr %t14773 br label %ifend2978 ifend2978: %t14791 = load ptr, ptr %t1 %t14792 = call i32 @lp_str_eq(ptr %t14791, ptr @.str8935) %t14793 = icmp ne i32 %t14792, 0 br i1 %t14793, label %then2983, label %ifend2985 then2983: store ptr @.str8936, ptr %t420 %t14794 = load ptr, ptr %t427 %t14795 = getelementptr inbounds %LSlice, ptr %t14794, i32 0, i32 1 %t14796 = getelementptr inbounds %LSlice, ptr %t14794, i32 0, i32 2 %t14797 = getelementptr inbounds %LSlice, ptr %t14794, i32 0, i32 0 %t14798 = load i32, ptr %t14795 %t14799 = load i32, ptr %t14796 %t14800 = icmp sge i32 %t14798, %t14799 br i1 %t14800, label %grow2986, label %put2987 grow2986: %t14801 = mul i32 %t14799, 2 %t14802 = icmp eq i32 %t14799, 0 %t14803 = select i1 %t14802, i32 8, i32 %t14801 %t14804 = getelementptr ptr, ptr null, i32 1 %t14805 = ptrtoint ptr %t14804 to i64 %t14806 = zext i32 %t14803 to i64 %t14807 = mul i64 %t14806, %t14805 %t14808 = load ptr, ptr %t14797 %t14809 = call ptr @realloc(ptr %t14808, i64 %t14807) store ptr %t14809, ptr %t14797 store i32 %t14803, ptr %t14796 br label %put2987 put2987: %t14810 = load ptr, ptr %t14797 %t14811 = getelementptr inbounds ptr, ptr %t14810, i32 %t14798 store ptr @.str8937, ptr %t14811 %t14812 = add i32 %t14798, 1 store i32 %t14812, ptr %t14795 br label %ifend2985 ifend2985: %t14813 = load ptr, ptr %t1 %t14814 = call i32 @lp_str_eq(ptr %t14813, ptr @.str8938) %t14815 = icmp ne i32 %t14814, 0 br i1 %t14815, label %then2988, label %ifend2990 then2988: store ptr @.str8939, ptr %t420 %t14816 = load ptr, ptr %t427 %t14817 = getelementptr inbounds %LSlice, ptr %t14816, i32 0, i32 1 %t14818 = getelementptr inbounds %LSlice, ptr %t14816, i32 0, i32 2 %t14819 = getelementptr inbounds %LSlice, ptr %t14816, i32 0, i32 0 %t14820 = load i32, ptr %t14817 %t14821 = load i32, ptr %t14818 %t14822 = icmp sge i32 %t14820, %t14821 br i1 %t14822, label %grow2991, label %put2992 grow2991: %t14823 = mul i32 %t14821, 2 %t14824 = icmp eq i32 %t14821, 0 %t14825 = select i1 %t14824, i32 8, i32 %t14823 %t14826 = getelementptr ptr, ptr null, i32 1 %t14827 = ptrtoint ptr %t14826 to i64 %t14828 = zext i32 %t14825 to i64 %t14829 = mul i64 %t14828, %t14827 %t14830 = load ptr, ptr %t14819 %t14831 = call ptr @realloc(ptr %t14830, i64 %t14829) store ptr %t14831, ptr %t14819 store i32 %t14825, ptr %t14818 br label %put2992 put2992: %t14832 = load ptr, ptr %t14819 %t14833 = getelementptr inbounds ptr, ptr %t14832, i32 %t14820 store ptr @.str8940, ptr %t14833 %t14834 = add i32 %t14820, 1 store i32 %t14834, ptr %t14817 %t14835 = load ptr, ptr %t427 %t14836 = getelementptr inbounds %LSlice, ptr %t14835, i32 0, i32 1 %t14837 = getelementptr inbounds %LSlice, ptr %t14835, i32 0, i32 2 %t14838 = getelementptr inbounds %LSlice, ptr %t14835, i32 0, i32 0 %t14839 = load i32, ptr %t14836 %t14840 = load i32, ptr %t14837 %t14841 = icmp sge i32 %t14839, %t14840 br i1 %t14841, label %grow2993, label %put2994 grow2993: %t14842 = mul i32 %t14840, 2 %t14843 = icmp eq i32 %t14840, 0 %t14844 = select i1 %t14843, i32 8, i32 %t14842 %t14845 = getelementptr ptr, ptr null, i32 1 %t14846 = ptrtoint ptr %t14845 to i64 %t14847 = zext i32 %t14844 to i64 %t14848 = mul i64 %t14847, %t14846 %t14849 = load ptr, ptr %t14838 %t14850 = call ptr @realloc(ptr %t14849, i64 %t14848) store ptr %t14850, ptr %t14838 store i32 %t14844, ptr %t14837 br label %put2994 put2994: %t14851 = load ptr, ptr %t14838 %t14852 = getelementptr inbounds ptr, ptr %t14851, i32 %t14839 store ptr @.str8941, ptr %t14852 %t14853 = add i32 %t14839, 1 store i32 %t14853, ptr %t14836 %t14854 = load ptr, ptr %t427 %t14855 = getelementptr inbounds %LSlice, ptr %t14854, i32 0, i32 1 %t14856 = getelementptr inbounds %LSlice, ptr %t14854, i32 0, i32 2 %t14857 = getelementptr inbounds %LSlice, ptr %t14854, i32 0, i32 0 %t14858 = load i32, ptr %t14855 %t14859 = load i32, ptr %t14856 %t14860 = icmp sge i32 %t14858, %t14859 br i1 %t14860, label %grow2995, label %put2996 grow2995: %t14861 = mul i32 %t14859, 2 %t14862 = icmp eq i32 %t14859, 0 %t14863 = select i1 %t14862, i32 8, i32 %t14861 %t14864 = getelementptr ptr, ptr null, i32 1 %t14865 = ptrtoint ptr %t14864 to i64 %t14866 = zext i32 %t14863 to i64 %t14867 = mul i64 %t14866, %t14865 %t14868 = load ptr, ptr %t14857 %t14869 = call ptr @realloc(ptr %t14868, i64 %t14867) store ptr %t14869, ptr %t14857 store i32 %t14863, ptr %t14856 br label %put2996 put2996: %t14870 = load ptr, ptr %t14857 %t14871 = getelementptr inbounds ptr, ptr %t14870, i32 %t14858 store ptr @.str8942, ptr %t14871 %t14872 = add i32 %t14858, 1 store i32 %t14872, ptr %t14855 br label %ifend2990 ifend2990: %t14873 = load ptr, ptr %t1 %t14874 = call i32 @lp_str_eq(ptr %t14873, ptr @.str8943) %t14875 = icmp ne i32 %t14874, 0 br i1 %t14875, label %then2997, label %ifend2999 then2997: store ptr @.str8944, ptr %t420 %t14876 = load ptr, ptr %t427 %t14877 = getelementptr inbounds %LSlice, ptr %t14876, i32 0, i32 1 %t14878 = getelementptr inbounds %LSlice, ptr %t14876, i32 0, i32 2 %t14879 = getelementptr inbounds %LSlice, ptr %t14876, i32 0, i32 0 %t14880 = load i32, ptr %t14877 %t14881 = load i32, ptr %t14878 %t14882 = icmp sge i32 %t14880, %t14881 br i1 %t14882, label %grow3000, label %put3001 grow3000: %t14883 = mul i32 %t14881, 2 %t14884 = icmp eq i32 %t14881, 0 %t14885 = select i1 %t14884, i32 8, i32 %t14883 %t14886 = getelementptr ptr, ptr null, i32 1 %t14887 = ptrtoint ptr %t14886 to i64 %t14888 = zext i32 %t14885 to i64 %t14889 = mul i64 %t14888, %t14887 %t14890 = load ptr, ptr %t14879 %t14891 = call ptr @realloc(ptr %t14890, i64 %t14889) store ptr %t14891, ptr %t14879 store i32 %t14885, ptr %t14878 br label %put3001 put3001: %t14892 = load ptr, ptr %t14879 %t14893 = getelementptr inbounds ptr, ptr %t14892, i32 %t14880 store ptr @.str8945, ptr %t14893 %t14894 = add i32 %t14880, 1 store i32 %t14894, ptr %t14877 %t14895 = load ptr, ptr %t427 %t14896 = getelementptr inbounds %LSlice, ptr %t14895, i32 0, i32 1 %t14897 = getelementptr inbounds %LSlice, ptr %t14895, i32 0, i32 2 %t14898 = getelementptr inbounds %LSlice, ptr %t14895, i32 0, i32 0 %t14899 = load i32, ptr %t14896 %t14900 = load i32, ptr %t14897 %t14901 = icmp sge i32 %t14899, %t14900 br i1 %t14901, label %grow3002, label %put3003 grow3002: %t14902 = mul i32 %t14900, 2 %t14903 = icmp eq i32 %t14900, 0 %t14904 = select i1 %t14903, i32 8, i32 %t14902 %t14905 = getelementptr ptr, ptr null, i32 1 %t14906 = ptrtoint ptr %t14905 to i64 %t14907 = zext i32 %t14904 to i64 %t14908 = mul i64 %t14907, %t14906 %t14909 = load ptr, ptr %t14898 %t14910 = call ptr @realloc(ptr %t14909, i64 %t14908) store ptr %t14910, ptr %t14898 store i32 %t14904, ptr %t14897 br label %put3003 put3003: %t14911 = load ptr, ptr %t14898 %t14912 = getelementptr inbounds ptr, ptr %t14911, i32 %t14899 store ptr @.str8946, ptr %t14912 %t14913 = add i32 %t14899, 1 store i32 %t14913, ptr %t14896 br label %ifend2999 ifend2999: %t14914 = load ptr, ptr %t1 %t14915 = call i32 @lp_str_eq(ptr %t14914, ptr @.str8947) %t14916 = icmp ne i32 %t14915, 0 br i1 %t14916, label %then3004, label %ifend3006 then3004: store ptr @.str8948, ptr %t420 %t14917 = load ptr, ptr %t427 %t14918 = getelementptr inbounds %LSlice, ptr %t14917, i32 0, i32 1 %t14919 = getelementptr inbounds %LSlice, ptr %t14917, i32 0, i32 2 %t14920 = getelementptr inbounds %LSlice, ptr %t14917, i32 0, i32 0 %t14921 = load i32, ptr %t14918 %t14922 = load i32, ptr %t14919 %t14923 = icmp sge i32 %t14921, %t14922 br i1 %t14923, label %grow3007, label %put3008 grow3007: %t14924 = mul i32 %t14922, 2 %t14925 = icmp eq i32 %t14922, 0 %t14926 = select i1 %t14925, i32 8, i32 %t14924 %t14927 = getelementptr ptr, ptr null, i32 1 %t14928 = ptrtoint ptr %t14927 to i64 %t14929 = zext i32 %t14926 to i64 %t14930 = mul i64 %t14929, %t14928 %t14931 = load ptr, ptr %t14920 %t14932 = call ptr @realloc(ptr %t14931, i64 %t14930) store ptr %t14932, ptr %t14920 store i32 %t14926, ptr %t14919 br label %put3008 put3008: %t14933 = load ptr, ptr %t14920 %t14934 = getelementptr inbounds ptr, ptr %t14933, i32 %t14921 store ptr @.str8949, ptr %t14934 %t14935 = add i32 %t14921, 1 store i32 %t14935, ptr %t14918 %t14936 = load ptr, ptr %t427 %t14937 = getelementptr inbounds %LSlice, ptr %t14936, i32 0, i32 1 %t14938 = getelementptr inbounds %LSlice, ptr %t14936, i32 0, i32 2 %t14939 = getelementptr inbounds %LSlice, ptr %t14936, i32 0, i32 0 %t14940 = load i32, ptr %t14937 %t14941 = load i32, ptr %t14938 %t14942 = icmp sge i32 %t14940, %t14941 br i1 %t14942, label %grow3009, label %put3010 grow3009: %t14943 = mul i32 %t14941, 2 %t14944 = icmp eq i32 %t14941, 0 %t14945 = select i1 %t14944, i32 8, i32 %t14943 %t14946 = getelementptr ptr, ptr null, i32 1 %t14947 = ptrtoint ptr %t14946 to i64 %t14948 = zext i32 %t14945 to i64 %t14949 = mul i64 %t14948, %t14947 %t14950 = load ptr, ptr %t14939 %t14951 = call ptr @realloc(ptr %t14950, i64 %t14949) store ptr %t14951, ptr %t14939 store i32 %t14945, ptr %t14938 br label %put3010 put3010: %t14952 = load ptr, ptr %t14939 %t14953 = getelementptr inbounds ptr, ptr %t14952, i32 %t14940 store ptr @.str8950, ptr %t14953 %t14954 = add i32 %t14940, 1 store i32 %t14954, ptr %t14937 br label %ifend3006 ifend3006: %t14955 = load ptr, ptr %t1 %t14956 = call i32 @lp_str_eq(ptr %t14955, ptr @.str8951) %t14957 = icmp ne i32 %t14956, 0 br i1 %t14957, label %then3011, label %ifend3013 then3011: store ptr @.str8952, ptr %t420 %t14958 = load ptr, ptr %t427 %t14959 = getelementptr inbounds %LSlice, ptr %t14958, i32 0, i32 1 %t14960 = getelementptr inbounds %LSlice, ptr %t14958, i32 0, i32 2 %t14961 = getelementptr inbounds %LSlice, ptr %t14958, i32 0, i32 0 %t14962 = load i32, ptr %t14959 %t14963 = load i32, ptr %t14960 %t14964 = icmp sge i32 %t14962, %t14963 br i1 %t14964, label %grow3014, label %put3015 grow3014: %t14965 = mul i32 %t14963, 2 %t14966 = icmp eq i32 %t14963, 0 %t14967 = select i1 %t14966, i32 8, i32 %t14965 %t14968 = getelementptr ptr, ptr null, i32 1 %t14969 = ptrtoint ptr %t14968 to i64 %t14970 = zext i32 %t14967 to i64 %t14971 = mul i64 %t14970, %t14969 %t14972 = load ptr, ptr %t14961 %t14973 = call ptr @realloc(ptr %t14972, i64 %t14971) store ptr %t14973, ptr %t14961 store i32 %t14967, ptr %t14960 br label %put3015 put3015: %t14974 = load ptr, ptr %t14961 %t14975 = getelementptr inbounds ptr, ptr %t14974, i32 %t14962 store ptr @.str8953, ptr %t14975 %t14976 = add i32 %t14962, 1 store i32 %t14976, ptr %t14959 %t14977 = load ptr, ptr %t427 %t14978 = getelementptr inbounds %LSlice, ptr %t14977, i32 0, i32 1 %t14979 = getelementptr inbounds %LSlice, ptr %t14977, i32 0, i32 2 %t14980 = getelementptr inbounds %LSlice, ptr %t14977, i32 0, i32 0 %t14981 = load i32, ptr %t14978 %t14982 = load i32, ptr %t14979 %t14983 = icmp sge i32 %t14981, %t14982 br i1 %t14983, label %grow3016, label %put3017 grow3016: %t14984 = mul i32 %t14982, 2 %t14985 = icmp eq i32 %t14982, 0 %t14986 = select i1 %t14985, i32 8, i32 %t14984 %t14987 = getelementptr ptr, ptr null, i32 1 %t14988 = ptrtoint ptr %t14987 to i64 %t14989 = zext i32 %t14986 to i64 %t14990 = mul i64 %t14989, %t14988 %t14991 = load ptr, ptr %t14980 %t14992 = call ptr @realloc(ptr %t14991, i64 %t14990) store ptr %t14992, ptr %t14980 store i32 %t14986, ptr %t14979 br label %put3017 put3017: %t14993 = load ptr, ptr %t14980 %t14994 = getelementptr inbounds ptr, ptr %t14993, i32 %t14981 store ptr @.str8954, ptr %t14994 %t14995 = add i32 %t14981, 1 store i32 %t14995, ptr %t14978 %t14996 = load ptr, ptr %t427 %t14997 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 1 %t14998 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 2 %t14999 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 0 %t15000 = load i32, ptr %t14997 %t15001 = load i32, ptr %t14998 %t15002 = icmp sge i32 %t15000, %t15001 br i1 %t15002, label %grow3018, label %put3019 grow3018: %t15003 = mul i32 %t15001, 2 %t15004 = icmp eq i32 %t15001, 0 %t15005 = select i1 %t15004, i32 8, i32 %t15003 %t15006 = getelementptr ptr, ptr null, i32 1 %t15007 = ptrtoint ptr %t15006 to i64 %t15008 = zext i32 %t15005 to i64 %t15009 = mul i64 %t15008, %t15007 %t15010 = load ptr, ptr %t14999 %t15011 = call ptr @realloc(ptr %t15010, i64 %t15009) store ptr %t15011, ptr %t14999 store i32 %t15005, ptr %t14998 br label %put3019 put3019: %t15012 = load ptr, ptr %t14999 %t15013 = getelementptr inbounds ptr, ptr %t15012, i32 %t15000 store ptr @.str8955, ptr %t15013 %t15014 = add i32 %t15000, 1 store i32 %t15014, ptr %t14997 br label %ifend3013 ifend3013: %t15015 = load ptr, ptr %t1 %t15016 = call i32 @lp_str_eq(ptr %t15015, ptr @.str8956) %t15017 = icmp ne i32 %t15016, 0 br i1 %t15017, label %then3020, label %ifend3022 then3020: store ptr @.str8957, ptr %t420 %t15018 = load ptr, ptr %t427 %t15019 = getelementptr inbounds %LSlice, ptr %t15018, i32 0, i32 1 %t15020 = getelementptr inbounds %LSlice, ptr %t15018, i32 0, i32 2 %t15021 = getelementptr inbounds %LSlice, ptr %t15018, i32 0, i32 0 %t15022 = load i32, ptr %t15019 %t15023 = load i32, ptr %t15020 %t15024 = icmp sge i32 %t15022, %t15023 br i1 %t15024, label %grow3023, label %put3024 grow3023: %t15025 = mul i32 %t15023, 2 %t15026 = icmp eq i32 %t15023, 0 %t15027 = select i1 %t15026, i32 8, i32 %t15025 %t15028 = getelementptr ptr, ptr null, i32 1 %t15029 = ptrtoint ptr %t15028 to i64 %t15030 = zext i32 %t15027 to i64 %t15031 = mul i64 %t15030, %t15029 %t15032 = load ptr, ptr %t15021 %t15033 = call ptr @realloc(ptr %t15032, i64 %t15031) store ptr %t15033, ptr %t15021 store i32 %t15027, ptr %t15020 br label %put3024 put3024: %t15034 = load ptr, ptr %t15021 %t15035 = getelementptr inbounds ptr, ptr %t15034, i32 %t15022 store ptr @.str8958, ptr %t15035 %t15036 = add i32 %t15022, 1 store i32 %t15036, ptr %t15019 br label %ifend3022 ifend3022: %t15037 = load ptr, ptr %t1 %t15038 = call i32 @lp_str_eq(ptr %t15037, ptr @.str8959) %t15039 = icmp ne i32 %t15038, 0 br i1 %t15039, label %then3025, label %ifend3027 then3025: store ptr @.str8960, ptr %t420 %t15040 = load ptr, ptr %t427 %t15041 = getelementptr inbounds %LSlice, ptr %t15040, i32 0, i32 1 %t15042 = getelementptr inbounds %LSlice, ptr %t15040, i32 0, i32 2 %t15043 = getelementptr inbounds %LSlice, ptr %t15040, i32 0, i32 0 %t15044 = load i32, ptr %t15041 %t15045 = load i32, ptr %t15042 %t15046 = icmp sge i32 %t15044, %t15045 br i1 %t15046, label %grow3028, label %put3029 grow3028: %t15047 = mul i32 %t15045, 2 %t15048 = icmp eq i32 %t15045, 0 %t15049 = select i1 %t15048, i32 8, i32 %t15047 %t15050 = getelementptr ptr, ptr null, i32 1 %t15051 = ptrtoint ptr %t15050 to i64 %t15052 = zext i32 %t15049 to i64 %t15053 = mul i64 %t15052, %t15051 %t15054 = load ptr, ptr %t15043 %t15055 = call ptr @realloc(ptr %t15054, i64 %t15053) store ptr %t15055, ptr %t15043 store i32 %t15049, ptr %t15042 br label %put3029 put3029: %t15056 = load ptr, ptr %t15043 %t15057 = getelementptr inbounds ptr, ptr %t15056, i32 %t15044 store ptr @.str8961, ptr %t15057 %t15058 = add i32 %t15044, 1 store i32 %t15058, ptr %t15041 %t15059 = load ptr, ptr %t427 %t15060 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 1 %t15061 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 2 %t15062 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 0 %t15063 = load i32, ptr %t15060 %t15064 = load i32, ptr %t15061 %t15065 = icmp sge i32 %t15063, %t15064 br i1 %t15065, label %grow3030, label %put3031 grow3030: %t15066 = mul i32 %t15064, 2 %t15067 = icmp eq i32 %t15064, 0 %t15068 = select i1 %t15067, i32 8, i32 %t15066 %t15069 = getelementptr ptr, ptr null, i32 1 %t15070 = ptrtoint ptr %t15069 to i64 %t15071 = zext i32 %t15068 to i64 %t15072 = mul i64 %t15071, %t15070 %t15073 = load ptr, ptr %t15062 %t15074 = call ptr @realloc(ptr %t15073, i64 %t15072) store ptr %t15074, ptr %t15062 store i32 %t15068, ptr %t15061 br label %put3031 put3031: %t15075 = load ptr, ptr %t15062 %t15076 = getelementptr inbounds ptr, ptr %t15075, i32 %t15063 store ptr @.str8962, ptr %t15076 %t15077 = add i32 %t15063, 1 store i32 %t15077, ptr %t15060 br label %ifend3027 ifend3027: %t15078 = load ptr, ptr %t1 %t15079 = call i32 @lp_str_eq(ptr %t15078, ptr @.str8963) %t15080 = icmp ne i32 %t15079, 0 br i1 %t15080, label %then3032, label %ifend3034 then3032: store ptr @.str8964, ptr %t420 %t15081 = load ptr, ptr %t427 %t15082 = getelementptr inbounds %LSlice, ptr %t15081, i32 0, i32 1 %t15083 = getelementptr inbounds %LSlice, ptr %t15081, i32 0, i32 2 %t15084 = getelementptr inbounds %LSlice, ptr %t15081, i32 0, i32 0 %t15085 = load i32, ptr %t15082 %t15086 = load i32, ptr %t15083 %t15087 = icmp sge i32 %t15085, %t15086 br i1 %t15087, label %grow3035, label %put3036 grow3035: %t15088 = mul i32 %t15086, 2 %t15089 = icmp eq i32 %t15086, 0 %t15090 = select i1 %t15089, i32 8, i32 %t15088 %t15091 = getelementptr ptr, ptr null, i32 1 %t15092 = ptrtoint ptr %t15091 to i64 %t15093 = zext i32 %t15090 to i64 %t15094 = mul i64 %t15093, %t15092 %t15095 = load ptr, ptr %t15084 %t15096 = call ptr @realloc(ptr %t15095, i64 %t15094) store ptr %t15096, ptr %t15084 store i32 %t15090, ptr %t15083 br label %put3036 put3036: %t15097 = load ptr, ptr %t15084 %t15098 = getelementptr inbounds ptr, ptr %t15097, i32 %t15085 store ptr @.str8965, ptr %t15098 %t15099 = add i32 %t15085, 1 store i32 %t15099, ptr %t15082 %t15100 = load ptr, ptr %t427 %t15101 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 1 %t15102 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 2 %t15103 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 0 %t15104 = load i32, ptr %t15101 %t15105 = load i32, ptr %t15102 %t15106 = icmp sge i32 %t15104, %t15105 br i1 %t15106, label %grow3037, label %put3038 grow3037: %t15107 = mul i32 %t15105, 2 %t15108 = icmp eq i32 %t15105, 0 %t15109 = select i1 %t15108, i32 8, i32 %t15107 %t15110 = getelementptr ptr, ptr null, i32 1 %t15111 = ptrtoint ptr %t15110 to i64 %t15112 = zext i32 %t15109 to i64 %t15113 = mul i64 %t15112, %t15111 %t15114 = load ptr, ptr %t15103 %t15115 = call ptr @realloc(ptr %t15114, i64 %t15113) store ptr %t15115, ptr %t15103 store i32 %t15109, ptr %t15102 br label %put3038 put3038: %t15116 = load ptr, ptr %t15103 %t15117 = getelementptr inbounds ptr, ptr %t15116, i32 %t15104 store ptr @.str8966, ptr %t15117 %t15118 = add i32 %t15104, 1 store i32 %t15118, ptr %t15101 br label %ifend3034 ifend3034: %t15119 = load ptr, ptr %t1 %t15120 = call i32 @lp_str_eq(ptr %t15119, ptr @.str8967) %t15121 = icmp ne i32 %t15120, 0 br i1 %t15121, label %then3039, label %ifend3041 then3039: store ptr @.str8968, ptr %t420 %t15122 = load ptr, ptr %t427 %t15123 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 1 %t15124 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 2 %t15125 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 0 %t15126 = load i32, ptr %t15123 %t15127 = load i32, ptr %t15124 %t15128 = icmp sge i32 %t15126, %t15127 br i1 %t15128, label %grow3042, label %put3043 grow3042: %t15129 = mul i32 %t15127, 2 %t15130 = icmp eq i32 %t15127, 0 %t15131 = select i1 %t15130, i32 8, i32 %t15129 %t15132 = getelementptr ptr, ptr null, i32 1 %t15133 = ptrtoint ptr %t15132 to i64 %t15134 = zext i32 %t15131 to i64 %t15135 = mul i64 %t15134, %t15133 %t15136 = load ptr, ptr %t15125 %t15137 = call ptr @realloc(ptr %t15136, i64 %t15135) store ptr %t15137, ptr %t15125 store i32 %t15131, ptr %t15124 br label %put3043 put3043: %t15138 = load ptr, ptr %t15125 %t15139 = getelementptr inbounds ptr, ptr %t15138, i32 %t15126 store ptr @.str8969, ptr %t15139 %t15140 = add i32 %t15126, 1 store i32 %t15140, ptr %t15123 %t15141 = load ptr, ptr %t427 %t15142 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 1 %t15143 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 2 %t15144 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 0 %t15145 = load i32, ptr %t15142 %t15146 = load i32, ptr %t15143 %t15147 = icmp sge i32 %t15145, %t15146 br i1 %t15147, label %grow3044, label %put3045 grow3044: %t15148 = mul i32 %t15146, 2 %t15149 = icmp eq i32 %t15146, 0 %t15150 = select i1 %t15149, i32 8, i32 %t15148 %t15151 = getelementptr ptr, ptr null, i32 1 %t15152 = ptrtoint ptr %t15151 to i64 %t15153 = zext i32 %t15150 to i64 %t15154 = mul i64 %t15153, %t15152 %t15155 = load ptr, ptr %t15144 %t15156 = call ptr @realloc(ptr %t15155, i64 %t15154) store ptr %t15156, ptr %t15144 store i32 %t15150, ptr %t15143 br label %put3045 put3045: %t15157 = load ptr, ptr %t15144 %t15158 = getelementptr inbounds ptr, ptr %t15157, i32 %t15145 store ptr @.str8970, ptr %t15158 %t15159 = add i32 %t15145, 1 store i32 %t15159, ptr %t15142 br label %ifend3041 ifend3041: %t15160 = load ptr, ptr %t1 %t15161 = call i32 @lp_str_eq(ptr %t15160, ptr @.str8971) %t15162 = icmp ne i32 %t15161, 0 br i1 %t15162, label %then3046, label %ifend3048 then3046: store ptr @.str8972, ptr %t420 %t15163 = load ptr, ptr %t427 %t15164 = getelementptr inbounds %LSlice, ptr %t15163, i32 0, i32 1 %t15165 = getelementptr inbounds %LSlice, ptr %t15163, i32 0, i32 2 %t15166 = getelementptr inbounds %LSlice, ptr %t15163, i32 0, i32 0 %t15167 = load i32, ptr %t15164 %t15168 = load i32, ptr %t15165 %t15169 = icmp sge i32 %t15167, %t15168 br i1 %t15169, label %grow3049, label %put3050 grow3049: %t15170 = mul i32 %t15168, 2 %t15171 = icmp eq i32 %t15168, 0 %t15172 = select i1 %t15171, i32 8, i32 %t15170 %t15173 = getelementptr ptr, ptr null, i32 1 %t15174 = ptrtoint ptr %t15173 to i64 %t15175 = zext i32 %t15172 to i64 %t15176 = mul i64 %t15175, %t15174 %t15177 = load ptr, ptr %t15166 %t15178 = call ptr @realloc(ptr %t15177, i64 %t15176) store ptr %t15178, ptr %t15166 store i32 %t15172, ptr %t15165 br label %put3050 put3050: %t15179 = load ptr, ptr %t15166 %t15180 = getelementptr inbounds ptr, ptr %t15179, i32 %t15167 store ptr @.str8973, ptr %t15180 %t15181 = add i32 %t15167, 1 store i32 %t15181, ptr %t15164 br label %ifend3048 ifend3048: %t15182 = load ptr, ptr %t1 %t15183 = call i32 @lp_str_eq(ptr %t15182, ptr @.str8974) %t15184 = icmp ne i32 %t15183, 0 br i1 %t15184, label %then3051, label %ifend3053 then3051: store ptr @.str8975, ptr %t420 %t15185 = load ptr, ptr %t427 %t15186 = getelementptr inbounds %LSlice, ptr %t15185, i32 0, i32 1 %t15187 = getelementptr inbounds %LSlice, ptr %t15185, i32 0, i32 2 %t15188 = getelementptr inbounds %LSlice, ptr %t15185, i32 0, i32 0 %t15189 = load i32, ptr %t15186 %t15190 = load i32, ptr %t15187 %t15191 = icmp sge i32 %t15189, %t15190 br i1 %t15191, label %grow3054, label %put3055 grow3054: %t15192 = mul i32 %t15190, 2 %t15193 = icmp eq i32 %t15190, 0 %t15194 = select i1 %t15193, i32 8, i32 %t15192 %t15195 = getelementptr ptr, ptr null, i32 1 %t15196 = ptrtoint ptr %t15195 to i64 %t15197 = zext i32 %t15194 to i64 %t15198 = mul i64 %t15197, %t15196 %t15199 = load ptr, ptr %t15188 %t15200 = call ptr @realloc(ptr %t15199, i64 %t15198) store ptr %t15200, ptr %t15188 store i32 %t15194, ptr %t15187 br label %put3055 put3055: %t15201 = load ptr, ptr %t15188 %t15202 = getelementptr inbounds ptr, ptr %t15201, i32 %t15189 store ptr @.str8976, ptr %t15202 %t15203 = add i32 %t15189, 1 store i32 %t15203, ptr %t15186 br label %ifend3053 ifend3053: %t15204 = load ptr, ptr %t1 %t15205 = call i32 @lp_str_eq(ptr %t15204, ptr @.str8977) %t15206 = icmp ne i32 %t15205, 0 br i1 %t15206, label %then3056, label %ifend3058 then3056: store ptr @.str8978, ptr %t420 %t15207 = load ptr, ptr %t427 %t15208 = getelementptr inbounds %LSlice, ptr %t15207, i32 0, i32 1 %t15209 = getelementptr inbounds %LSlice, ptr %t15207, i32 0, i32 2 %t15210 = getelementptr inbounds %LSlice, ptr %t15207, i32 0, i32 0 %t15211 = load i32, ptr %t15208 %t15212 = load i32, ptr %t15209 %t15213 = icmp sge i32 %t15211, %t15212 br i1 %t15213, label %grow3059, label %put3060 grow3059: %t15214 = mul i32 %t15212, 2 %t15215 = icmp eq i32 %t15212, 0 %t15216 = select i1 %t15215, i32 8, i32 %t15214 %t15217 = getelementptr ptr, ptr null, i32 1 %t15218 = ptrtoint ptr %t15217 to i64 %t15219 = zext i32 %t15216 to i64 %t15220 = mul i64 %t15219, %t15218 %t15221 = load ptr, ptr %t15210 %t15222 = call ptr @realloc(ptr %t15221, i64 %t15220) store ptr %t15222, ptr %t15210 store i32 %t15216, ptr %t15209 br label %put3060 put3060: %t15223 = load ptr, ptr %t15210 %t15224 = getelementptr inbounds ptr, ptr %t15223, i32 %t15211 store ptr @.str8979, ptr %t15224 %t15225 = add i32 %t15211, 1 store i32 %t15225, ptr %t15208 %t15226 = load ptr, ptr %t427 %t15227 = getelementptr inbounds %LSlice, ptr %t15226, i32 0, i32 1 %t15228 = getelementptr inbounds %LSlice, ptr %t15226, i32 0, i32 2 %t15229 = getelementptr inbounds %LSlice, ptr %t15226, i32 0, i32 0 %t15230 = load i32, ptr %t15227 %t15231 = load i32, ptr %t15228 %t15232 = icmp sge i32 %t15230, %t15231 br i1 %t15232, label %grow3061, label %put3062 grow3061: %t15233 = mul i32 %t15231, 2 %t15234 = icmp eq i32 %t15231, 0 %t15235 = select i1 %t15234, i32 8, i32 %t15233 %t15236 = getelementptr ptr, ptr null, i32 1 %t15237 = ptrtoint ptr %t15236 to i64 %t15238 = zext i32 %t15235 to i64 %t15239 = mul i64 %t15238, %t15237 %t15240 = load ptr, ptr %t15229 %t15241 = call ptr @realloc(ptr %t15240, i64 %t15239) store ptr %t15241, ptr %t15229 store i32 %t15235, ptr %t15228 br label %put3062 put3062: %t15242 = load ptr, ptr %t15229 %t15243 = getelementptr inbounds ptr, ptr %t15242, i32 %t15230 store ptr @.str8980, ptr %t15243 %t15244 = add i32 %t15230, 1 store i32 %t15244, ptr %t15227 %t15245 = load ptr, ptr %t427 %t15246 = getelementptr inbounds %LSlice, ptr %t15245, i32 0, i32 1 %t15247 = getelementptr inbounds %LSlice, ptr %t15245, i32 0, i32 2 %t15248 = getelementptr inbounds %LSlice, ptr %t15245, i32 0, i32 0 %t15249 = load i32, ptr %t15246 %t15250 = load i32, ptr %t15247 %t15251 = icmp sge i32 %t15249, %t15250 br i1 %t15251, label %grow3063, label %put3064 grow3063: %t15252 = mul i32 %t15250, 2 %t15253 = icmp eq i32 %t15250, 0 %t15254 = select i1 %t15253, i32 8, i32 %t15252 %t15255 = getelementptr ptr, ptr null, i32 1 %t15256 = ptrtoint ptr %t15255 to i64 %t15257 = zext i32 %t15254 to i64 %t15258 = mul i64 %t15257, %t15256 %t15259 = load ptr, ptr %t15248 %t15260 = call ptr @realloc(ptr %t15259, i64 %t15258) store ptr %t15260, ptr %t15248 store i32 %t15254, ptr %t15247 br label %put3064 put3064: %t15261 = load ptr, ptr %t15248 %t15262 = getelementptr inbounds ptr, ptr %t15261, i32 %t15249 store ptr @.str8981, ptr %t15262 %t15263 = add i32 %t15249, 1 store i32 %t15263, ptr %t15246 br label %ifend3058 ifend3058: %t15264 = load ptr, ptr %t1 %t15265 = call i32 @lp_str_eq(ptr %t15264, ptr @.str8982) %t15266 = icmp ne i32 %t15265, 0 br i1 %t15266, label %then3065, label %ifend3067 then3065: store ptr @.str8983, ptr %t420 %t15267 = load ptr, ptr %t427 %t15268 = getelementptr inbounds %LSlice, ptr %t15267, i32 0, i32 1 %t15269 = getelementptr inbounds %LSlice, ptr %t15267, i32 0, i32 2 %t15270 = getelementptr inbounds %LSlice, ptr %t15267, i32 0, i32 0 %t15271 = load i32, ptr %t15268 %t15272 = load i32, ptr %t15269 %t15273 = icmp sge i32 %t15271, %t15272 br i1 %t15273, label %grow3068, label %put3069 grow3068: %t15274 = mul i32 %t15272, 2 %t15275 = icmp eq i32 %t15272, 0 %t15276 = select i1 %t15275, i32 8, i32 %t15274 %t15277 = getelementptr ptr, ptr null, i32 1 %t15278 = ptrtoint ptr %t15277 to i64 %t15279 = zext i32 %t15276 to i64 %t15280 = mul i64 %t15279, %t15278 %t15281 = load ptr, ptr %t15270 %t15282 = call ptr @realloc(ptr %t15281, i64 %t15280) store ptr %t15282, ptr %t15270 store i32 %t15276, ptr %t15269 br label %put3069 put3069: %t15283 = load ptr, ptr %t15270 %t15284 = getelementptr inbounds ptr, ptr %t15283, i32 %t15271 store ptr @.str8984, ptr %t15284 %t15285 = add i32 %t15271, 1 store i32 %t15285, ptr %t15268 %t15286 = load ptr, ptr %t427 %t15287 = getelementptr inbounds %LSlice, ptr %t15286, i32 0, i32 1 %t15288 = getelementptr inbounds %LSlice, ptr %t15286, i32 0, i32 2 %t15289 = getelementptr inbounds %LSlice, ptr %t15286, i32 0, i32 0 %t15290 = load i32, ptr %t15287 %t15291 = load i32, ptr %t15288 %t15292 = icmp sge i32 %t15290, %t15291 br i1 %t15292, label %grow3070, label %put3071 grow3070: %t15293 = mul i32 %t15291, 2 %t15294 = icmp eq i32 %t15291, 0 %t15295 = select i1 %t15294, i32 8, i32 %t15293 %t15296 = getelementptr ptr, ptr null, i32 1 %t15297 = ptrtoint ptr %t15296 to i64 %t15298 = zext i32 %t15295 to i64 %t15299 = mul i64 %t15298, %t15297 %t15300 = load ptr, ptr %t15289 %t15301 = call ptr @realloc(ptr %t15300, i64 %t15299) store ptr %t15301, ptr %t15289 store i32 %t15295, ptr %t15288 br label %put3071 put3071: %t15302 = load ptr, ptr %t15289 %t15303 = getelementptr inbounds ptr, ptr %t15302, i32 %t15290 store ptr @.str8985, ptr %t15303 %t15304 = add i32 %t15290, 1 store i32 %t15304, ptr %t15287 %t15305 = load ptr, ptr %t427 %t15306 = getelementptr inbounds %LSlice, ptr %t15305, i32 0, i32 1 %t15307 = getelementptr inbounds %LSlice, ptr %t15305, i32 0, i32 2 %t15308 = getelementptr inbounds %LSlice, ptr %t15305, i32 0, i32 0 %t15309 = load i32, ptr %t15306 %t15310 = load i32, ptr %t15307 %t15311 = icmp sge i32 %t15309, %t15310 br i1 %t15311, label %grow3072, label %put3073 grow3072: %t15312 = mul i32 %t15310, 2 %t15313 = icmp eq i32 %t15310, 0 %t15314 = select i1 %t15313, i32 8, i32 %t15312 %t15315 = getelementptr ptr, ptr null, i32 1 %t15316 = ptrtoint ptr %t15315 to i64 %t15317 = zext i32 %t15314 to i64 %t15318 = mul i64 %t15317, %t15316 %t15319 = load ptr, ptr %t15308 %t15320 = call ptr @realloc(ptr %t15319, i64 %t15318) store ptr %t15320, ptr %t15308 store i32 %t15314, ptr %t15307 br label %put3073 put3073: %t15321 = load ptr, ptr %t15308 %t15322 = getelementptr inbounds ptr, ptr %t15321, i32 %t15309 store ptr @.str8986, ptr %t15322 %t15323 = add i32 %t15309, 1 store i32 %t15323, ptr %t15306 br label %ifend3067 ifend3067: %t15324 = load ptr, ptr %t1 %t15325 = call i32 @lp_str_eq(ptr %t15324, ptr @.str8987) %t15326 = icmp ne i32 %t15325, 0 br i1 %t15326, label %then3074, label %ifend3076 then3074: store ptr @.str8988, ptr %t420 %t15327 = load ptr, ptr %t427 %t15328 = getelementptr inbounds %LSlice, ptr %t15327, i32 0, i32 1 %t15329 = getelementptr inbounds %LSlice, ptr %t15327, i32 0, i32 2 %t15330 = getelementptr inbounds %LSlice, ptr %t15327, i32 0, i32 0 %t15331 = load i32, ptr %t15328 %t15332 = load i32, ptr %t15329 %t15333 = icmp sge i32 %t15331, %t15332 br i1 %t15333, label %grow3077, label %put3078 grow3077: %t15334 = mul i32 %t15332, 2 %t15335 = icmp eq i32 %t15332, 0 %t15336 = select i1 %t15335, i32 8, i32 %t15334 %t15337 = getelementptr ptr, ptr null, i32 1 %t15338 = ptrtoint ptr %t15337 to i64 %t15339 = zext i32 %t15336 to i64 %t15340 = mul i64 %t15339, %t15338 %t15341 = load ptr, ptr %t15330 %t15342 = call ptr @realloc(ptr %t15341, i64 %t15340) store ptr %t15342, ptr %t15330 store i32 %t15336, ptr %t15329 br label %put3078 put3078: %t15343 = load ptr, ptr %t15330 %t15344 = getelementptr inbounds ptr, ptr %t15343, i32 %t15331 store ptr @.str8989, ptr %t15344 %t15345 = add i32 %t15331, 1 store i32 %t15345, ptr %t15328 %t15346 = load ptr, ptr %t427 %t15347 = getelementptr inbounds %LSlice, ptr %t15346, i32 0, i32 1 %t15348 = getelementptr inbounds %LSlice, ptr %t15346, i32 0, i32 2 %t15349 = getelementptr inbounds %LSlice, ptr %t15346, i32 0, i32 0 %t15350 = load i32, ptr %t15347 %t15351 = load i32, ptr %t15348 %t15352 = icmp sge i32 %t15350, %t15351 br i1 %t15352, label %grow3079, label %put3080 grow3079: %t15353 = mul i32 %t15351, 2 %t15354 = icmp eq i32 %t15351, 0 %t15355 = select i1 %t15354, i32 8, i32 %t15353 %t15356 = getelementptr ptr, ptr null, i32 1 %t15357 = ptrtoint ptr %t15356 to i64 %t15358 = zext i32 %t15355 to i64 %t15359 = mul i64 %t15358, %t15357 %t15360 = load ptr, ptr %t15349 %t15361 = call ptr @realloc(ptr %t15360, i64 %t15359) store ptr %t15361, ptr %t15349 store i32 %t15355, ptr %t15348 br label %put3080 put3080: %t15362 = load ptr, ptr %t15349 %t15363 = getelementptr inbounds ptr, ptr %t15362, i32 %t15350 store ptr @.str8990, ptr %t15363 %t15364 = add i32 %t15350, 1 store i32 %t15364, ptr %t15347 %t15365 = load ptr, ptr %t427 %t15366 = getelementptr inbounds %LSlice, ptr %t15365, i32 0, i32 1 %t15367 = getelementptr inbounds %LSlice, ptr %t15365, i32 0, i32 2 %t15368 = getelementptr inbounds %LSlice, ptr %t15365, i32 0, i32 0 %t15369 = load i32, ptr %t15366 %t15370 = load i32, ptr %t15367 %t15371 = icmp sge i32 %t15369, %t15370 br i1 %t15371, label %grow3081, label %put3082 grow3081: %t15372 = mul i32 %t15370, 2 %t15373 = icmp eq i32 %t15370, 0 %t15374 = select i1 %t15373, i32 8, i32 %t15372 %t15375 = getelementptr ptr, ptr null, i32 1 %t15376 = ptrtoint ptr %t15375 to i64 %t15377 = zext i32 %t15374 to i64 %t15378 = mul i64 %t15377, %t15376 %t15379 = load ptr, ptr %t15368 %t15380 = call ptr @realloc(ptr %t15379, i64 %t15378) store ptr %t15380, ptr %t15368 store i32 %t15374, ptr %t15367 br label %put3082 put3082: %t15381 = load ptr, ptr %t15368 %t15382 = getelementptr inbounds ptr, ptr %t15381, i32 %t15369 store ptr @.str8991, ptr %t15382 %t15383 = add i32 %t15369, 1 store i32 %t15383, ptr %t15366 br label %ifend3076 ifend3076: %t15384 = load ptr, ptr %t1 %t15385 = call i32 @lp_str_eq(ptr %t15384, ptr @.str8992) %t15386 = icmp ne i32 %t15385, 0 br i1 %t15386, label %then3083, label %ifend3085 then3083: store ptr @.str8993, ptr %t420 %t15387 = load ptr, ptr %t427 %t15388 = getelementptr inbounds %LSlice, ptr %t15387, i32 0, i32 1 %t15389 = getelementptr inbounds %LSlice, ptr %t15387, i32 0, i32 2 %t15390 = getelementptr inbounds %LSlice, ptr %t15387, i32 0, i32 0 %t15391 = load i32, ptr %t15388 %t15392 = load i32, ptr %t15389 %t15393 = icmp sge i32 %t15391, %t15392 br i1 %t15393, label %grow3086, label %put3087 grow3086: %t15394 = mul i32 %t15392, 2 %t15395 = icmp eq i32 %t15392, 0 %t15396 = select i1 %t15395, i32 8, i32 %t15394 %t15397 = getelementptr ptr, ptr null, i32 1 %t15398 = ptrtoint ptr %t15397 to i64 %t15399 = zext i32 %t15396 to i64 %t15400 = mul i64 %t15399, %t15398 %t15401 = load ptr, ptr %t15390 %t15402 = call ptr @realloc(ptr %t15401, i64 %t15400) store ptr %t15402, ptr %t15390 store i32 %t15396, ptr %t15389 br label %put3087 put3087: %t15403 = load ptr, ptr %t15390 %t15404 = getelementptr inbounds ptr, ptr %t15403, i32 %t15391 store ptr @.str8994, ptr %t15404 %t15405 = add i32 %t15391, 1 store i32 %t15405, ptr %t15388 %t15406 = load ptr, ptr %t427 %t15407 = getelementptr inbounds %LSlice, ptr %t15406, i32 0, i32 1 %t15408 = getelementptr inbounds %LSlice, ptr %t15406, i32 0, i32 2 %t15409 = getelementptr inbounds %LSlice, ptr %t15406, i32 0, i32 0 %t15410 = load i32, ptr %t15407 %t15411 = load i32, ptr %t15408 %t15412 = icmp sge i32 %t15410, %t15411 br i1 %t15412, label %grow3088, label %put3089 grow3088: %t15413 = mul i32 %t15411, 2 %t15414 = icmp eq i32 %t15411, 0 %t15415 = select i1 %t15414, i32 8, i32 %t15413 %t15416 = getelementptr ptr, ptr null, i32 1 %t15417 = ptrtoint ptr %t15416 to i64 %t15418 = zext i32 %t15415 to i64 %t15419 = mul i64 %t15418, %t15417 %t15420 = load ptr, ptr %t15409 %t15421 = call ptr @realloc(ptr %t15420, i64 %t15419) store ptr %t15421, ptr %t15409 store i32 %t15415, ptr %t15408 br label %put3089 put3089: %t15422 = load ptr, ptr %t15409 %t15423 = getelementptr inbounds ptr, ptr %t15422, i32 %t15410 store ptr @.str8995, ptr %t15423 %t15424 = add i32 %t15410, 1 store i32 %t15424, ptr %t15407 %t15425 = load ptr, ptr %t427 %t15426 = getelementptr inbounds %LSlice, ptr %t15425, i32 0, i32 1 %t15427 = getelementptr inbounds %LSlice, ptr %t15425, i32 0, i32 2 %t15428 = getelementptr inbounds %LSlice, ptr %t15425, i32 0, i32 0 %t15429 = load i32, ptr %t15426 %t15430 = load i32, ptr %t15427 %t15431 = icmp sge i32 %t15429, %t15430 br i1 %t15431, label %grow3090, label %put3091 grow3090: %t15432 = mul i32 %t15430, 2 %t15433 = icmp eq i32 %t15430, 0 %t15434 = select i1 %t15433, i32 8, i32 %t15432 %t15435 = getelementptr ptr, ptr null, i32 1 %t15436 = ptrtoint ptr %t15435 to i64 %t15437 = zext i32 %t15434 to i64 %t15438 = mul i64 %t15437, %t15436 %t15439 = load ptr, ptr %t15428 %t15440 = call ptr @realloc(ptr %t15439, i64 %t15438) store ptr %t15440, ptr %t15428 store i32 %t15434, ptr %t15427 br label %put3091 put3091: %t15441 = load ptr, ptr %t15428 %t15442 = getelementptr inbounds ptr, ptr %t15441, i32 %t15429 store ptr @.str8996, ptr %t15442 %t15443 = add i32 %t15429, 1 store i32 %t15443, ptr %t15426 br label %ifend3085 ifend3085: %t15444 = load ptr, ptr %t1 %t15445 = call i32 @lp_str_eq(ptr %t15444, ptr @.str8997) %t15446 = icmp ne i32 %t15445, 0 br i1 %t15446, label %then3092, label %ifend3094 then3092: store ptr @.str8998, ptr %t420 %t15447 = load ptr, ptr %t427 %t15448 = getelementptr inbounds %LSlice, ptr %t15447, i32 0, i32 1 %t15449 = getelementptr inbounds %LSlice, ptr %t15447, i32 0, i32 2 %t15450 = getelementptr inbounds %LSlice, ptr %t15447, i32 0, i32 0 %t15451 = load i32, ptr %t15448 %t15452 = load i32, ptr %t15449 %t15453 = icmp sge i32 %t15451, %t15452 br i1 %t15453, label %grow3095, label %put3096 grow3095: %t15454 = mul i32 %t15452, 2 %t15455 = icmp eq i32 %t15452, 0 %t15456 = select i1 %t15455, i32 8, i32 %t15454 %t15457 = getelementptr ptr, ptr null, i32 1 %t15458 = ptrtoint ptr %t15457 to i64 %t15459 = zext i32 %t15456 to i64 %t15460 = mul i64 %t15459, %t15458 %t15461 = load ptr, ptr %t15450 %t15462 = call ptr @realloc(ptr %t15461, i64 %t15460) store ptr %t15462, ptr %t15450 store i32 %t15456, ptr %t15449 br label %put3096 put3096: %t15463 = load ptr, ptr %t15450 %t15464 = getelementptr inbounds ptr, ptr %t15463, i32 %t15451 store ptr @.str8999, ptr %t15464 %t15465 = add i32 %t15451, 1 store i32 %t15465, ptr %t15448 %t15466 = load ptr, ptr %t427 %t15467 = getelementptr inbounds %LSlice, ptr %t15466, i32 0, i32 1 %t15468 = getelementptr inbounds %LSlice, ptr %t15466, i32 0, i32 2 %t15469 = getelementptr inbounds %LSlice, ptr %t15466, i32 0, i32 0 %t15470 = load i32, ptr %t15467 %t15471 = load i32, ptr %t15468 %t15472 = icmp sge i32 %t15470, %t15471 br i1 %t15472, label %grow3097, label %put3098 grow3097: %t15473 = mul i32 %t15471, 2 %t15474 = icmp eq i32 %t15471, 0 %t15475 = select i1 %t15474, i32 8, i32 %t15473 %t15476 = getelementptr ptr, ptr null, i32 1 %t15477 = ptrtoint ptr %t15476 to i64 %t15478 = zext i32 %t15475 to i64 %t15479 = mul i64 %t15478, %t15477 %t15480 = load ptr, ptr %t15469 %t15481 = call ptr @realloc(ptr %t15480, i64 %t15479) store ptr %t15481, ptr %t15469 store i32 %t15475, ptr %t15468 br label %put3098 put3098: %t15482 = load ptr, ptr %t15469 %t15483 = getelementptr inbounds ptr, ptr %t15482, i32 %t15470 store ptr @.str9000, ptr %t15483 %t15484 = add i32 %t15470, 1 store i32 %t15484, ptr %t15467 br label %ifend3094 ifend3094: %t15485 = load ptr, ptr %t1 %t15486 = call i32 @lp_str_eq(ptr %t15485, ptr @.str9001) %t15487 = icmp ne i32 %t15486, 0 br i1 %t15487, label %then3099, label %ifend3101 then3099: store ptr @.str9002, ptr %t420 %t15488 = load ptr, ptr %t427 %t15489 = getelementptr inbounds %LSlice, ptr %t15488, i32 0, i32 1 %t15490 = getelementptr inbounds %LSlice, ptr %t15488, i32 0, i32 2 %t15491 = getelementptr inbounds %LSlice, ptr %t15488, i32 0, i32 0 %t15492 = load i32, ptr %t15489 %t15493 = load i32, ptr %t15490 %t15494 = icmp sge i32 %t15492, %t15493 br i1 %t15494, label %grow3102, label %put3103 grow3102: %t15495 = mul i32 %t15493, 2 %t15496 = icmp eq i32 %t15493, 0 %t15497 = select i1 %t15496, i32 8, i32 %t15495 %t15498 = getelementptr ptr, ptr null, i32 1 %t15499 = ptrtoint ptr %t15498 to i64 %t15500 = zext i32 %t15497 to i64 %t15501 = mul i64 %t15500, %t15499 %t15502 = load ptr, ptr %t15491 %t15503 = call ptr @realloc(ptr %t15502, i64 %t15501) store ptr %t15503, ptr %t15491 store i32 %t15497, ptr %t15490 br label %put3103 put3103: %t15504 = load ptr, ptr %t15491 %t15505 = getelementptr inbounds ptr, ptr %t15504, i32 %t15492 store ptr @.str9003, ptr %t15505 %t15506 = add i32 %t15492, 1 store i32 %t15506, ptr %t15489 %t15507 = load ptr, ptr %t427 %t15508 = getelementptr inbounds %LSlice, ptr %t15507, i32 0, i32 1 %t15509 = getelementptr inbounds %LSlice, ptr %t15507, i32 0, i32 2 %t15510 = getelementptr inbounds %LSlice, ptr %t15507, i32 0, i32 0 %t15511 = load i32, ptr %t15508 %t15512 = load i32, ptr %t15509 %t15513 = icmp sge i32 %t15511, %t15512 br i1 %t15513, label %grow3104, label %put3105 grow3104: %t15514 = mul i32 %t15512, 2 %t15515 = icmp eq i32 %t15512, 0 %t15516 = select i1 %t15515, i32 8, i32 %t15514 %t15517 = getelementptr ptr, ptr null, i32 1 %t15518 = ptrtoint ptr %t15517 to i64 %t15519 = zext i32 %t15516 to i64 %t15520 = mul i64 %t15519, %t15518 %t15521 = load ptr, ptr %t15510 %t15522 = call ptr @realloc(ptr %t15521, i64 %t15520) store ptr %t15522, ptr %t15510 store i32 %t15516, ptr %t15509 br label %put3105 put3105: %t15523 = load ptr, ptr %t15510 %t15524 = getelementptr inbounds ptr, ptr %t15523, i32 %t15511 store ptr @.str9004, ptr %t15524 %t15525 = add i32 %t15511, 1 store i32 %t15525, ptr %t15508 br label %ifend3101 ifend3101: %t15526 = load ptr, ptr %t1 %t15527 = call i32 @lp_str_eq(ptr %t15526, ptr @.str9005) %t15528 = icmp ne i32 %t15527, 0 br i1 %t15528, label %then3106, label %ifend3108 then3106: store ptr @.str9006, ptr %t420 %t15529 = load ptr, ptr %t427 %t15530 = getelementptr inbounds %LSlice, ptr %t15529, i32 0, i32 1 %t15531 = getelementptr inbounds %LSlice, ptr %t15529, i32 0, i32 2 %t15532 = getelementptr inbounds %LSlice, ptr %t15529, i32 0, i32 0 %t15533 = load i32, ptr %t15530 %t15534 = load i32, ptr %t15531 %t15535 = icmp sge i32 %t15533, %t15534 br i1 %t15535, label %grow3109, label %put3110 grow3109: %t15536 = mul i32 %t15534, 2 %t15537 = icmp eq i32 %t15534, 0 %t15538 = select i1 %t15537, i32 8, i32 %t15536 %t15539 = getelementptr ptr, ptr null, i32 1 %t15540 = ptrtoint ptr %t15539 to i64 %t15541 = zext i32 %t15538 to i64 %t15542 = mul i64 %t15541, %t15540 %t15543 = load ptr, ptr %t15532 %t15544 = call ptr @realloc(ptr %t15543, i64 %t15542) store ptr %t15544, ptr %t15532 store i32 %t15538, ptr %t15531 br label %put3110 put3110: %t15545 = load ptr, ptr %t15532 %t15546 = getelementptr inbounds ptr, ptr %t15545, i32 %t15533 store ptr @.str9007, ptr %t15546 %t15547 = add i32 %t15533, 1 store i32 %t15547, ptr %t15530 %t15548 = load ptr, ptr %t427 %t15549 = getelementptr inbounds %LSlice, ptr %t15548, i32 0, i32 1 %t15550 = getelementptr inbounds %LSlice, ptr %t15548, i32 0, i32 2 %t15551 = getelementptr inbounds %LSlice, ptr %t15548, i32 0, i32 0 %t15552 = load i32, ptr %t15549 %t15553 = load i32, ptr %t15550 %t15554 = icmp sge i32 %t15552, %t15553 br i1 %t15554, label %grow3111, label %put3112 grow3111: %t15555 = mul i32 %t15553, 2 %t15556 = icmp eq i32 %t15553, 0 %t15557 = select i1 %t15556, i32 8, i32 %t15555 %t15558 = getelementptr ptr, ptr null, i32 1 %t15559 = ptrtoint ptr %t15558 to i64 %t15560 = zext i32 %t15557 to i64 %t15561 = mul i64 %t15560, %t15559 %t15562 = load ptr, ptr %t15551 %t15563 = call ptr @realloc(ptr %t15562, i64 %t15561) store ptr %t15563, ptr %t15551 store i32 %t15557, ptr %t15550 br label %put3112 put3112: %t15564 = load ptr, ptr %t15551 %t15565 = getelementptr inbounds ptr, ptr %t15564, i32 %t15552 store ptr @.str9008, ptr %t15565 %t15566 = add i32 %t15552, 1 store i32 %t15566, ptr %t15549 br label %ifend3108 ifend3108: %t15567 = load ptr, ptr %t1 %t15568 = call i32 @lp_str_eq(ptr %t15567, ptr @.str9009) %t15569 = icmp ne i32 %t15568, 0 br i1 %t15569, label %then3113, label %ifend3115 then3113: store ptr @.str9010, ptr %t420 %t15570 = load ptr, ptr %t427 %t15571 = getelementptr inbounds %LSlice, ptr %t15570, i32 0, i32 1 %t15572 = getelementptr inbounds %LSlice, ptr %t15570, i32 0, i32 2 %t15573 = getelementptr inbounds %LSlice, ptr %t15570, i32 0, i32 0 %t15574 = load i32, ptr %t15571 %t15575 = load i32, ptr %t15572 %t15576 = icmp sge i32 %t15574, %t15575 br i1 %t15576, label %grow3116, label %put3117 grow3116: %t15577 = mul i32 %t15575, 2 %t15578 = icmp eq i32 %t15575, 0 %t15579 = select i1 %t15578, i32 8, i32 %t15577 %t15580 = getelementptr ptr, ptr null, i32 1 %t15581 = ptrtoint ptr %t15580 to i64 %t15582 = zext i32 %t15579 to i64 %t15583 = mul i64 %t15582, %t15581 %t15584 = load ptr, ptr %t15573 %t15585 = call ptr @realloc(ptr %t15584, i64 %t15583) store ptr %t15585, ptr %t15573 store i32 %t15579, ptr %t15572 br label %put3117 put3117: %t15586 = load ptr, ptr %t15573 %t15587 = getelementptr inbounds ptr, ptr %t15586, i32 %t15574 store ptr @.str9011, ptr %t15587 %t15588 = add i32 %t15574, 1 store i32 %t15588, ptr %t15571 %t15589 = load ptr, ptr %t427 %t15590 = getelementptr inbounds %LSlice, ptr %t15589, i32 0, i32 1 %t15591 = getelementptr inbounds %LSlice, ptr %t15589, i32 0, i32 2 %t15592 = getelementptr inbounds %LSlice, ptr %t15589, i32 0, i32 0 %t15593 = load i32, ptr %t15590 %t15594 = load i32, ptr %t15591 %t15595 = icmp sge i32 %t15593, %t15594 br i1 %t15595, label %grow3118, label %put3119 grow3118: %t15596 = mul i32 %t15594, 2 %t15597 = icmp eq i32 %t15594, 0 %t15598 = select i1 %t15597, i32 8, i32 %t15596 %t15599 = getelementptr ptr, ptr null, i32 1 %t15600 = ptrtoint ptr %t15599 to i64 %t15601 = zext i32 %t15598 to i64 %t15602 = mul i64 %t15601, %t15600 %t15603 = load ptr, ptr %t15592 %t15604 = call ptr @realloc(ptr %t15603, i64 %t15602) store ptr %t15604, ptr %t15592 store i32 %t15598, ptr %t15591 br label %put3119 put3119: %t15605 = load ptr, ptr %t15592 %t15606 = getelementptr inbounds ptr, ptr %t15605, i32 %t15593 store ptr @.str9012, ptr %t15606 %t15607 = add i32 %t15593, 1 store i32 %t15607, ptr %t15590 br label %ifend3115 ifend3115: %t15608 = load ptr, ptr %t1 %t15609 = call i32 @lp_str_eq(ptr %t15608, ptr @.str9013) %t15610 = icmp ne i32 %t15609, 0 br i1 %t15610, label %then3120, label %ifend3122 then3120: store ptr @.str9014, ptr %t420 %t15611 = load ptr, ptr %t427 %t15612 = getelementptr inbounds %LSlice, ptr %t15611, i32 0, i32 1 %t15613 = getelementptr inbounds %LSlice, ptr %t15611, i32 0, i32 2 %t15614 = getelementptr inbounds %LSlice, ptr %t15611, i32 0, i32 0 %t15615 = load i32, ptr %t15612 %t15616 = load i32, ptr %t15613 %t15617 = icmp sge i32 %t15615, %t15616 br i1 %t15617, label %grow3123, label %put3124 grow3123: %t15618 = mul i32 %t15616, 2 %t15619 = icmp eq i32 %t15616, 0 %t15620 = select i1 %t15619, i32 8, i32 %t15618 %t15621 = getelementptr ptr, ptr null, i32 1 %t15622 = ptrtoint ptr %t15621 to i64 %t15623 = zext i32 %t15620 to i64 %t15624 = mul i64 %t15623, %t15622 %t15625 = load ptr, ptr %t15614 %t15626 = call ptr @realloc(ptr %t15625, i64 %t15624) store ptr %t15626, ptr %t15614 store i32 %t15620, ptr %t15613 br label %put3124 put3124: %t15627 = load ptr, ptr %t15614 %t15628 = getelementptr inbounds ptr, ptr %t15627, i32 %t15615 store ptr @.str9015, ptr %t15628 %t15629 = add i32 %t15615, 1 store i32 %t15629, ptr %t15612 %t15630 = load ptr, ptr %t427 %t15631 = getelementptr inbounds %LSlice, ptr %t15630, i32 0, i32 1 %t15632 = getelementptr inbounds %LSlice, ptr %t15630, i32 0, i32 2 %t15633 = getelementptr inbounds %LSlice, ptr %t15630, i32 0, i32 0 %t15634 = load i32, ptr %t15631 %t15635 = load i32, ptr %t15632 %t15636 = icmp sge i32 %t15634, %t15635 br i1 %t15636, label %grow3125, label %put3126 grow3125: %t15637 = mul i32 %t15635, 2 %t15638 = icmp eq i32 %t15635, 0 %t15639 = select i1 %t15638, i32 8, i32 %t15637 %t15640 = getelementptr ptr, ptr null, i32 1 %t15641 = ptrtoint ptr %t15640 to i64 %t15642 = zext i32 %t15639 to i64 %t15643 = mul i64 %t15642, %t15641 %t15644 = load ptr, ptr %t15633 %t15645 = call ptr @realloc(ptr %t15644, i64 %t15643) store ptr %t15645, ptr %t15633 store i32 %t15639, ptr %t15632 br label %put3126 put3126: %t15646 = load ptr, ptr %t15633 %t15647 = getelementptr inbounds ptr, ptr %t15646, i32 %t15634 store ptr @.str9016, ptr %t15647 %t15648 = add i32 %t15634, 1 store i32 %t15648, ptr %t15631 br label %ifend3122 ifend3122: %t15649 = load ptr, ptr %t1 %t15650 = call i32 @lp_str_eq(ptr %t15649, ptr @.str9017) %t15651 = icmp ne i32 %t15650, 0 br i1 %t15651, label %then3127, label %ifend3129 then3127: store ptr @.str9018, ptr %t420 %t15652 = load ptr, ptr %t427 %t15653 = getelementptr inbounds %LSlice, ptr %t15652, i32 0, i32 1 %t15654 = getelementptr inbounds %LSlice, ptr %t15652, i32 0, i32 2 %t15655 = getelementptr inbounds %LSlice, ptr %t15652, i32 0, i32 0 %t15656 = load i32, ptr %t15653 %t15657 = load i32, ptr %t15654 %t15658 = icmp sge i32 %t15656, %t15657 br i1 %t15658, label %grow3130, label %put3131 grow3130: %t15659 = mul i32 %t15657, 2 %t15660 = icmp eq i32 %t15657, 0 %t15661 = select i1 %t15660, i32 8, i32 %t15659 %t15662 = getelementptr ptr, ptr null, i32 1 %t15663 = ptrtoint ptr %t15662 to i64 %t15664 = zext i32 %t15661 to i64 %t15665 = mul i64 %t15664, %t15663 %t15666 = load ptr, ptr %t15655 %t15667 = call ptr @realloc(ptr %t15666, i64 %t15665) store ptr %t15667, ptr %t15655 store i32 %t15661, ptr %t15654 br label %put3131 put3131: %t15668 = load ptr, ptr %t15655 %t15669 = getelementptr inbounds ptr, ptr %t15668, i32 %t15656 store ptr @.str9019, ptr %t15669 %t15670 = add i32 %t15656, 1 store i32 %t15670, ptr %t15653 br label %ifend3129 ifend3129: %t15671 = load ptr, ptr %t1 %t15672 = call i32 @lp_str_eq(ptr %t15671, ptr @.str9020) %t15673 = icmp ne i32 %t15672, 0 br i1 %t15673, label %then3132, label %ifend3134 then3132: store ptr @.str9021, ptr %t420 %t15674 = load ptr, ptr %t427 %t15675 = getelementptr inbounds %LSlice, ptr %t15674, i32 0, i32 1 %t15676 = getelementptr inbounds %LSlice, ptr %t15674, i32 0, i32 2 %t15677 = getelementptr inbounds %LSlice, ptr %t15674, i32 0, i32 0 %t15678 = load i32, ptr %t15675 %t15679 = load i32, ptr %t15676 %t15680 = icmp sge i32 %t15678, %t15679 br i1 %t15680, label %grow3135, label %put3136 grow3135: %t15681 = mul i32 %t15679, 2 %t15682 = icmp eq i32 %t15679, 0 %t15683 = select i1 %t15682, i32 8, i32 %t15681 %t15684 = getelementptr ptr, ptr null, i32 1 %t15685 = ptrtoint ptr %t15684 to i64 %t15686 = zext i32 %t15683 to i64 %t15687 = mul i64 %t15686, %t15685 %t15688 = load ptr, ptr %t15677 %t15689 = call ptr @realloc(ptr %t15688, i64 %t15687) store ptr %t15689, ptr %t15677 store i32 %t15683, ptr %t15676 br label %put3136 put3136: %t15690 = load ptr, ptr %t15677 %t15691 = getelementptr inbounds ptr, ptr %t15690, i32 %t15678 store ptr @.str9022, ptr %t15691 %t15692 = add i32 %t15678, 1 store i32 %t15692, ptr %t15675 br label %ifend3134 ifend3134: %t15693 = load ptr, ptr %t1 %t15694 = call i32 @lp_str_eq(ptr %t15693, ptr @.str9023) %t15695 = icmp ne i32 %t15694, 0 br i1 %t15695, label %then3137, label %ifend3139 then3137: store ptr @.str9024, ptr %t420 %t15696 = load ptr, ptr %t427 %t15697 = getelementptr inbounds %LSlice, ptr %t15696, i32 0, i32 1 %t15698 = getelementptr inbounds %LSlice, ptr %t15696, i32 0, i32 2 %t15699 = getelementptr inbounds %LSlice, ptr %t15696, i32 0, i32 0 %t15700 = load i32, ptr %t15697 %t15701 = load i32, ptr %t15698 %t15702 = icmp sge i32 %t15700, %t15701 br i1 %t15702, label %grow3140, label %put3141 grow3140: %t15703 = mul i32 %t15701, 2 %t15704 = icmp eq i32 %t15701, 0 %t15705 = select i1 %t15704, i32 8, i32 %t15703 %t15706 = getelementptr ptr, ptr null, i32 1 %t15707 = ptrtoint ptr %t15706 to i64 %t15708 = zext i32 %t15705 to i64 %t15709 = mul i64 %t15708, %t15707 %t15710 = load ptr, ptr %t15699 %t15711 = call ptr @realloc(ptr %t15710, i64 %t15709) store ptr %t15711, ptr %t15699 store i32 %t15705, ptr %t15698 br label %put3141 put3141: %t15712 = load ptr, ptr %t15699 %t15713 = getelementptr inbounds ptr, ptr %t15712, i32 %t15700 store ptr @.str9025, ptr %t15713 %t15714 = add i32 %t15700, 1 store i32 %t15714, ptr %t15697 %t15715 = load ptr, ptr %t427 %t15716 = getelementptr inbounds %LSlice, ptr %t15715, i32 0, i32 1 %t15717 = getelementptr inbounds %LSlice, ptr %t15715, i32 0, i32 2 %t15718 = getelementptr inbounds %LSlice, ptr %t15715, i32 0, i32 0 %t15719 = load i32, ptr %t15716 %t15720 = load i32, ptr %t15717 %t15721 = icmp sge i32 %t15719, %t15720 br i1 %t15721, label %grow3142, label %put3143 grow3142: %t15722 = mul i32 %t15720, 2 %t15723 = icmp eq i32 %t15720, 0 %t15724 = select i1 %t15723, i32 8, i32 %t15722 %t15725 = getelementptr ptr, ptr null, i32 1 %t15726 = ptrtoint ptr %t15725 to i64 %t15727 = zext i32 %t15724 to i64 %t15728 = mul i64 %t15727, %t15726 %t15729 = load ptr, ptr %t15718 %t15730 = call ptr @realloc(ptr %t15729, i64 %t15728) store ptr %t15730, ptr %t15718 store i32 %t15724, ptr %t15717 br label %put3143 put3143: %t15731 = load ptr, ptr %t15718 %t15732 = getelementptr inbounds ptr, ptr %t15731, i32 %t15719 store ptr @.str9026, ptr %t15732 %t15733 = add i32 %t15719, 1 store i32 %t15733, ptr %t15716 br label %ifend3139 ifend3139: br label %ifend2870 ifend2870: %t15735 = load ptr, ptr %t0 %t15736 = call i32 @lp_str_eq(ptr %t15735, ptr @.str9027) %t15737 = icmp ne i32 %t15736, 0 %t15738 = zext i1 %t15737 to i32 store i32 %t15738, ptr %t15734 br i1 %t15737, label %sc3144, label %scend3145 sc3144: %t15739 = load ptr, ptr %t420 %t15740 = icmp eq ptr %t15739, null %t15741 = zext i1 %t15740 to i32 %t15742 = icmp ne i32 %t15741, 0 %t15743 = zext i1 %t15742 to i32 store i32 %t15743, ptr %t15734 br label %scend3145 scend3145: %t15744 = load i32, ptr %t15734 %t15745 = icmp ne i32 %t15744, 0 br i1 %t15745, label %then3146, label %ifend3148 then3146: %t15746 = load ptr, ptr %t1 %t15747 = call ptr @lp_str_concat(ptr @.str9028, ptr %t15746) store ptr %t15747, ptr %t420 %t15748 = load ptr, ptr %t420 %t15749 = call ptr @fn_find_fn(ptr %t15748) store ptr %t15749, ptr %t15750 %t15751 = load ptr, ptr %t15750 %t15752 = icmp eq ptr %t15751, null %t15753 = zext i1 %t15752 to i32 %t15754 = icmp ne i32 %t15753, 0 br i1 %t15754, label %then3149, label %ifend3151 then3149: %t15755 = load ptr, ptr %t420 %t15756 = call ptr @fn_find_extern(ptr %t15755) store ptr %t15756, ptr %t15750 br label %ifend3151 ifend3151: %t15757 = load ptr, ptr %t15750 %t15758 = icmp ne ptr %t15757, null %t15759 = zext i1 %t15758 to i32 %t15760 = icmp ne i32 %t15759, 0 br i1 %t15760, label %then3152, label %ifend3154 then3152: %t15761 = load ptr, ptr %t15750 %t15762 = call ptr @fn_param_labels(ptr %t15761) store ptr %t15762, ptr %t15763 store i32 0, ptr %t15764 br label %wcond3155 wcond3155: %t15765 = load i32, ptr %t15764 %t15766 = load ptr, ptr %t15763 %t15767 = getelementptr inbounds %LSlice, ptr %t15766, i32 0, i32 1 %t15768 = load i32, ptr %t15767 %t15769 = icmp slt i32 %t15765, %t15768 %t15770 = zext i1 %t15769 to i32 %t15771 = icmp ne i32 %t15770, 0 br i1 %t15771, label %wbody3156, label %wend3157 wbody3156: %t15772 = load ptr, ptr %t427 %t15773 = load ptr, ptr %t15763 %t15774 = getelementptr inbounds %LSlice, ptr %t15773, i32 0, i32 0 %t15775 = load ptr, ptr %t15774 %t15776 = load i32, ptr %t15764 %t15777 = getelementptr inbounds ptr, ptr %t15775, i32 %t15776 %t15778 = load ptr, ptr %t15777 %t15779 = getelementptr inbounds %LSlice, ptr %t15772, i32 0, i32 1 %t15780 = getelementptr inbounds %LSlice, ptr %t15772, i32 0, i32 2 %t15781 = getelementptr inbounds %LSlice, ptr %t15772, i32 0, i32 0 %t15782 = load i32, ptr %t15779 %t15783 = load i32, ptr %t15780 %t15784 = icmp sge i32 %t15782, %t15783 br i1 %t15784, label %grow3158, label %put3159 grow3158: %t15785 = mul i32 %t15783, 2 %t15786 = icmp eq i32 %t15783, 0 %t15787 = select i1 %t15786, i32 8, i32 %t15785 %t15788 = getelementptr ptr, ptr null, i32 1 %t15789 = ptrtoint ptr %t15788 to i64 %t15790 = zext i32 %t15787 to i64 %t15791 = mul i64 %t15790, %t15789 %t15792 = load ptr, ptr %t15781 %t15793 = call ptr @realloc(ptr %t15792, i64 %t15791) store ptr %t15793, ptr %t15781 store i32 %t15787, ptr %t15780 br label %put3159 put3159: %t15794 = load ptr, ptr %t15781 %t15795 = getelementptr inbounds ptr, ptr %t15794, i32 %t15782 store ptr %t15778, ptr %t15795 %t15796 = add i32 %t15782, 1 store i32 %t15796, ptr %t15779 %t15797 = load i32, ptr %t15764 %t15798 = add i32 %t15797, 1 store i32 %t15798, ptr %t15764 br label %wcond3155 wend3157: br label %ifend3154 ifend3154: br label %ifend3148 ifend3148: %t15800 = load ptr, ptr %t0 %t15801 = call i32 @lp_str_eq(ptr %t15800, ptr @.str9029) %t15802 = icmp ne i32 %t15801, 0 %t15803 = zext i1 %t15802 to i32 store i32 %t15803, ptr %t15799 br i1 %t15802, label %sc3160, label %scend3161 sc3160: %t15804 = load ptr, ptr %t420 %t15805 = icmp eq ptr %t15804, null %t15806 = zext i1 %t15805 to i32 %t15807 = icmp ne i32 %t15806, 0 %t15808 = zext i1 %t15807 to i32 store i32 %t15808, ptr %t15799 br label %scend3161 scend3161: %t15809 = load i32, ptr %t15799 %t15810 = icmp ne i32 %t15809, 0 br i1 %t15810, label %then3162, label %ifend3164 then3162: %t15811 = load ptr, ptr %t1 %t15812 = call ptr @lp_str_concat(ptr @.str9030, ptr %t15811) store ptr %t15812, ptr %t420 %t15813 = load ptr, ptr %t420 %t15814 = call ptr @fn_find_fn(ptr %t15813) store ptr %t15814, ptr %t15815 %t15816 = load ptr, ptr %t15815 %t15817 = icmp eq ptr %t15816, null %t15818 = zext i1 %t15817 to i32 %t15819 = icmp ne i32 %t15818, 0 br i1 %t15819, label %then3165, label %ifend3167 then3165: %t15820 = load ptr, ptr %t420 %t15821 = call ptr @fn_find_extern(ptr %t15820) store ptr %t15821, ptr %t15815 br label %ifend3167 ifend3167: %t15822 = load ptr, ptr %t15815 %t15823 = icmp ne ptr %t15822, null %t15824 = zext i1 %t15823 to i32 %t15825 = icmp ne i32 %t15824, 0 br i1 %t15825, label %then3168, label %ifend3170 then3168: %t15826 = load ptr, ptr %t15815 %t15827 = call ptr @fn_param_labels(ptr %t15826) store ptr %t15827, ptr %t15828 store i32 0, ptr %t15829 br label %wcond3171 wcond3171: %t15830 = load i32, ptr %t15829 %t15831 = load ptr, ptr %t15828 %t15832 = getelementptr inbounds %LSlice, ptr %t15831, i32 0, i32 1 %t15833 = load i32, ptr %t15832 %t15834 = icmp slt i32 %t15830, %t15833 %t15835 = zext i1 %t15834 to i32 %t15836 = icmp ne i32 %t15835, 0 br i1 %t15836, label %wbody3172, label %wend3173 wbody3172: %t15837 = load ptr, ptr %t427 %t15838 = load ptr, ptr %t15828 %t15839 = getelementptr inbounds %LSlice, ptr %t15838, i32 0, i32 0 %t15840 = load ptr, ptr %t15839 %t15841 = load i32, ptr %t15829 %t15842 = getelementptr inbounds ptr, ptr %t15840, i32 %t15841 %t15843 = load ptr, ptr %t15842 %t15844 = getelementptr inbounds %LSlice, ptr %t15837, i32 0, i32 1 %t15845 = getelementptr inbounds %LSlice, ptr %t15837, i32 0, i32 2 %t15846 = getelementptr inbounds %LSlice, ptr %t15837, i32 0, i32 0 %t15847 = load i32, ptr %t15844 %t15848 = load i32, ptr %t15845 %t15849 = icmp sge i32 %t15847, %t15848 br i1 %t15849, label %grow3174, label %put3175 grow3174: %t15850 = mul i32 %t15848, 2 %t15851 = icmp eq i32 %t15848, 0 %t15852 = select i1 %t15851, i32 8, i32 %t15850 %t15853 = getelementptr ptr, ptr null, i32 1 %t15854 = ptrtoint ptr %t15853 to i64 %t15855 = zext i32 %t15852 to i64 %t15856 = mul i64 %t15855, %t15854 %t15857 = load ptr, ptr %t15846 %t15858 = call ptr @realloc(ptr %t15857, i64 %t15856) store ptr %t15858, ptr %t15846 store i32 %t15852, ptr %t15845 br label %put3175 put3175: %t15859 = load ptr, ptr %t15846 %t15860 = getelementptr inbounds ptr, ptr %t15859, i32 %t15847 store ptr %t15843, ptr %t15860 %t15861 = add i32 %t15847, 1 store i32 %t15861, ptr %t15844 %t15862 = load i32, ptr %t15829 %t15863 = add i32 %t15862, 1 store i32 %t15863, ptr %t15829 br label %wcond3171 wend3173: br label %ifend3170 ifend3170: br label %ifend3164 ifend3164: %t15865 = load ptr, ptr %t420 %t15866 = icmp eq ptr %t15865, null %t15867 = zext i1 %t15866 to i32 %t15868 = icmp ne i32 %t15867, 0 %t15869 = zext i1 %t15868 to i32 store i32 %t15869, ptr %t15864 br i1 %t15868, label %sc3176, label %scend3177 sc3176: %t15870 = load ptr, ptr %t0 %t15871 = call i32 @fn_is_registered_namespace(ptr %t15870) %t15872 = icmp ne i32 %t15871, 0 %t15873 = zext i1 %t15872 to i32 store i32 %t15873, ptr %t15864 br label %scend3177 scend3177: %t15874 = load i32, ptr %t15864 %t15875 = icmp ne i32 %t15874, 0 br i1 %t15875, label %then3178, label %ifend3180 then3178: %t15876 = load ptr, ptr %t0 %t15877 = call ptr @fn_ns_lower(ptr %t15876) %t15878 = call ptr @lp_str_concat(ptr %t15877, ptr @.str9031) %t15879 = load ptr, ptr %t1 %t15880 = call ptr @lp_str_concat(ptr %t15878, ptr %t15879) store ptr %t15880, ptr %t420 %t15882 = load ptr, ptr %t0 %t15883 = call i32 @fn_is_ns_block(ptr %t15882) %t15884 = icmp ne i32 %t15883, 0 %t15885 = zext i1 %t15884 to i32 store i32 %t15885, ptr %t15881 br i1 %t15884, label %sc3181, label %scend3182 sc3181: %t15886 = load ptr, ptr %t420 %t15887 = call i32 @fn_ns_export_has(ptr %t15886) %t15888 = icmp eq i32 %t15887, 0 %t15889 = zext i1 %t15888 to i32 %t15890 = icmp ne i32 %t15889, 0 %t15891 = zext i1 %t15890 to i32 store i32 %t15891, ptr %t15881 br label %scend3182 scend3182: %t15892 = load i32, ptr %t15881 %t15893 = icmp ne i32 %t15892, 0 br i1 %t15893, label %then3183, label %ifend3185 then3183: %t15894 = load ptr, ptr %t0 %t15895 = call ptr @lp_str_concat(ptr %t15894, ptr @.str9032) %t15896 = load ptr, ptr %t1 %t15897 = call ptr @lp_str_concat(ptr %t15895, ptr %t15896) %t15898 = call ptr @lp_str_concat(ptr %t15897, ptr @.str9033) %t15899 = load ptr, ptr %t0 %t15900 = call ptr @lp_str_concat(ptr %t15898, ptr %t15899) call void @fn_perr(ptr %t15900) br label %ifend3185 ifend3185: %t15901 = load ptr, ptr %t420 %t15902 = call ptr @fn_find_fn(ptr %t15901) store ptr %t15902, ptr %t15903 %t15904 = load ptr, ptr %t15903 %t15905 = icmp ne ptr %t15904, null %t15906 = zext i1 %t15905 to i32 %t15907 = icmp ne i32 %t15906, 0 br i1 %t15907, label %then3186, label %ifend3188 then3186: %t15908 = load ptr, ptr %t15903 %t15909 = call ptr @fn_param_labels(ptr %t15908) store ptr %t15909, ptr %t15910 store i32 0, ptr %t15911 br label %wcond3189 wcond3189: %t15912 = load i32, ptr %t15911 %t15913 = load ptr, ptr %t15910 %t15914 = getelementptr inbounds %LSlice, ptr %t15913, i32 0, i32 1 %t15915 = load i32, ptr %t15914 %t15916 = icmp slt i32 %t15912, %t15915 %t15917 = zext i1 %t15916 to i32 %t15918 = icmp ne i32 %t15917, 0 br i1 %t15918, label %wbody3190, label %wend3191 wbody3190: %t15919 = load ptr, ptr %t427 %t15920 = load ptr, ptr %t15910 %t15921 = getelementptr inbounds %LSlice, ptr %t15920, i32 0, i32 0 %t15922 = load ptr, ptr %t15921 %t15923 = load i32, ptr %t15911 %t15924 = getelementptr inbounds ptr, ptr %t15922, i32 %t15923 %t15925 = load ptr, ptr %t15924 %t15926 = getelementptr inbounds %LSlice, ptr %t15919, i32 0, i32 1 %t15927 = getelementptr inbounds %LSlice, ptr %t15919, i32 0, i32 2 %t15928 = getelementptr inbounds %LSlice, ptr %t15919, i32 0, i32 0 %t15929 = load i32, ptr %t15926 %t15930 = load i32, ptr %t15927 %t15931 = icmp sge i32 %t15929, %t15930 br i1 %t15931, label %grow3192, label %put3193 grow3192: %t15932 = mul i32 %t15930, 2 %t15933 = icmp eq i32 %t15930, 0 %t15934 = select i1 %t15933, i32 8, i32 %t15932 %t15935 = getelementptr ptr, ptr null, i32 1 %t15936 = ptrtoint ptr %t15935 to i64 %t15937 = zext i32 %t15934 to i64 %t15938 = mul i64 %t15937, %t15936 %t15939 = load ptr, ptr %t15928 %t15940 = call ptr @realloc(ptr %t15939, i64 %t15938) store ptr %t15940, ptr %t15928 store i32 %t15934, ptr %t15927 br label %put3193 put3193: %t15941 = load ptr, ptr %t15928 %t15942 = getelementptr inbounds ptr, ptr %t15941, i32 %t15929 store ptr %t15925, ptr %t15942 %t15943 = add i32 %t15929, 1 store i32 %t15943, ptr %t15926 %t15944 = load i32, ptr %t15911 %t15945 = add i32 %t15944, 1 store i32 %t15945, ptr %t15911 br label %wcond3189 wend3191: br label %ifend3188 ifend3188: br label %ifend3180 ifend3180: %t15946 = load ptr, ptr %t420 %t15947 = icmp eq ptr %t15946, null %t15948 = zext i1 %t15947 to i32 %t15949 = icmp ne i32 %t15948, 0 br i1 %t15949, label %then3194, label %ifend3196 then3194: %t15950 = load ptr, ptr %t0 %t15951 = call ptr @lp_str_concat(ptr @.str9034, ptr %t15950) %t15952 = call ptr @lp_str_concat(ptr %t15951, ptr @.str9035) %t15953 = load ptr, ptr %t1 %t15954 = call ptr @lp_str_concat(ptr %t15952, ptr %t15953) call void @fn_perr(ptr %t15954) br label %ifend3196 ifend3196: %t15955 = load ptr, ptr %t2 %t15956 = load ptr, ptr %t427 call void @fn_reorder_named(ptr %t15955, ptr %t15956) %t15957 = call ptr @fn_node(i32 33) store ptr %t15957, ptr %t15958 %t15959 = load ptr, ptr %t15958 %t15960 = getelementptr inbounds %Cmp_Node, ptr %t15959, i32 0, i32 1 %t15961 = load ptr, ptr %t420 store ptr %t15961, ptr %t15960 %t15962 = load ptr, ptr %t2 %t15963 = getelementptr inbounds %Cmp_Node, ptr %t15962, i32 0, i32 4 %t15964 = load ptr, ptr %t15958 store ptr %t15964, ptr %t15963 %t15965 = load ptr, ptr %t2 %t15966 = call ptr @fn_emit_call(ptr %t15965) store ptr %t15966, ptr %retval br label %ret ret: %t15967 = load ptr, ptr %retval ret ptr %t15967 } 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 @.str9036, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str9037) %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 @.str9038) %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 @.str9039, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str9040) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str9041) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9042) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9043) 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 @.str9044) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9045) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9046) %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 @.str9047) call void @fn_emit(ptr @.str9048) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str9049) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9050) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9051) %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 @.str9052) 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 @.str9053) %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 @.str9054, ptr @.str9055) 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 @.str9056, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str9057) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str9058) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = call ptr @fn_emit_bind(ptr @.str9059) %t61 = call ptr @fn_val(ptr %t60, ptr @.str9060) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str9061) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str9062) %t65 = call ptr @fn_val(ptr @.str9063, ptr @.str9064) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str9065) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str9066) %t69 = call ptr @fn_val(ptr @.str9067, ptr @.str9068) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str9069) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: %t73 = call ptr @fn_emit_bind(ptr @.str9070) %t74 = call ptr @fn_val(ptr %t73, ptr @.str9071) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str9072) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: %t78 = call ptr @fn_emit_bind(ptr @.str9073) %t79 = call ptr @fn_val(ptr %t78, ptr @.str9074) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str9075) %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 @.str9076, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str9077) %t97 = call ptr @fn_emit_bind(ptr %t96) %t98 = call ptr @fn_val(ptr %t97, ptr @.str9078) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str9079) %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 @.str9080) %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 @.str9081) %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 @.str9082) %t126 = call ptr @fn_val(ptr @.str9083, ptr @.str9084) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str9085) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str9086) %t130 = call ptr @fn_val(ptr @.str9087, ptr @.str9088) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str9089) %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 @.str9090, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str9091) %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 @.str9092) %t162 = call ptr @fn_emit_bind(ptr %t161) %t163 = call ptr @fn_val(ptr %t162, ptr @.str9093) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str9094) %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 @.str9095) %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 @.str9096) %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 @.str9097) %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 @.str9098) %t203 = call ptr @fn_val(ptr @.str9099, ptr @.str9100) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str9101) %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 @.str9102, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str9103) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str9104) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str9105) %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 @.str9106, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str9107) %t240 = call ptr @fn_emit_bind(ptr %t239) %t241 = call ptr @fn_val(ptr %t240, ptr @.str9108) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str9109) %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 @.str9110) %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 @.str9111) %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 @.str9112) %t269 = call ptr @fn_val(ptr @.str9113, ptr @.str9114) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str9115) %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 @.str9116, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str9117) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str9118) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str9119) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: %t292 = call ptr @fn_emit_bind(ptr @.str9120) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = call ptr @lp_str_concat(ptr @.str9121, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str9122) %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 @.str9123, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str9124) %t302 = call ptr @fn_emit_bind(ptr %t301) %t303 = call ptr @fn_val(ptr %t302, ptr @.str9125) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str9126) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: %t307 = call ptr @fn_emit_bind(ptr @.str9127) %t308 = call ptr @fn_val(ptr %t307, ptr @.str9128) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str9129) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str9130) %t312 = call ptr @fn_val(ptr @.str9131, ptr @.str9132) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str9133) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: call void @fn_emit(ptr @.str9134) %t316 = call ptr @fn_val(ptr @.str9135, ptr @.str9136) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str9137) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: call void @fn_emit(ptr @.str9138) %t320 = call ptr @fn_val(ptr @.str9139, ptr @.str9140) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str9141) %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 @.str9142) %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 @.str9143) %t336 = call ptr @fn_val(ptr @.str9144, ptr @.str9145) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str9146) %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 @.str9147) %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 @.str9148) %t352 = call ptr @fn_val(ptr @.str9149, ptr @.str9150) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str9151) %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 @.str9152) %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 @.str9153) %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 @.str9154) %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 @.str9155) %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 @.str9156) %t401 = call ptr @fn_val(ptr @.str9157, ptr @.str9158) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str9159) %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 @.str9160) %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 @.str9161, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str9162) %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 @.str9163) %t442 = call ptr @fn_emit_bind(ptr %t441) %t443 = call ptr @fn_val(ptr %t442, ptr @.str9164) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str9165) %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 @.str9166) %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 @.str9167) %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 @.str9168) %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 @.str9169) %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 @.str9170, ptr %t488) %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str9171) %t491 = call ptr @fn_emit_bind(ptr %t490) %t492 = call ptr @fn_val(ptr %t491, ptr @.str9172) 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 @.str9173, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str9174) %t498 = call ptr @fn_emit_bind(ptr %t497) %t499 = call ptr @fn_val(ptr %t498, ptr @.str9175) store ptr %t499, ptr %retval br label %ret ifend93: %t500 = load ptr, ptr %t38 %t501 = call i32 @lp_str_eq(ptr %t500, ptr @.str9176) %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 @.str9177) %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 @.str9179) %t529 = call ptr @lp_str_concat(ptr @.str9178, 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 @.str9180) %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 @.str9182) %t540 = call ptr @lp_str_concat(ptr @.str9181, 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 @.str9184) %t545 = call ptr @lp_str_concat(ptr @.str9183, ptr %t544) call void @fn_emit(ptr %t545) br label %ifend114 ifend114: br label %ifend111 ifend111: %t546 = call ptr @fn_val(ptr @.str9185, ptr @.str9186) store ptr %t546, ptr %retval br label %ret ifend105: %t547 = load ptr, ptr %t38 %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str9187) %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 @.str9188, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str9189) %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 @.str9190, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str9191) %t569 = call ptr @fn_emit_bind(ptr %t568) %t570 = call ptr @fn_val(ptr %t569, ptr @.str9192) store ptr %t570, ptr %retval br label %ret ifend117: %t571 = load ptr, ptr %t38 %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str9193) %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 @.str9194, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str9195) %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 @.str9196, ptr %t590) %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str9197) %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 @.str9198, ptr %t595) %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str9199) %t598 = call ptr @fn_emit_bind(ptr %t597) %t599 = call ptr @fn_val(ptr %t598, ptr @.str9200) store ptr %t599, ptr %retval br label %ret ifend120: %t600 = load ptr, ptr %t38 %t601 = call i32 @lp_str_eq(ptr %t600, ptr @.str9201) %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 @.str9202) 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 @.str9203, ptr %t631) %t633 = call ptr @lp_str_concat(ptr %t632, ptr @.str9204) %t634 = call ptr @fn_emit_bind(ptr %t633) %t635 = call ptr @fn_val(ptr %t634, ptr @.str9205) store ptr %t635, ptr %retval br label %ret ifend123: %t639 = load ptr, ptr %t38 %t640 = call i32 @lp_str_eq(ptr %t639, ptr @.str9206) %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 @.str9207) %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 @.str9208) %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 @.str9209) %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 @.str9210, ptr %t729) %t731 = call ptr @lp_str_concat(ptr %t730, ptr @.str9211) %t732 = call ptr @fn_emit_bind(ptr %t731) %t733 = call ptr @fn_val(ptr %t732, ptr @.str9212) 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 @.str9213) %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 @.str9214, ptr %t742) %t744 = call ptr @lp_str_concat(ptr %t743, ptr @.str9215) %t745 = call ptr @fn_emit_bind(ptr %t744) %t746 = call ptr @fn_val(ptr %t745, ptr @.str9216) 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 @.str9217) store ptr %t750, ptr %retval br label %ret ifend145: %t753 = load ptr, ptr %t38 %t754 = call i32 @lp_str_eq(ptr %t753, ptr @.str9218) %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 @.str9219) store ptr %t795, ptr %retval br label %ret ifend161: %t797 = load ptr, ptr %t38 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str9220) %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 @.str9221) %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 @.str9222) %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 @.str9223) %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 @.str9224) %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 @.str9225) %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 @.str9226, ptr %t905 %t906 = load ptr, ptr %t38 %t907 = call i32 @lp_str_eq(ptr %t906, ptr @.str9227) %t908 = icmp ne i32 %t907, 0 br i1 %t908, label %then192, label %ifend194 then192: store ptr @.str9228, 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 @.str9229) %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 @.str9230, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str9231) %t936 = call ptr @fn_emit_bind(ptr %t935) %t937 = call ptr @fn_val(ptr %t936, ptr @.str9232) store ptr %t937, ptr %retval br label %ret ifend197: %t938 = load ptr, ptr %t38 %t939 = call i32 @lp_str_eq(ptr %t938, ptr @.str9233) %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 @.str9234, ptr %t952) %t954 = call ptr @lp_str_concat(ptr %t953, ptr @.str9235) %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 @.str9236) %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 @.str9237) %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 @.str9238, ptr @.str9239) %t969 = call ptr @fn_val(ptr @.str9240, ptr @.str9241) store ptr %t969, ptr %retval br label %ret ifend200: %t970 = load ptr, ptr %t38 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str9242) %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 @.str9243, ptr %t993) %t995 = call ptr @lp_str_concat(ptr %t994, ptr @.str9244) %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 @.str9245) %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 @.str9246) %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 @.str9247, ptr @.str9248) store ptr %t1020, ptr %retval br label %ret ifend203: %t1021 = load ptr, ptr %t38 %t1022 = call i32 @lp_str_eq(ptr %t1021, ptr @.str9249) %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 @.str9250, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str9251) %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 @.str9252, 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 @.str9253, ptr %t1066) %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str9254) %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 @.str9255, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str9256) %t1074 = load ptr, ptr %t1065 %t1075 = call ptr @lp_str_concat(ptr %t1073, ptr %t1074) %t1076 = call ptr @lp_str_concat(ptr %t1075, ptr @.str9257) %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 @.str9258, ptr %t1081) %t1083 = call ptr @lp_str_concat(ptr %t1082, ptr @.str9259) %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 @.str9260) %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 @.str9261) %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 @.str9262, ptr @.str9263) store ptr %t1108, ptr %retval br label %ret ifend206: %t1109 = load ptr, ptr %t38 %t1110 = call i32 @lp_str_eq(ptr %t1109, ptr @.str9264) %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 @.str9265) %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 @.str9266) %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 @.str9267, ptr %t1134) %t1136 = call ptr @lp_str_concat(ptr %t1135, ptr @.str9268) %t1137 = load ptr, ptr %t1130 %t1138 = call ptr @lp_str_concat(ptr %t1136, ptr %t1137) %t1139 = call ptr @lp_str_concat(ptr %t1138, ptr @.str9269) %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 @.str9270) call void @fn_emit(ptr %t1144) call void @fn_emit(ptr @.str9271) store i32 1, ptr @g_g_term %t1145 = call ptr @fn_val(ptr @.str9272, ptr @.str9273) store ptr %t1145, ptr %retval br label %ret ifend209: %t1146 = load ptr, ptr %t38 %t1147 = call i32 @lp_str_eq(ptr %t1146, ptr @.str9274) %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 @.str9275, ptr %t1160) %t1162 = call ptr @lp_str_concat(ptr %t1161, ptr @.str9276) %t1163 = call ptr @fn_emit_bind(ptr %t1162) store ptr %t1163, ptr %t1164 %t1165 = call ptr @fn_lbl(ptr @.str9277) store ptr %t1165, ptr %t1166 %t1167 = call ptr @fn_lbl(ptr @.str9278) store ptr %t1167, ptr %t1168 %t1169 = load ptr, ptr %t1164 %t1170 = call ptr @lp_str_concat(ptr @.str9279, ptr %t1169) %t1171 = call ptr @lp_str_concat(ptr %t1170, ptr @.str9280) %t1172 = load ptr, ptr %t1166 %t1173 = call ptr @lp_str_concat(ptr %t1171, ptr %t1172) %t1174 = call ptr @lp_str_concat(ptr %t1173, ptr @.str9281) %t1175 = load ptr, ptr %t1168 %t1176 = call ptr @lp_str_concat(ptr %t1174, ptr %t1175) %t1177 = call ptr @lp_str_concat(ptr %t1176, ptr @.str9282) call void @fn_emit(ptr %t1177) %t1178 = load ptr, ptr %t1168 %t1179 = call ptr @lp_str_concat(ptr %t1178, ptr @.str9283) 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 @.str9284) %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 @.str9285) %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 @.str9286, ptr %t1202) %t1204 = call ptr @lp_str_concat(ptr %t1203, ptr @.str9287) %t1205 = load ptr, ptr %t1198 %t1206 = call ptr @lp_str_concat(ptr %t1204, ptr %t1205) %t1207 = call ptr @lp_str_concat(ptr %t1206, ptr @.str9288) %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 @.str9289) call void @fn_emit(ptr %t1212) call void @fn_emit(ptr @.str9290) %t1213 = load ptr, ptr %t1166 %t1214 = call ptr @lp_str_concat(ptr %t1213, ptr @.str9291) call void @fn_emit(ptr %t1214) %t1215 = call ptr @fn_val(ptr @.str9292, ptr @.str9293) store ptr %t1215, ptr %retval br label %ret ifend212: %t1217 = load ptr, ptr %t38 %t1218 = call i32 @lp_str_eq(ptr %t1217, ptr @.str9294) %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 @.str9295) %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 @.str9296) store ptr %t1237, ptr %t1238 %t1239 = load ptr, ptr %t1238 %t1240 = call ptr @lp_str_concat(ptr @.str9297, ptr %t1239) %t1241 = call ptr @lp_str_concat(ptr %t1240, ptr @.str9298) %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 @.str9299, ptr %t1244) %t1246 = call ptr @lp_str_concat(ptr %t1245, ptr @.str9300) call void @fn_emit(ptr %t1246) %t1247 = load ptr, ptr %t1238 %t1248 = call ptr @lp_str_concat(ptr @.str9301, ptr %t1247) %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str9302) %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 @.str9304) %t1254 = call ptr @lp_str_concat(ptr @.str9303, ptr %t1253) %t1255 = call ptr @lp_str_concat(ptr %t1254, ptr @.str9305) %t1256 = load ptr, ptr %t1251 %t1257 = call ptr @lp_str_concat(ptr %t1255, ptr %t1256) %t1258 = call ptr @lp_str_concat(ptr %t1257, ptr @.str9306) call void @fn_emit(ptr %t1258) %t1259 = load ptr, ptr %t1238 %t1260 = call ptr @lp_str_concat(ptr @.str9307, ptr %t1259) %t1261 = call ptr @lp_str_concat(ptr %t1260, ptr @.str9308) %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 @.str9309, ptr %t1264) %t1266 = call ptr @lp_str_concat(ptr %t1265, ptr @.str9310) call void @fn_emit(ptr %t1266) %t1267 = load ptr, ptr %t1238 %t1268 = call ptr @fn_val(ptr %t1267, ptr @.str9311) store ptr %t1268, ptr %retval br label %ret ifend217: %t1270 = load ptr, ptr %t38 %t1271 = call i32 @lp_str_eq(ptr %t1270, ptr @.str9312) %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 @.str9313) %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 @.str9314) store ptr %t1290, ptr %t1291 %t1292 = load ptr, ptr %t1291 %t1293 = call ptr @lp_str_concat(ptr @.str9315, ptr %t1292) %t1294 = call ptr @lp_str_concat(ptr %t1293, ptr @.str9316) %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 @.str9317, ptr %t1297) %t1299 = call ptr @lp_str_concat(ptr %t1298, ptr @.str9318) call void @fn_emit(ptr %t1299) %t1300 = load ptr, ptr %t1291 %t1301 = call ptr @lp_str_concat(ptr @.str9319, ptr %t1300) %t1302 = call ptr @lp_str_concat(ptr %t1301, ptr @.str9320) %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 @.str9321, ptr %t1305) %t1307 = call ptr @lp_str_concat(ptr %t1306, ptr @.str9322) call void @fn_emit(ptr %t1307) %t1308 = load ptr, ptr %t1291 %t1309 = call ptr @lp_str_concat(ptr @.str9323, ptr %t1308) %t1310 = call ptr @lp_str_concat(ptr %t1309, ptr @.str9324) %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 @.str9325, ptr %t1315) %t1317 = call ptr @lp_str_concat(ptr %t1316, ptr @.str9326) %t1318 = load ptr, ptr %t1312 %t1319 = call ptr @lp_str_concat(ptr %t1317, ptr %t1318) %t1320 = call ptr @lp_str_concat(ptr %t1319, ptr @.str9327) call void @fn_emit(ptr %t1320) %t1321 = load ptr, ptr %t1291 %t1322 = call ptr @fn_val(ptr %t1321, ptr @.str9328) store ptr %t1322, ptr %retval br label %ret ifend222: %t1324 = load ptr, ptr %t38 %t1325 = call i32 @lp_str_eq(ptr %t1324, ptr @.str9329) %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 @.str9330) %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 @.str9331, ptr %t1346) %t1348 = call ptr @lp_str_concat(ptr %t1347, ptr @.str9332) %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 @.str9333, 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 @.str9334, ptr %t1355) %t1357 = call ptr @lp_str_concat(ptr %t1356, ptr @.str9335) %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 @.str9336, ptr %t1360) %t1362 = call ptr @lp_str_concat(ptr %t1361, ptr @.str9337) %t1363 = call ptr @fn_emit_bind(ptr %t1362) %t1364 = call ptr @fn_val(ptr %t1363, ptr @.str9338) store ptr %t1364, ptr %retval br label %ret ifend227: %t1366 = load ptr, ptr %t38 %t1367 = call i32 @lp_str_eq(ptr %t1366, ptr @.str9339) %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 @.str9340) %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 @.str9341, ptr %t1388) %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str9342) %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 @.str9343, 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 @.str9344, ptr %t1397) %t1399 = call ptr @lp_str_concat(ptr %t1398, ptr @.str9345) %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 @.str9346, ptr %t1402) %t1404 = call ptr @lp_str_concat(ptr %t1403, ptr @.str9347) %t1405 = call ptr @fn_emit_bind(ptr %t1404) %t1406 = call ptr @fn_val(ptr %t1405, ptr @.str9348) store ptr %t1406, ptr %retval br label %ret ifend232: %t1408 = load ptr, ptr %t38 %t1409 = call i32 @lp_str_eq(ptr %t1408, ptr @.str9349) %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 @.str9350) %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 @.str9351) store ptr %t1428, ptr %t1429 %t1430 = load ptr, ptr %t1429 %t1431 = call ptr @lp_str_concat(ptr @.str9352, ptr %t1430) %t1432 = call ptr @lp_str_concat(ptr %t1431, ptr @.str9353) %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 @.str9354, ptr %t1435) %t1437 = call ptr @lp_str_concat(ptr %t1436, ptr @.str9355) call void @fn_emit(ptr %t1437) %t1438 = load ptr, ptr %t1429 %t1439 = call ptr @lp_str_concat(ptr @.str9356, ptr %t1438) %t1440 = call ptr @lp_str_concat(ptr %t1439, ptr @.str9357) %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 @.str9359) %t1445 = call ptr @lp_str_concat(ptr @.str9358, ptr %t1444) %t1446 = call ptr @lp_str_concat(ptr %t1445, ptr @.str9360) %t1447 = load ptr, ptr %t1442 %t1448 = call ptr @lp_str_concat(ptr %t1446, ptr %t1447) %t1449 = call ptr @lp_str_concat(ptr %t1448, ptr @.str9361) call void @fn_emit(ptr %t1449) %t1450 = load ptr, ptr %t1429 %t1451 = call ptr @fn_val(ptr %t1450, ptr @.str9362) store ptr %t1451, ptr %retval br label %ret ifend237: %t1453 = load ptr, ptr %t38 %t1454 = call i32 @lp_str_eq(ptr %t1453, ptr @.str9363) %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 @.str9364) %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 @.str9365) store ptr %t1464, ptr %t1465 %t1466 = load ptr, ptr %t1465 %t1467 = call ptr @lp_str_concat(ptr @.str9366, ptr %t1466) %t1468 = call ptr @lp_str_concat(ptr %t1467, ptr @.str9367) %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 @.str9368, ptr %t1471) %t1473 = call ptr @lp_str_concat(ptr %t1472, ptr @.str9369) call void @fn_emit(ptr %t1473) %t1474 = load ptr, ptr %t1465 %t1475 = call ptr @lp_str_concat(ptr @.str9370, ptr %t1474) %t1476 = call ptr @lp_str_concat(ptr %t1475, ptr @.str9371) %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 @.str9372, ptr %t1479) %t1481 = call ptr @lp_str_concat(ptr %t1480, ptr @.str9373) call void @fn_emit(ptr %t1481) %t1482 = load ptr, ptr %t1465 %t1483 = call ptr @fn_val(ptr %t1482, ptr @.str9374) store ptr %t1483, ptr %retval br label %ret ifend242: %t1485 = load ptr, ptr %t38 %t1486 = call i32 @lp_str_eq(ptr %t1485, ptr @.str9375) %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 @.str9376) %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 @.str9377, ptr %t1507) %t1509 = call ptr @lp_str_concat(ptr %t1508, ptr @.str9378) %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 @.str9379, 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 @.str9380, ptr %t1516) %t1518 = call ptr @lp_str_concat(ptr %t1517, ptr @.str9381) %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 @.str9382, ptr %t1521) %t1523 = call ptr @lp_str_concat(ptr %t1522, ptr @.str9383) %t1524 = call ptr @fn_emit_bind(ptr %t1523) %t1525 = call ptr @fn_val(ptr %t1524, ptr @.str9384) store ptr %t1525, ptr %retval br label %ret ifend247: %t1527 = load ptr, ptr %t38 %t1528 = call i32 @lp_str_eq(ptr %t1527, ptr @.str9385) %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 @.str9386) %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 @.str9387, ptr %t1549) %t1551 = call ptr @lp_str_concat(ptr %t1550, ptr @.str9388) %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 @.str9389, 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 @.str9390, ptr %t1558) %t1560 = call ptr @lp_str_concat(ptr %t1559, ptr @.str9391) %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 @.str9392, ptr %t1563) %t1565 = call ptr @lp_str_concat(ptr %t1564, ptr @.str9393) %t1566 = call ptr @fn_emit_bind(ptr %t1565) %t1567 = call ptr @fn_val(ptr %t1566, ptr @.str9394) store ptr %t1567, ptr %retval br label %ret ifend252: %t1569 = load ptr, ptr %t38 %t1570 = call i32 @lp_str_eq(ptr %t1569, ptr @.str9395) %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 @.str9396) %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 @.str9397, ptr %t1600) %t1602 = call ptr @lp_str_concat(ptr %t1601, ptr @.str9398) %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 @.str9399, 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 @.str9400, ptr %t1611) %t1613 = call ptr @lp_str_concat(ptr %t1612, ptr @.str9401) %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 @.str9402, 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 @.str9403, ptr %t1620) %t1622 = call ptr @lp_str_concat(ptr %t1621, ptr @.str9404) %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 @.str9405, ptr %t1625) %t1627 = call ptr @lp_str_concat(ptr %t1626, ptr @.str9406) %t1628 = load ptr, ptr %t1619 %t1629 = call ptr @lp_str_concat(ptr %t1627, ptr %t1628) %t1630 = call ptr @lp_str_concat(ptr %t1629, ptr @.str9407) %t1631 = load ptr, ptr %t1597 %t1632 = call ptr @fn_coerce_code(ptr %t1631, ptr @.str9408) %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 @.str9409) store ptr %t1635, ptr %retval br label %ret ifend257: %t1636 = load ptr, ptr %t38 %t1637 = call i32 @lp_str_eq(ptr %t1636, ptr @.str9410) %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 @.str9411, ptr %t1650) %t1652 = call ptr @lp_str_concat(ptr %t1651, ptr @.str9412) %t1653 = call ptr @fn_emit_bind(ptr %t1652) %t1654 = call ptr @fn_val(ptr %t1653, ptr @.str9413) store ptr %t1654, ptr %retval br label %ret ifend260: %t1655 = load ptr, ptr %t38 %t1656 = call i32 @lp_str_eq(ptr %t1655, ptr @.str9414) %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 @.str9415, ptr %t1678) %t1680 = call ptr @lp_str_concat(ptr %t1679, ptr @.str9416) %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 @.str9417) %t1686 = call ptr @fn_emit_bind(ptr %t1685) %t1687 = call ptr @fn_val(ptr %t1686, ptr @.str9418) store ptr %t1687, ptr %retval br label %ret ifend263: %t1688 = load ptr, ptr %t38 %t1689 = call i32 @lp_str_eq(ptr %t1688, ptr @.str9419) %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 @.str9420, ptr %t1720) %t1722 = call ptr @lp_str_concat(ptr %t1721, ptr @.str9421) %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 @.str9422) %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 @.str9423) %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 @.str9424, ptr %t1735) %t1737 = call ptr @lp_str_concat(ptr %t1736, ptr @.str9425) %t1738 = call ptr @fn_emit_bind(ptr %t1737) %t1739 = call ptr @fn_val(ptr %t1738, ptr @.str9426) store ptr %t1739, ptr %retval br label %ret ifend266: %t1740 = load ptr, ptr %t38 %t1741 = call i32 @lp_str_eq(ptr %t1740, ptr @.str9427) %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 @.str9428, ptr %t1781) %t1783 = call ptr @lp_str_concat(ptr %t1782, ptr @.str9429) %t1784 = call ptr @fn_emit_bind(ptr %t1783) store ptr %t1784, ptr %t1785 call void @fn_emit(ptr @.str9430) %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 @.str9431) %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 @.str9432) %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 @.str9433) %t1795 = load ptr, ptr %t1785 call void @fn_emit(ptr %t1795) call void @fn_emit(ptr @.str9434) %t1796 = call ptr @fn_val(ptr @.str9435, ptr @.str9436) store ptr %t1796, ptr %retval br label %ret ifend269: %t1797 = load ptr, ptr %t38 %t1798 = call i32 @lp_str_eq(ptr %t1797, ptr @.str9437) %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 @.str9438, ptr %t1820) %t1822 = call ptr @lp_str_concat(ptr %t1821, ptr @.str9439) %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 @.str9440) %t1828 = call ptr @fn_emit_bind(ptr %t1827) %t1829 = call ptr @fn_val(ptr %t1828, ptr @.str9441) store ptr %t1829, ptr %retval br label %ret ifend272: %t1830 = load ptr, ptr %t38 %t1831 = call i32 @lp_str_eq(ptr %t1830, ptr @.str9442) %t1832 = icmp ne i32 %t1831, 0 br i1 %t1832, label %then273, label %ifend275 then273: %t1833 = call ptr @fn_emit_bind(ptr @.str9443) %t1834 = call ptr @fn_val(ptr %t1833, ptr @.str9444) store ptr %t1834, ptr %retval br label %ret ifend275: %t1835 = load ptr, ptr %t38 %t1836 = call i32 @lp_str_eq(ptr %t1835, ptr @.str9445) %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 @.str9446, ptr %t1849) %t1851 = call ptr @lp_str_concat(ptr %t1850, ptr @.str9447) %t1852 = call ptr @fn_emit_bind(ptr %t1851) %t1853 = call ptr @fn_val(ptr %t1852, ptr @.str9448) store ptr %t1853, ptr %retval br label %ret ifend278: %t1854 = load ptr, ptr %t38 %t1855 = call i32 @lp_str_eq(ptr %t1854, ptr @.str9449) %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 @.str9450, ptr %t1868) %t1870 = call ptr @lp_str_concat(ptr %t1869, ptr @.str9451) %t1871 = call ptr @fn_emit_bind(ptr %t1870) %t1872 = call ptr @fn_val(ptr %t1871, ptr @.str9452) store ptr %t1872, ptr %retval br label %ret ifend281: %t1873 = load ptr, ptr %t38 %t1874 = call i32 @lp_str_eq(ptr %t1873, ptr @.str9453) %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 @.str9454, ptr %t1896) %t1898 = call ptr @lp_str_concat(ptr %t1897, ptr @.str9455) %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 @.str9456) %t1904 = call ptr @fn_emit_bind(ptr %t1903) %t1905 = call ptr @fn_val(ptr %t1904, ptr @.str9457) store ptr %t1905, ptr %retval br label %ret ifend284: %t1906 = load ptr, ptr %t38 %t1907 = call i32 @lp_str_eq(ptr %t1906, ptr @.str9458) %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 @.str9459, ptr %t1929) %t1931 = call ptr @lp_str_concat(ptr %t1930, ptr @.str9460) %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 @.str9461) %t1937 = call ptr @fn_emit_bind(ptr %t1936) %t1938 = call ptr @fn_val(ptr %t1937, ptr @.str9462) store ptr %t1938, ptr %retval br label %ret ifend287: %t1939 = load ptr, ptr %t38 %t1940 = call i32 @lp_str_eq(ptr %t1939, ptr @.str9463) %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 @.str9464) %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 @.str9465) %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 @.str9466) %t1966 = call ptr @fn_val(ptr @.str9467, ptr @.str9468) store ptr %t1966, ptr %retval br label %ret ifend290: %t1967 = load ptr, ptr %t38 %t1968 = call i32 @lp_str_eq(ptr %t1967, ptr @.str9469) %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 @.str9470) %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 @.str9471) %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 @.str9472) %t1994 = call ptr @fn_val(ptr @.str9473, ptr @.str9474) store ptr %t1994, ptr %retval br label %ret ifend293: %t1995 = load ptr, ptr %t38 %t1996 = call i32 @lp_str_eq(ptr %t1995, ptr @.str9475) %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 @.str9476, ptr %t2009) %t2011 = call ptr @lp_str_concat(ptr %t2010, ptr @.str9477) %t2012 = call ptr @fn_emit_bind(ptr %t2011) %t2013 = call ptr @fn_val(ptr %t2012, ptr @.str9478) store ptr %t2013, ptr %retval br label %ret ifend296: %t2014 = load ptr, ptr %t38 %t2015 = call i32 @lp_str_eq(ptr %t2014, ptr @.str9479) %t2016 = icmp ne i32 %t2015, 0 br i1 %t2016, label %then297, label %ifend299 then297: %t2017 = call ptr @fn_emit_bind(ptr @.str9480) %t2018 = call ptr @fn_val(ptr %t2017, ptr @.str9481) store ptr %t2018, ptr %retval br label %ret ifend299: %t2019 = load ptr, ptr %t38 %t2020 = call i32 @lp_str_eq(ptr %t2019, ptr @.str9482) %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 @.str9483, ptr %t2033) %t2035 = call ptr @lp_str_concat(ptr %t2034, ptr @.str9484) %t2036 = call ptr @fn_emit_bind(ptr %t2035) %t2037 = call ptr @fn_val(ptr %t2036, ptr @.str9485) store ptr %t2037, ptr %retval br label %ret ifend302: %t2038 = load ptr, ptr %t38 %t2039 = call i32 @lp_str_eq(ptr %t2038, ptr @.str9486) %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 @.str9487, ptr %t2052) %t2054 = call ptr @lp_str_concat(ptr %t2053, ptr @.str9488) %t2055 = call ptr @fn_emit_bind(ptr %t2054) %t2056 = call ptr @fn_val(ptr %t2055, ptr @.str9489) store ptr %t2056, ptr %retval br label %ret ifend305: %t2057 = load ptr, ptr %t38 %t2058 = call i32 @lp_str_eq(ptr %t2057, ptr @.str9490) %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 @.str9491, ptr %t2080) %t2082 = call ptr @lp_str_concat(ptr %t2081, ptr @.str9492) %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 @.str9493) %t2088 = call ptr @fn_emit_bind(ptr %t2087) %t2089 = call ptr @fn_val(ptr %t2088, ptr @.str9494) store ptr %t2089, ptr %retval br label %ret ifend308: %t2090 = load ptr, ptr %t38 %t2091 = call i32 @lp_str_eq(ptr %t2090, ptr @.str9495) %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 @.str9496, ptr %t2113) %t2115 = call ptr @lp_str_concat(ptr %t2114, ptr @.str9497) %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 @.str9498) %t2121 = call ptr @fn_emit_bind(ptr %t2120) %t2122 = call ptr @fn_val(ptr %t2121, ptr @.str9499) 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 @.str9500) store ptr @.str9501, ptr %t2236 %t2237 = load ptr, ptr %t2235 %t2238 = call i32 @lp_str_eq(ptr %t2237, ptr @.str9502) %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 @.str9503) br label %ifend333 ifend333: call void @fn_emit(ptr @.str9504) %t2244 = load ptr, ptr %t2235 call void @fn_emit(ptr %t2244) call void @fn_emit(ptr @.str9505) %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 @.str9506) 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 @.str9507) 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 @.str9508) %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 @.str9509) %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 @.str9510, 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 @.str9511, 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 @.str9512) store ptr @.str9513, ptr %t2421 %t2422 = load ptr, ptr %t2420 %t2423 = call i32 @lp_str_eq(ptr %t2422, ptr @.str9514) %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 @.str9515) br label %ifend361 ifend361: call void @fn_emit(ptr @.str9516) %t2429 = load ptr, ptr %t2420 call void @fn_emit(ptr %t2429) call void @fn_emit(ptr @.str9517) %t2430 = load ptr, ptr %t2298 call void @fn_emit(ptr %t2430) call void @fn_emit(ptr @.str9518) 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 @.str9519) 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 @.str9520) %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 @.str9521) %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 @.str9522, ptr @.str9523) 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 @.str9524) 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 @.str9525) 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 @.str9526) 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 @.str9527, ptr @.str9528) 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 @.str9529) 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 @.str9530, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str9531) %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 @.str9532) %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 @.str9533) %t110 = call ptr @fn_emit_bind(ptr %t109) %t111 = call ptr @fn_val(ptr %t110, ptr @.str9534) 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 @.str9535) 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 @.str9536, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str9537) %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 @.str9538) %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 @.str9539) %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 @.str9540) %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 @.str9541, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str9542) 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 @.str9543, ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str9544) 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 @.str9545, 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 @.str9546, ptr %t310) %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str9547) %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 @.str9548) 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 @.str9549, 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 @.str9550) %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 @.str9551, 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 @.str9552) 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 @.str9553) %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 @.str9554, 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 @.str9555) 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 @.str9556) 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 @.str9557) %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 @.str9558) %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 @.str9559) %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 @.str9560) %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 @.str9561) 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 @.str9562) 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 @.str9563) %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 @.str9564, 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 @.str9565, ptr %t524) %t526 = call ptr @lp_str_concat(ptr %t525, ptr @.str9566) %t527 = call ptr @fn_emit_bind(ptr %t526) %t528 = call ptr @fn_val(ptr %t527, ptr @.str9567) 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 @.str9568) %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 @.str9569, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str9570) %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 @.str9571, ptr %t601) %t603 = call ptr @lp_str_concat(ptr %t602, ptr @.str9572) %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 @.str9573) %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 @.str9574, ptr %t626) %t628 = call ptr @fn_emit_bind(ptr %t627) %t629 = call ptr @fn_val(ptr %t628, ptr @.str9575) 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 @.str9576) %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 @.str9577) %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 @.str9578, ptr %t648) %t650 = call ptr @fn_emit_bind(ptr %t649) %t651 = call ptr @fn_val(ptr %t650, ptr @.str9579) 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 @.str9580) %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 @.str9581, ptr %t659) %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str9582) %t662 = call ptr @fn_emit_bind(ptr %t661) %t663 = call ptr @fn_val(ptr %t662, ptr @.str9583) 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 @.str9584) %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 @.str9585, 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 @.str9586) %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 @.str9587, ptr %t686) %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str9588) %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 @.str9589, ptr %t697) %t699 = call ptr @lp_str_concat(ptr %t698, ptr @.str9590) %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 @.str9591, ptr %t702) %t704 = call ptr @lp_str_concat(ptr %t703, ptr @.str9592) %t705 = call ptr @fn_emit_bind(ptr %t704) %t706 = call ptr @fn_val(ptr %t705, ptr @.str9593) store ptr %t706, ptr %retval br label %ret ifend130: call void @fn_perr(ptr @.str9594) %t707 = call ptr @fn_val(ptr @.str9595, ptr @.str9596) 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 @.str9597) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str9598) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9599) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9600) 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 @.str9601, ptr %t5 store ptr @.str9602, 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 @.str9603, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9604) %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 @.str9605, 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 @.str9606, 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 @.str9607) 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 @.str9608) %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 @.str9609, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str9610) %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 @.str9611) %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 @.str9612, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str9613) %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 @.str9614, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9615) %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 @.str9616) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9617) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str9618) 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 @.str9619) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9620) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9621) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9622) br label %ifend2 else1: call void @fn_emit(ptr @.str9623) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9624) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9625) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9626) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9627) 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 @.str9628) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9629) 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 @.str9630) 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 @.str9631) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9632) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9633) 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 @.str9634) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str9635) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str9636) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str9637) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str9638) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9639) %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 @.str9640, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9641) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str9642) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str9643) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str9644) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9645) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9646) 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 @.str9647) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9648) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9649) 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 @.str9650) 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 @.str9651, 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 @.str9652) %t16 = call ptr @fn_lbl(ptr @.str9653) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str9654) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str9655) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str9656) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str9657) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9658) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9659) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str9660, 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 @.str9661, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9662) %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 @.str9663) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9664) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9665) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9666) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9667) 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 @.str9668) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str9669) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9670) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str9671, 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 @.str9672, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9673) %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 @.str9674, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str9675) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9676) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9677) 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 @.str9678) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9679) 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 @.str9680) %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 @.str9681, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str9682) %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 @.str9683) %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 @.str9684, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str9685) %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 @.str9686) 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 @.str9687) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str9688) %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 @.str9689) %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 @.str9690) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr @.str9691, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str9692) %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 @.str9693, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str9694) 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 @.str9695, 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 @.str9696, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9697) %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 @.str9698, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str9699) %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 @.str9700, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str9701) %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 @.str9702) store ptr %t112, ptr %t113 %t114 = call ptr @fn_lbl(ptr @.str9703) store ptr %t114, ptr %t115 call void @fn_emit(ptr @.str9704) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9705) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9706) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9707) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9708) 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 @.str9709) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str9710) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9711) 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 @.str9712, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str9713) %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 @.str9714) 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 @.str9715) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str9716) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) call void @fn_emit(ptr @.str9717) 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 @.str9718) 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 @.str9719, 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 @.str9720, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9721) %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 @.str9722, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str9723) %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 @.str9724) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str9725) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str9726) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9727) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9728) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9729) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str9730) 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 @.str9731) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str9732) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str9733) 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 @.str9734) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9735) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9736) 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 @.str9737, 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 @.str9738, ptr %t96 %t97 = load ptr, ptr %t95 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str9739) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: store ptr @.str9740, 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 @.str9741) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str9742) call void @fn_emit(ptr @.str9743) %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 @.str9744) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9745) 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 @.str9746) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str9747) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9748) call void @fn_emit(ptr @.str9749) %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 @.str9750) %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 @.str9751) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str9752) %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 @.str9753, 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 @.str9754) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: store ptr @.str9755, ptr %t225 br label %ifend33 ifend33: %t231 = call ptr @fn_find_extern(ptr @.str9756) %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 @.str9757) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9758) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9759) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9760) %t239 = call ptr @fn_val(ptr @.str9761, ptr @.str9762) 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 @.str9763) 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 @.str9764) %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 @.str9765) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str9766) %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 @.str9767) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9768) %t286 = load ptr, ptr %t279 %t287 = call ptr @fn_val(ptr %t286, ptr @.str9769) store ptr %t287, ptr %retval br label %ret ifend45: call void @fn_emit(ptr @.str9770) %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 @.str9771) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str9772) %t293 = call ptr @fn_val(ptr @.str9773, ptr @.str9774) 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 @.str9775) %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 @.str9776) 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 @.str9777) %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 @.str9778) 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 @.str9779) br label %ifend59 ifend59: call void @fn_emit(ptr @.str9780) %t216 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str9781) 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 @.str9782) 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 @.str9783) %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 @.str9784) call void @fn_emith(ptr @.str9785) call void @fn_emith(ptr @.str9786) %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 @.str9787) br label %ifend2 ifend2: call void @fn_emith(ptr @.str9788) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9789, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9790) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str9791, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9792) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str9793, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9794) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str9795) %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 @.str9796) call void @fn_emith(ptr @.str9797) 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 @.str9798, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9799) 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 @.str9800, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9801) %t50 = load ptr, ptr %t7 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str9802) %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 @.str9803) 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 @.str9804, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str9805) %t63 = load ptr, ptr %t7 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9806) 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 @.str9807, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9808) 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 @.str9809, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9810) 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 @.str9811, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str9812) 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 @.str9813) 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 @.str9814, ptr %t22) store ptr %t23, ptr %t24 call void @fn_emit(ptr @.str9815) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9816) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9817) %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 @.str9818) call void @fn_emit(ptr @.str9819) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9820) 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 @.str9821) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9822) call void @fn_emit(ptr @.str9823) %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 @.str9824) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9825) call void @fn_emit(ptr @.str9826) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9827) call void @fn_emit(ptr @.str9828) call void @fn_emit(ptr @.str9829) call void @fn_emit(ptr @.str9830) call void @fn_emit(ptr @.str9831) call void @fn_emit(ptr @.str9832) call void @fn_emit(ptr @.str9833) call void @fn_emit(ptr @.str9834) call void @fn_emit(ptr @.str9835) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9836) call void @fn_emit(ptr @.str9837) call void @fn_emit(ptr @.str9838) call void @fn_emit(ptr @.str9839) call void @fn_emit(ptr @.str9840) call void @fn_emit(ptr @.str9841) call void @fn_emit(ptr @.str9842) call void @fn_emit(ptr @.str9843) call void @fn_emit(ptr @.str9844) call void @fn_emit(ptr @.str9845) call void @fn_emit(ptr @.str9846) call void @fn_emit(ptr @.str9847) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9848) call void @fn_emit(ptr @.str9849) call void @fn_emit(ptr @.str9850) call void @fn_emit(ptr @.str9851) call void @fn_emit(ptr @.str9852) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9853) call void @fn_emit(ptr @.str9854) call void @fn_emit(ptr @.str9855) call void @fn_emit(ptr @.str9856) call void @fn_emit(ptr @.str9857) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9858) call void @fn_emit(ptr @.str9859) call void @fn_emit(ptr @.str9860) call void @fn_emit(ptr @.str9861) call void @fn_emit(ptr @.str9862) 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 @.str9863) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str9864, ptr @.str9865, 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 @.str9866) store ptr %t41, ptr %t42 %t43 = call ptr @fn_lbl(ptr @.str9867) store ptr %t43, ptr %t44 %t45 = call ptr @fn_lbl(ptr @.str9868) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str9869) store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str9870) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9871) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9872) %t51 = load ptr, ptr %t4 %t52 = call ptr @lp_str_concat(ptr @.str9873, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_bind(ptr @.str9874) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 %t58 = call ptr @lp_str_concat(ptr @.str9875, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9876) %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 @.str9877) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9878) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9879) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9880) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9881) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 %t69 = call ptr @lp_str_concat(ptr @.str9882, 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 @.str9883) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9884) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9885) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9886) %t77 = load ptr, ptr %t73 %t78 = call ptr @lp_str_concat(ptr @.str9887, 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 @.str9888, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str9889) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_lbl(ptr @.str9890) store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str9891) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9892) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9893) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9894) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9895) %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 @.str9896, 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 @.str9897) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str9898) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9899) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9900) %t130 = load ptr, ptr %t126 %t131 = call ptr @lp_str_concat(ptr @.str9901, 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 @.str9902, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9903) %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 @.str9904, 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 @.str9905, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9906) %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 @.str9907, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9908) %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 @.str9909) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9910) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str9911) %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 @.str9912) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str9913) %t167 = load ptr, ptr %t160 %t168 = call ptr @lp_str_concat(ptr @.str9914, 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 @.str9915, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9916) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: %t175 = call ptr @fn_lbl(ptr @.str9917) store ptr %t175, ptr %t176 call void @fn_emit(ptr @.str9918) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str9919) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str9920) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str9921) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9922) %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 @.str9923) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str9924) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str9925) %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 @.str9926) %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 @.str9927) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) call void @fn_emit(ptr @.str9928) %t242 = call ptr @fn_emit_alloca(ptr @.str9929) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str9930) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9931) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9932) %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 @.str9933, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9934) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = call ptr @fn_lbl(ptr @.str9935) store ptr %t282, ptr %t283 call void @fn_emit(ptr @.str9936) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str9937) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9938) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str9939) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str9940) 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 @.str9941) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str9942) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str9943) %t300 = load ptr, ptr %t4 %t301 = call ptr @lp_str_concat(ptr @.str9944, 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 @.str9945, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9946) %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 @.str9947, ptr %t309, ptr %t310) call void @fn_emit(ptr @.str9948) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str9949) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str9950) 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 @.str9951) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str9952) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9953) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9954) %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 @.str9955, 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 @.str9956) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str9957) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9958) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9959) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9960) call void @fn_emit(ptr @.str9961) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9962) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9963) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9964) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9965) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9966) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9967) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9968) 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 @.str9969) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9970) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9971) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9972) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9973) %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 @.str9974) %t78 = load ptr, ptr %t58 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9975) %t79 = load ptr, ptr %t61 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9976) %t80 = load ptr, ptr %t48 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9977) %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 @.str9978) %t118 = load ptr, ptr %t117 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9979) %t119 = load ptr, ptr %t1 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9980) %t120 = load ptr, ptr %t22 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str9981) %t121 = load i32, ptr %t111 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str9982) %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 @.str9983) %t138 = load ptr, ptr %t133 %t139 = call ptr @fn_llty(ptr %t138) call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str9984) %t140 = load ptr, ptr %t137 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str9985) %t141 = load ptr, ptr %t117 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str9986) 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 @.str9987) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str9988) %t155 = load ptr, ptr %t22 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str9989) %t156 = load ptr, ptr %t154 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str9990) %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 @.str9991, ptr %t163) %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str9992) 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 @.str9993) %t172 = load ptr, ptr %t166 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str9994) %t173 = load ptr, ptr %t0 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str9995) 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 @.str9996) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9997) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9998) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9999) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10000) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10001) %t32 = call ptr @fn_emit_alloca(ptr @.str10002) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str10003) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10004) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10005) %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 @.str10006, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10007) 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 @.str10008) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str10009, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10010) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str10011) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str10012) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 %t18 = call ptr @lp_str_concat(ptr @.str10013, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10014) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10015) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10016) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10017) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10018) %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 @.str10019) %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 @.str10020) %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 @.str10021, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10022) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10023) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10024) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10025) %t52 = load ptr, ptr %t14 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10026) 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 @.str10027, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str10028) 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 @.str10029, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10030) %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 @.str10031) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str10032) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10033) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10034) call void @fn_emit(ptr @.str10035) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10036) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10037) %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 @.str10038, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str10039) 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 @.str10040) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10041) %t112 = load ptr, ptr %t5 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10042) 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 @.str10043, 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 @.str10044) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str10045) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10046) %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 @.str10047) %t24 = load ptr, ptr %t18 %t25 = call ptr @lp_str_concat(ptr @.str10048, 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 @.str10049, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str10050) %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 @.str10051) store ptr %t54, ptr %t55 %t56 = call ptr @fn_lbl(ptr @.str10052) store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str10053) %t58 = load ptr, ptr %t53 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str10054) %t59 = load ptr, ptr %t55 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10055) %t60 = load ptr, ptr %t57 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10056) %t61 = load ptr, ptr %t55 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10057) %t62 = load ptr, ptr %t44 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10058) %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 @.str10059) %t66 = load ptr, ptr %t44 %t67 = call ptr @lp_str_concat(ptr @.str10060, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str10061) 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 @.str10062) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10063) %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 @.str10064) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10065) %t79 = load ptr, ptr %t57 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10066) %t80 = load ptr, ptr %t57 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10067) %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 @.str10068) %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 @.str10069) br label %ifend11 ifend11: call void @fn_emit(ptr @.str10070) %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 @.str10071) 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 @.str10072) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10073) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10074) %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 @.str10075) %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 @.str10076) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10077, 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 @.str10078, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10079) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10080) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10081) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10082) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10083) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10084) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10085) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10086) 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 @.str10087) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10088) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10089) 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 @.str10090) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10091) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10092) %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 @.str10093) %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 @.str10094) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10095, 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 @.str10096, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10097) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10098) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10099) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10100) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10101) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10102) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10103) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10104) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str10105) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10106) %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 @.str10107) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10108) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10109) %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 @.str10110) %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 @.str10111) %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 @.str10112) %t60 = call ptr @fn_emit_alloca(ptr @.str10113) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10114) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10115) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10116) %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 @.str10117, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10118) 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 @.str10119) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10120) %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 @.str10121) 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 @.str10122) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10123) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10124) 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 @.str10125, 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 @.str10126, 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 @.str10127) %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 @.str10128) %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 @.str10129) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10130) %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 @.str10131) %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 @.str10132, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10133) 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 @.str10134, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10135) 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 @.str10136) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10137) 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 @.str10138) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10139) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10140) %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 @.str10141) %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 @.str10142) call void @fn_emit(ptr @.str10143) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10144) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10145) 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 @.str10146) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10147) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10148) %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 @.str10149) %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 @.str10150) %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 @.str10151) %t126 = call ptr @fn_emit_alloca(ptr @.str10152) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str10153) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str10154) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10155) %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 @.str10156, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10157) 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 @.str10158, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str10159) 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 @.str10160) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str10161) %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 @.str10162) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str10163, 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 @.str10164, 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 @.str10165) %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 @.str10166) %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 @.str10167) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str10168) %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 @.str10169) 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 @.str10170, 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 @.str10171) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10172) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code call void @fn_emit(ptr @.str10173) %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 @.str10174) %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 @.str10175) store ptr @.str10176, 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 @.str10177, 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 @.str10178, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10179) %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 @.str10180, 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 @.str10181, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10182) %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 @.str10183, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10184) %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 @.str10185) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str10186, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10187) %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 @.str10188, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10189) %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 @.str10190) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str10191) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str10192) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10193) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10194) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10195) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10196) %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 @.str10197) call void @fn_emit(ptr @.str10198) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10199) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10200) 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 @.str10201) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10202) 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 @.str10203) %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 @.str10204) %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 @.str10205) 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 @.str10206) 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 @.str10207) %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 @.str10208) br label %ifend21 ifend21: br label %ifend8 ifend8: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str10209) %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 @.str10210) %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 @.str10211) 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 @.str10212) call void @fn_emit(ptr @.str10213) call void @fn_emit(ptr @.str10214) call void @fn_emit(ptr @.str10215) call void @fn_emit(ptr @.str10216) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10217) call void @fn_emit(ptr @.str10218) 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 @.str10219) %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 @.str10220) %t59 = load ptr, ptr %t54 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10221) call void @fn_emit(ptr @.str10222) %t60 = load ptr, ptr %t54 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10223) %t61 = load ptr, ptr %t1 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10224) %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 @.str10225) call void @fn_emit(ptr @.str10226) %t65 = load ptr, ptr %t54 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10227) %t66 = load ptr, ptr %t54 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10228) call void @fn_emit(ptr @.str10229) %t67 = load ptr, ptr %t54 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10230) %t68 = load ptr, ptr %t54 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10231) call void @fn_emit(ptr @.str10232) %t69 = load ptr, ptr %t54 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10233) %t70 = load ptr, ptr %t54 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10234) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10235) call void @fn_emit(ptr @.str10236) %t72 = load ptr, ptr %t54 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10237) call void @fn_emit(ptr @.str10238) %t73 = load ptr, ptr %t54 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10239) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10240) %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 @.str10241) %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 @.str10242) 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 @.str10243) %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 @.str10244) %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 @.str10245) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10246) %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 @.str10247) %t112 = load ptr, ptr %t54 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10248) %t113 = load i32, ptr %t26 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str10249) call void @fn_emit(ptr @.str10250) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10251) %t116 = load ptr, ptr %t107 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10252) call void @fn_emit(ptr @.str10253) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str10254) %t118 = load ptr, ptr %t107 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10255) call void @fn_emit(ptr @.str10256) %t119 = load ptr, ptr %t107 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10257) %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str10258) call void @fn_emit(ptr @.str10259) %t121 = load ptr, ptr %t107 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str10260) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10261) %t123 = load ptr, ptr %t107 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str10262) %t124 = load ptr, ptr %t107 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str10263) call void @fn_emit(ptr @.str10264) %t125 = load ptr, ptr %t107 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str10265) %t126 = load ptr, ptr %t107 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10266) 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 @.str10267) %t129 = load ptr, ptr %t58 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10268) %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 @.str10269) %t134 = load i32, ptr %t3 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10270) call void @fn_emit(ptr @.str10271) 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 @.str10272, 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 @.str10273) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10274) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str10275) %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 @.str10276) %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 @.str10277) 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 @.str10278, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10279) %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 @.str10280, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10281) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str10282) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str10283) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str10284) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10285) %t80 = load ptr, ptr %t76 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10286) %t81 = load ptr, ptr %t78 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10287) %t82 = load ptr, ptr %t76 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10288) %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 @.str10289, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10290) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 call void @fn_emit(ptr @.str10291) %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10292) %t91 = load ptr, ptr %t78 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10293) 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 @.str10294) %t94 = load ptr, ptr %t31 store ptr %t94, ptr @g_code call void @fn_emit(ptr @.str10295) %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 @.str10296) 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 @.str10297) %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 @.str10298) %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 @.str10299) %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 @.str10300) %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 @.str10301) %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 @.str10302) %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 @.str10303) %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 @.str10304) %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 @.str10305, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10306) 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 @.str10307) %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 @.str10308) %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 @.str10309) %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 @.str10310) %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 @.str10311) %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 @.str10312) %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 @.str10313) %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 @.str10314) call void @fn_emith(ptr @.str10315) call void @fn_emith(ptr @.str10316) call void @fn_emith(ptr @.str10317) call void @fn_emith(ptr @.str10318) call void @fn_emith(ptr @.str10319) call void @fn_emith(ptr @.str10320) call void @fn_emith(ptr @.str10321) call void @fn_emith(ptr @.str10322) call void @fn_emith(ptr @.str10323) call void @fn_emith(ptr @.str10324) call void @fn_emith(ptr @.str10325) call void @fn_emith(ptr @.str10326) call void @fn_emith(ptr @.str10327) call void @fn_emith(ptr @.str10328) call void @fn_emith(ptr @.str10329) call void @fn_emith(ptr @.str10330) call void @fn_emith(ptr @.str10331) call void @fn_emith(ptr @.str10332) call void @fn_emit(ptr @.str10333) %t0 = call ptr @fn_find_fn(ptr @.str10334) %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 @.str10335) 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 @.str10336) %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 @.str10337) %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 @.str10338) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str10339) call void @fn_emith(ptr @.str10340) 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 @.str10341) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str10342) call void @fn_emith(ptr @.str10343) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str10344) call void @fn_emith(ptr @.str10345) call void @fn_emit(ptr @.str10346) call void @fn_emit(ptr @.str10347) call void @fn_emit(ptr @.str10348) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10349) call void @fn_emit(ptr @.str10350) call void @fn_emit(ptr @.str10351) call void @fn_emit(ptr @.str10352) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10353) call void @fn_emit(ptr @.str10354) call void @fn_emit(ptr @.str10355) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10356) call void @fn_emit(ptr @.str10357) call void @fn_emit(ptr @.str10358) call void @fn_emit(ptr @.str10359) 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 @.str10360) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str10361) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str10362) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str10363) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str10364) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str10365) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10366) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10367) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10368) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10369) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10370) call void @fn_emit(ptr @.str10371) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str10372) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str10373) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10374) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10375) %t31 = call ptr @fn_emit_bind(ptr @.str10376) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str10377, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str10378) %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 @.str10379) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10380) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10381) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10382) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10383) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str10384) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10385) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10386) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10387) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str10388, 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 @.str10389, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str10390) %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 @.str10391) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10392) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10393) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10394) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10395) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str10396) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10397) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10398) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10399) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str10400, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str10401) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10402) call void @fn_emit(ptr @.str10403) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10404) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10405) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10406) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10407) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10408) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10409) 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 @.str10410) 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 @.str10411, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10412) %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 @.str10413) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str10414) store ptr %t152, ptr %t153 call void @fn_emit(ptr @.str10415) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10416) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10417) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10418) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str10419) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) call void @fn_emit(ptr @.str10420) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str10421) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) call void @fn_emit(ptr @.str10422) 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 @.str10423) %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 @.str10424) 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 @.str10425, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10426) %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 @.str10427) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str10428) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10429) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10430) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10431) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10432) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10433) call void @fn_emit(ptr @.str10434) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10435) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10436) 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 @.str10437, 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 @.str10438) %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 @.str10439) %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 @.str10440) br label %ifend7 ifend7: call void @fn_emit(ptr @.str10441) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str10442, 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 @.str10443) 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 @.str10444) %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 @.str10445) 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 @.str10446, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str10447) %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 @.str10448) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10449) 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 @.str10450) br label %ifend23 ifend23: call void @fn_emit(ptr @.str10451) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str10452) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10453) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10454) %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 @.str10455) 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 @.str10456, 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 @.str10457, 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 @.str10458) call void @fn_emit(ptr @.str10459) 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 @.str10460) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10461) %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 @.str10462) call void @fn_emit(ptr @.str10463) %t23 = load ptr, ptr %t17 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10464) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10465) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10466) call void @fn_emit(ptr @.str10467) %t26 = load ptr, ptr %t17 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10468) %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 @.str10469) call void @fn_emit(ptr @.str10470) %t30 = load ptr, ptr %t17 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10471) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str10472) 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 @.str10473, 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 @.str10474) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str10475) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10476) %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 @.str10477) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 call void @fn_emit_bind_props(ptr %t39, ptr @.str10478) %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 @.str10479) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10480) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code call void @fn_emit(ptr @.str10481) %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 @.str10482) %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 @.str10483) %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 @.str10484) %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 @.str10485) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10486) call void @fn_emit(ptr @.str10487) 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 @.str10488) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10489) %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 @.str10490) call void @fn_emit(ptr @.str10491) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10492) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10493) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10494) call void @fn_emit(ptr @.str10495) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10496) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10497) %t38 = load ptr, ptr %t25 %t39 = call ptr @lp_str_concat(ptr @.str10498, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10499) 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 @.str10500) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10501) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10502) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10503) call void @fn_emit(ptr @.str10504) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10505) %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 @.str10506) br label %ifend11 ifend11: call void @fn_emit(ptr @.str10507) call void @fn_emit(ptr @.str10508) 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 @.str10509) call void @fn_emit(ptr @.str10510) call void @fn_emit(ptr @.str10511) call void @fn_emit(ptr @.str10512) call void @fn_emit(ptr @.str10513) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10514) call void @fn_emit(ptr @.str10515) call void @fn_emit(ptr @.str10516) call void @fn_emit(ptr @.str10517) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str10518) call void @fn_emit(ptr @.str10519) 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 @.str10520) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10521) %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 @.str10522) call void @fn_emit(ptr @.str10523) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10524) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10525) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10526) call void @fn_emit(ptr @.str10527) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10528) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10529) %t39 = load ptr, ptr %t26 %t40 = call ptr @lp_str_concat(ptr @.str10530, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str10531) 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 @.str10532) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10533) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10534) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10535) call void @fn_emit(ptr @.str10536) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10537) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str10538) call void @fn_emit(ptr @.str10539) call void @fn_emit(ptr @.str10540) 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 @.str10541) 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 @.str10542) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str10543) 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 @.str10544) 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 @.str10545) br label %ifend14 ifend14: call void @fn_emith(ptr @.str10546) br label %ifend11 ifend11: call void @fn_emith(ptr @.str10547) call void @fn_emith(ptr @.str10548) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) call void @fn_emith(ptr @.str10549) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) call void @fn_emith(ptr @.str10550) call void @fn_emith(ptr @.str10551) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) call void @fn_emith(ptr @.str10552) call void @fn_emith(ptr @.str10553) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) call void @fn_emith(ptr @.str10554) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) call void @fn_emith(ptr @.str10555) call void @fn_emit(ptr @.str10556) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10557) call void @fn_emit(ptr @.str10558) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10559) call void @fn_emit(ptr @.str10560) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10561) call void @fn_emit(ptr @.str10562) call void @fn_emit(ptr @.str10563) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10564) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10565) call void @fn_emit(ptr @.str10566) call void @fn_emit(ptr @.str10567) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10568) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10569) call void @fn_emit(ptr @.str10570) call void @fn_emit(ptr @.str10571) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10572) call void @fn_emit(ptr @.str10573) call void @fn_emit(ptr @.str10574) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10575) call void @fn_emit(ptr @.str10576) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10577) call void @fn_emit(ptr @.str10578) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10579) call void @fn_emit(ptr @.str10580) call void @fn_emit(ptr @.str10581) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10582) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10583) call void @fn_emit(ptr @.str10584) call void @fn_emit(ptr @.str10585) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10586) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10587) call void @fn_emit(ptr @.str10588) call void @fn_emit(ptr @.str10589) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10590) call void @fn_emit(ptr @.str10591) call void @fn_emit(ptr @.str10592) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10593) call void @fn_emit(ptr @.str10594) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str10595) call void @fn_emit(ptr @.str10596) call void @fn_emit(ptr @.str10597) call void @fn_emit(ptr @.str10598) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10599) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str10600) call void @fn_emit(ptr @.str10601) call void @fn_emit(ptr @.str10602) 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 @.str10603, 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 @.str10604) call void @fn_emit(ptr @.str10605) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10606) call void @fn_emit(ptr @.str10607) call void @fn_emit(ptr @.str10608) %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 @.str10609) br label %ifend17 else16: call void @fn_emit(ptr @.str10610) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10611) call void @fn_emit(ptr @.str10612) %t101 = load ptr, ptr %t18 %t102 = call ptr @lp_str_concat(ptr @.str10613, 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 @.str10614) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str10615) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str10616) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str10617) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10618) call void @fn_emit(ptr @.str10619) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str10620) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str10621) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10622) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10623) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10624) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10625) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10626) %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 @.str10627) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10628) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str10629) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10630) %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 @.str10631) call void @fn_emit(ptr @.str10632) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10633) %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 @.str10634) store ptr %t211, ptr %t212 call void @fn_emit(ptr @.str10635) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str10636) %t214 = call ptr @fn_lbl(ptr @.str10637) store ptr %t214, ptr %t215 %t216 = call ptr @fn_lbl(ptr @.str10638) store ptr %t216, ptr %t217 %t218 = call ptr @fn_lbl(ptr @.str10639) store ptr %t218, ptr %t219 call void @fn_emit(ptr @.str10640) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str10641) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str10642) %t222 = load ptr, ptr %t212 %t223 = call ptr @lp_str_concat(ptr @.str10643, 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 @.str10644, 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 @.str10645, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str10646) %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 @.str10647) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10648) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10649) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) call void @fn_emit(ptr @.str10650) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str10651) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 call void @fn_emit(ptr @.str10652) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10653) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10654) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10655) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10656) %t247 = load ptr, ptr %t242 %t248 = call ptr @lp_str_concat(ptr @.str10657, 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 @.str10658, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str10659) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = call ptr @fn_lbl(ptr @.str10660) store ptr %t256, ptr %t257 %t258 = call ptr @fn_lbl(ptr @.str10661) store ptr %t258, ptr %t259 call void @fn_emit(ptr @.str10662) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10663) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str10664) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str10665) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10666) call void @fn_emit(ptr @.str10667) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str10668) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str10669) call void @fn_emit(ptr @.str10670) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10671) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str10672) %t268 = load ptr, ptr %t225 %t269 = call ptr @lp_str_concat(ptr @.str10673, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10674) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 call void @fn_emit(ptr @.str10675) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10676) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10677) call void @fn_emit(ptr @.str10678) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str10679) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str10680) call void @fn_emit(ptr @.str10681) br label %ifend32 ifend32: call void @fn_emit(ptr @.str10682) call void @fn_emit(ptr @.str10683) %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 @.str10684, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str10685) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str10686) br label %ifend35 else34: call void @fn_emit(ptr @.str10687) 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 @.str10688, 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 @.str10689, ptr %t289 br label %ifend38 ifend38: call void @fn_emit(ptr @.str10690) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str10691) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str10692) 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 @.str10693) 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 @.str10694) %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 @.str10695) %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 @.str10696) %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 @.str10697) 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 @.str10698) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10699) call void @fn_emit(ptr @.str10700) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10701) call void @fn_emit(ptr @.str10702) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) call void @fn_emit(ptr @.str10703) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str10704) call void @fn_emit(ptr @.str10705) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str10706) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10707) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10708) call void @fn_emit(ptr @.str10709) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10710) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10711) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10712) call void @fn_emit(ptr @.str10713) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10714) call void @fn_emit(ptr @.str10715) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10716) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str10717) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str10718) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10719) call void @fn_emit(ptr @.str10720) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) call void @fn_emit(ptr @.str10721) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) call void @fn_emit(ptr @.str10722) call void @fn_emit(ptr @.str10723) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) call void @fn_emit(ptr @.str10724) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str10725) call void @fn_emit(ptr @.str10726) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10727) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str10728) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) call void @fn_emit(ptr @.str10729) call void @fn_emit(ptr @.str10730) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) call void @fn_emit(ptr @.str10731) call void @fn_emit(ptr @.str10732) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) call void @fn_emit(ptr @.str10733) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) call void @fn_emit(ptr @.str10734) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) call void @fn_emit(ptr @.str10735) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) call void @fn_emit(ptr @.str10736) call void @fn_emit(ptr @.str10737) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str10738) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str10739) call void @fn_emit(ptr @.str10740) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str10741) call void @fn_emit(ptr @.str10742) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str10743) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) call void @fn_emit(ptr @.str10744) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str10745) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str10746) call void @fn_emit(ptr @.str10747) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str10748) %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 @.str10749) %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 @.str10750) br label %ifend50 else49: call void @fn_emit(ptr @.str10751) 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 @.str10752) 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 @.str10753) call void @fn_emith(ptr @.str10754) call void @fn_emith(ptr @.str10755) call void @fn_emith(ptr @.str10756) call void @fn_emith(ptr @.str10757) call void @fn_emit(ptr @.str10758) 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 @.str10759) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10760) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10761) call void @fn_emit(ptr @.str10762) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10763) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10764) call void @fn_emit(ptr @.str10765) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10766) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10767) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10768) call void @fn_emit(ptr @.str10769) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10770) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10771) call void @fn_emit(ptr @.str10772) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10773) %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 @.str10774) call void @fn_emit(ptr @.str10775) call void @fn_emit(ptr @.str10776) call void @fn_emit(ptr @.str10777) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10778) call void @fn_emit(ptr @.str10779) call void @fn_emit(ptr @.str10780) call void @fn_emit(ptr @.str10781) 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 @.str10782) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str10783) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10784) call void @fn_emit(ptr @.str10785) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10786) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10787) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10788) call void @fn_emit(ptr @.str10789) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10790) 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 @.str10791) %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 @.str10792) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10793) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str10794) call void @fn_emit(ptr @.str10795) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str10796) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str10797) call void @fn_emit(ptr @.str10798) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10799) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str10800) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10801) call void @fn_emit(ptr @.str10802) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10803) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str10804) call void @fn_emit(ptr @.str10805) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str10806) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: call void @fn_emit(ptr @.str10807) call void @fn_emit(ptr @.str10808) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10809) %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 @.str10810) call void @fn_emit(ptr @.str10811) 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 @.str10812) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10813) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10814) call void @fn_emit(ptr @.str10815) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10816) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10817) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10818) call void @fn_emit(ptr @.str10819) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10820) call void @fn_emit(ptr @.str10821) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str10822) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str10823) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10824) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10825) 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 @.str10826) %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 @.str10827) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str10828) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str10829) call void @fn_emit(ptr @.str10830) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str10831) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str10832) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10833) call void @fn_emit(ptr @.str10834) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10835) call void @fn_emit(ptr @.str10836) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10837) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10838) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10839) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10840) %t239 = load ptr, ptr %t220 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str10841) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: call void @fn_emit(ptr @.str10842) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str10843) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10844) call void @fn_emit(ptr @.str10845) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10846) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10847) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10848) br label %ifend32 else31: %t247 = load ptr, ptr %t220 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str10849) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: call void @fn_emit(ptr @.str10850) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str10851) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) call void @fn_emit(ptr @.str10852) call void @fn_emit(ptr @.str10853) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str10854) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str10855) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str10856) br label %ifend35 else34: call void @fn_emit(ptr @.str10857) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str10858) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str10859) call void @fn_emit(ptr @.str10860) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str10861) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str10862) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str10863) br label %ifend35 ifend35: br label %ifend32 ifend32: call void @fn_emit(ptr @.str10864) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10865) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: call void @fn_emit(ptr @.str10866) call void @fn_emit(ptr @.str10867) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10868) %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 @.str10869) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10870) call void @fn_emit(ptr @.str10871) call void @fn_emit(ptr @.str10872) call void @fn_emit(ptr @.str10873) call void @fn_emit(ptr @.str10874) call void @fn_emit(ptr @.str10875) call void @fn_emit(ptr @.str10876) 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 @.str10877) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str10878) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str10879) call void @fn_emit(ptr @.str10880) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str10881) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str10882) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str10883) call void @fn_emit(ptr @.str10884) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str10885) call void @fn_emit(ptr @.str10886) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str10887) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str10888) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str10889) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str10890) 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 @.str10891) %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 @.str10892) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) call void @fn_emit(ptr @.str10893) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str10894) call void @fn_emit(ptr @.str10895) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str10896) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str10897) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) call void @fn_emit(ptr @.str10898) call void @fn_emit(ptr @.str10899) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str10900) call void @fn_emit(ptr @.str10901) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str10902) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str10903) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str10904) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str10905) %t351 = load ptr, ptr %t332 %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str10906) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: call void @fn_emit(ptr @.str10907) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str10908) call void @fn_emit(ptr @.str10909) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10910) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10911) br label %ifend47 else46: %t357 = load ptr, ptr %t332 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str10912) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: call void @fn_emit(ptr @.str10913) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10914) call void @fn_emit(ptr @.str10915) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10916) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10917) br label %ifend50 else49: call void @fn_emit(ptr @.str10918) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10919) call void @fn_emit(ptr @.str10920) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10921) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10922) br label %ifend50 ifend50: br label %ifend47 ifend47: call void @fn_emit(ptr @.str10923) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10924) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: call void @fn_emit(ptr @.str10925) call void @fn_emit(ptr @.str10926) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10927) %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 @.str10928) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10929) call void @fn_emit(ptr @.str10930) call void @fn_emit(ptr @.str10931) call void @fn_emit(ptr @.str10932) call void @fn_emit(ptr @.str10933) call void @fn_emit(ptr @.str10934) call void @fn_emit(ptr @.str10935) 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 @.str10936) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str10937) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str10938) call void @fn_emit(ptr @.str10939) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str10940) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str10941) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str10942) call void @fn_emit(ptr @.str10943) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str10944) call void @fn_emit(ptr @.str10945) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str10946) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str10947) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str10948) call void @fn_emit(ptr @.str10949) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str10950) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str10951) call void @fn_emit(ptr @.str10952) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str10953) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str10954) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str10955) call void @fn_emit(ptr @.str10956) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str10957) %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 @.str10958) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str10959) call void @fn_emit(ptr @.str10960) call void @fn_emit(ptr @.str10961) call void @fn_emit(ptr @.str10962) call void @fn_emit(ptr @.str10963) call void @fn_emit(ptr @.str10964) call void @fn_emit(ptr @.str10965) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str10966) call void @fn_emit(ptr @.str10967) call void @fn_emit(ptr @.str10968) call void @fn_emit(ptr @.str10969) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str10970) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str10971) call void @fn_emit(ptr @.str10972) call void @fn_emit(ptr @.str10973) call void @fn_emit(ptr @.str10974) call void @fn_emit(ptr @.str10975) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str10976) call void @fn_emit(ptr @.str10977) call void @fn_emit(ptr @.str10978) call void @fn_emit(ptr @.str10979) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str10980) call void @fn_emit(ptr @.str10981) call void @fn_emit(ptr @.str10982) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str10983) call void @fn_emit(ptr @.str10984) call void @fn_emit(ptr @.str10985) call void @fn_emit(ptr @.str10986) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str10987) call void @fn_emit(ptr @.str10988) call void @fn_emit(ptr @.str10989) 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 @.str10990) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str10991) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str10992) call void @fn_emit(ptr @.str10993) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str10994) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str10995) call void @fn_emit(ptr @.str10996) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str10997) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str10998) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str10999) call void @fn_emit(ptr @.str11000) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str11001) %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 @.str11002) call void @fn_emit(ptr @.str11003) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str11004) %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 @.str11005) 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 @.str11006, 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 @.str11007) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str11008) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code call void @fn_emit(ptr @.str11009) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str11010) %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 @.str11011) 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 @.str11012) 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 @.str11013) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) call void @fn_emit(ptr @.str11014) %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 @.str11015) call void @fn_emit(ptr @.str11016) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) call void @fn_emit(ptr @.str11017) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) call void @fn_emit(ptr @.str11018) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) call void @fn_emit(ptr @.str11019) call void @fn_emit(ptr @.str11020) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) call void @fn_emit(ptr @.str11021) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) call void @fn_emit(ptr @.str11022) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) call void @fn_emit(ptr @.str11023) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) call void @fn_emit(ptr @.str11024) call void @fn_emit(ptr @.str11025) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str11026) %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 @.str11027) call void @fn_emit(ptr @.str11028) call void @fn_emit(ptr @.str11029) call void @fn_emit(ptr @.str11030) call void @fn_emit(ptr @.str11031) call void @fn_emit(ptr @.str11032) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) call void @fn_emit(ptr @.str11033) call void @fn_emit(ptr @.str11034) call void @fn_emit(ptr @.str11035) call void @fn_emit(ptr @.str11036) call void @fn_emit(ptr @.str11037) call void @fn_emit(ptr @.str11038) 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 @.str11039) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str11040) 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 @.str11041) call void @fn_emit(ptr @.str11042) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str11043) call void @fn_emit(ptr @.str11044) 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 @.str11045) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str11046) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str11047) call void @fn_emit(ptr @.str11048) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11049) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11050) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11051) call void @fn_emit(ptr @.str11052) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str11053) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str11054) call void @fn_emit(ptr @.str11055) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11056) %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 @.str11057) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11058) call void @fn_emit(ptr @.str11059) call void @fn_emit(ptr @.str11060) call void @fn_emit(ptr @.str11061) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11062) call void @fn_emit(ptr @.str11063) 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 @.str11064) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str11065) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11066) call void @fn_emit(ptr @.str11067) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11068) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str11069) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str11070) call void @fn_emit(ptr @.str11071) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11072) %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 @.str11073) call void @fn_emit(ptr @.str11074) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str11075) %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 @.str11076) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str11077) call void @fn_emit(ptr @.str11078) call void @fn_emit(ptr @.str11079) call void @fn_emit(ptr @.str11080) call void @fn_emit(ptr @.str11081) 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 @.str11082) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str11083) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str11084) call void @fn_emit(ptr @.str11085) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str11086) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str11087) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str11088) call void @fn_emit(ptr @.str11089) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str11090) 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 @.str11091) %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 @.str11092) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str11093) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str11094) call void @fn_emit(ptr @.str11095) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str11096) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str11097) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str11098) call void @fn_emit(ptr @.str11099) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str11100) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str11101) call void @fn_emit(ptr @.str11102) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str11103) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: call void @fn_emit(ptr @.str11104) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str11105) call void @fn_emit(ptr @.str11106) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str11107) %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 @.str11108) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str11109) call void @fn_emit(ptr @.str11110) 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 @.str11111) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str11112) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str11113) call void @fn_emit(ptr @.str11114) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str11115) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str11116) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str11117) call void @fn_emit(ptr @.str11118) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str11119) 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 @.str11120) %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 @.str11121) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str11122) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str11123) call void @fn_emit(ptr @.str11124) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str11125) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str11126) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str11127) call void @fn_emit(ptr @.str11128) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str11129) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str11130) call void @fn_emit(ptr @.str11131) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str11132) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: call void @fn_emit(ptr @.str11133) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str11134) call void @fn_emit(ptr @.str11135) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str11136) %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 @.str11137) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str11138) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str11139) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11140) call void @fn_emit_calls_for_phase(ptr @.str11141) call void @fn_emit_calls_for_phase(ptr @.str11142) call void @fn_emit_calls_for_phase(ptr @.str11143) call void @fn_emit(ptr @.str11144) call void @fn_emit(ptr @.str11145) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11146) call void @fn_emit_calls_for_phase(ptr @.str11147) call void @fn_emit(ptr @.str11148) 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 @.str11149) call void @fn_emit(ptr @.str11150) call void @fn_emit(ptr @.str11151) %t0 = call ptr @fn_find_fn(ptr @.str11152) %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 @.str11153) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11154) call void @fn_emit_calls_for_phase(ptr @.str11155) %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 @.str11156) %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 @.str11157) 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 @.str11158) %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 @.str11159) 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 @.str11160) %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 @.str11161) br label %ifend14 ifend14: call void @fn_emit(ptr @.str11162) call void @fn_emit(ptr @.str11163) %t46 = call ptr @fn_emit_bind(ptr @.str11164) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str11165, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str11166) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_find_fn(ptr @.str11167) %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 @.str11168) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str11169, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str11170) %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 @.str11171, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11172) %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 @.str11173) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11174) br label %ifend17 else16: call void @fn_emit(ptr @.str11175) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11176) br label %ifend17 ifend17: call void @fn_emit(ptr @.str11177) %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 @.str11178) %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 @.str11179) store ptr %t84, ptr %t85 call void @fn_emit(ptr @.str11180) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str11181) br label %ifend22 else21: %t87 = call ptr @fn_find_fn(ptr @.str11182) %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 @.str11183) store ptr %t91, ptr %t92 call void @fn_emit(ptr @.str11184) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11185) 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 @.str11186) %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 @.str11187) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str11188) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11189) br label %ifend30 ifend30: call void @fn_emit_calls_for_phase(ptr @.str11190) call void @fn_emit_calls_for_phase(ptr @.str11191) call void @fn_emit_calls_for_phase(ptr @.str11192) call void @fn_emit_calls_for_phase(ptr @.str11193) %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 @.str11194) %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 @.str11195) %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 @.str11196) br label %ifend35 ifend35: call void @fn_emit_calls_for_phase(ptr @.str11197) call void @fn_emit_calls_for_phase(ptr @.str11198) %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 @.str11199) %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 @.str11200) br label %ifend40 ifend40: %t136 = call ptr @fn_emit_bind(ptr @.str11201) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr @.str11202, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str11203) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str11204) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str11205) call void @fn_emit(ptr @.str11206) call void @fn_emit(ptr @.str11207) %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 @.str11208) br label %ifend43 ifend43: call void @fn_emit_calls_for_phase(ptr @.str11209) %t150 = call ptr @fn_find_event(ptr @.str11210) %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 @.str11211) br label %ifend46 ifend46: %t154 = call ptr @fn_find_fn(ptr @.str11212) %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 @.str11213) br label %ifend49 ifend49: call void @fn_emit(ptr @.str11214) 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 @.str11215, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11216) %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 @.str11217, 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 @.str11218, 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 @.str11219, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11220) %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 @.str11221) 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 @.str11222, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str11223) %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 @.str11224) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str11225) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str11226) %t100 = load ptr, ptr %t95 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11227) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11228) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11229) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11230) 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 @.str11231) %t111 = load ptr, ptr %t65 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11232) br label %ifend13 ifend13: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11233) 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 @.str11234) %t119 = load ptr, ptr %t65 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str11235) br label %ifend16 ifend16: %t120 = load ptr, ptr %t65 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str11236) 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 @.str11237) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11238) %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 @.str11239) 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 @.str11240) %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 @.str11241) %t80 = load ptr, ptr %t61 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11242) 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 @.str11243, 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 @.str11244) %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 @.str11245) br label %ifend20 else19: call void @fn_emit(ptr @.str11246) br label %ifend20 ifend20: call void @fn_emit(ptr @.str11247) %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 @.str11248) call void @fn_emit(ptr @.str11249) %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 @.str11250) 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 @.str11251) %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 @.str11252, 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 @.str11253) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str11254) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str11255) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str11256) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str11257) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11258) %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 @.str11259, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11260) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11261) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11262) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11263) %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 @.str11264, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str11265) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11266) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str11267) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str11268) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str11269) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11270) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11271) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11272) br label %ifend8 else7: call void @fn_emit(ptr @.str11273) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11274) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str11275) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str11276) 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 @.str11277, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str11278) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11279) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str11280) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11281) %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 @.str11282, 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 @.str11283, ptr @.str11284) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str11285, ptr @.str11286) call void @fn_emit(ptr @.str11287) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str11288) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str11289, ptr @.str11290) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str11291, ptr @.str11292) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str11293, ptr @.str11294) %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 @.str11295, ptr @.str11296) 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 @.str11297, ptr %t39) call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str11298) 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 @.str11299, ptr %t72) store ptr %t73, ptr %t74 call void @fn_emit(ptr @.str11300) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11301) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11302) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11303) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 %t80 = call ptr @lp_str_concat(ptr @.str11304, 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 @.str11305, 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 @.str11306, ptr @g_g_snap_mode call void @fn_emith(ptr @.str11307) call void @fn_emith(ptr @.str11308) call void @fn_emith(ptr @.str11309) %t0 = call ptr @fn_find_fn(ptr @.str11310) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str11311) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str11312) call void @fn_emit(ptr @.str11313) call void @fn_emit(ptr @.str11314) call void @fn_emit(ptr @.str11315) call void @fn_emit_snapshot_blocks(ptr @.str11316) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str11317) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11318) call void @fn_emit(ptr @.str11319) call void @fn_emit(ptr @.str11320) call void @fn_emit(ptr @.str11321) call void @fn_emit(ptr @.str11322) call void @fn_emit_snapshot_blocks(ptr @.str11323) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str11324) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11325) call void @fn_emit(ptr @.str11326) store ptr @.str11327, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11328) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str11329, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str11330) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str11331) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11332) call void @fn_emit(ptr @.str11333) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str11334) call void @fn_emit(ptr @.str11335) store ptr @.str11336, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11337) call void @fn_emit(ptr @.str11338) call void @fn_emit(ptr @.str11339) store ptr @.str11340, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11341) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str11342, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11343) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11344) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11345) call void @fn_emit(ptr @.str11346) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11347) store ptr @.str11348, 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 @.str11349) %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 @.str11350) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str11351, ptr %retval br label %ret ifend2: store ptr @.str11352, 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 @.str11353, 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 @.str11354, 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 @.str11355) %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 @.str11356, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11357) %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 @.str11358) 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 @.str11359, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str11360) %t130 = load ptr, ptr %t59 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str11361) 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 @.str11362) %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 @.str11363) 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 @.str11364) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11365) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11366) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11367) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11368) 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 @.str11369) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11370) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11371) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11372) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11373) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11374) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11375) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11376) call void @fn_emit(ptr @.str11377) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11378) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11379) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11380) %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 @.str11381) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11382) 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 @.str11383) %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 @.str11384) 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 @.str11385) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11386) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11387) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11388) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11389) 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 @.str11390) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11391) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11392) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11393) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11394) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11395) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11396) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11397) call void @fn_emit(ptr @.str11398) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11399) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11400) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11401) %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 @.str11402) 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 @.str11403) call void @fn_emit(ptr @.str11404) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11405) 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 @.str11406) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11407) %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 @.str11408) call void @fn_emit(ptr @.str11409) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11410) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11411) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11412) call void @fn_emit(ptr @.str11413) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str11414) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str11415) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11416) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str11417) call void @fn_emit(ptr @.str11418) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str11419) %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 @.str11420) call void @fn_emit(ptr @.str11421) call void @fn_emit(ptr @.str11422) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str11423) 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 @.str11424) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11425) %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 @.str11426) call void @fn_emit(ptr @.str11427) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11428) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str11429) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str11430) call void @fn_emit(ptr @.str11431) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str11432) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str11433) call void @fn_emit(ptr @.str11434) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str11435) %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 @.str11436) call void @fn_emit(ptr @.str11437) call void @fn_emit(ptr @.str11438) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11439) 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 @.str11440) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str11441) %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 @.str11442) call void @fn_emit(ptr @.str11443) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str11444) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str11445) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str11446) call void @fn_emit(ptr @.str11447) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str11448) %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 @.str11449) call void @fn_emit(ptr @.str11450) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str11451) %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 @.str11452) 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 @.str11453) call void @fn_emit(ptr @.str11454) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11455) call void @fn_emit(ptr @.str11456) call void @fn_emit(ptr @.str11457) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str11458) call void @fn_emit(ptr @.str11459) call void @fn_emit(ptr @.str11460) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11461) call void @fn_emit(ptr @.str11462) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str11463) call void @fn_emith(ptr @.str11464) call void @fn_emith(ptr @.str11465) call void @fn_emith(ptr @.str11466) call void @fn_emit(ptr @.str11467) call void @fn_emit(ptr @.str11468) call void @fn_emit(ptr @.str11469) call void @fn_emit(ptr @.str11470) call void @fn_emit(ptr @.str11471) call void @fn_emit(ptr @.str11472) call void @fn_emit(ptr @.str11473) call void @fn_emit(ptr @.str11474) call void @fn_emit(ptr @.str11475) call void @fn_emit(ptr @.str11476) call void @fn_emit(ptr @.str11477) call void @fn_emit(ptr @.str11478) call void @fn_emit(ptr @.str11479) call void @fn_emit(ptr @.str11480) call void @fn_emit(ptr @.str11481) call void @fn_emit(ptr @.str11482) call void @fn_emit(ptr @.str11483) call void @fn_emit(ptr @.str11484) call void @fn_emit(ptr @.str11485) call void @fn_emit(ptr @.str11486) call void @fn_emit(ptr @.str11487) call void @fn_emit(ptr @.str11488) 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 @.str11489) 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 @.str11490, 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 @.str11491) 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 @.str11492, 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 @.str11493) %t0 = call ptr @fn_find_extern(ptr @.str11494) %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 @.str11495) call void @fn_emit(ptr @.str11496) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11497) call void @fn_emit(ptr @.str11498) call void @fn_emit(ptr @.str11499) 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 @.str11500) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str11501) %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 @.str11502) call void @fn_emit(ptr @.str11503) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str11504) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11505) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11506) call void @fn_emit(ptr @.str11507) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11508) 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 @.str11509) %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 @.str11510) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11511) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11512) call void @fn_emit(ptr @.str11513) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11514) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11515) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11516) %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 @.str11517) 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 @.str11518) %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 @.str11519) %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 @.str11520) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11521) call void @fn_emit(ptr @.str11522) call void @fn_emit(ptr @.str11523) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11524) 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 @.str11525) call void @fn_emit(ptr @.str11526) 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 @.str11527) 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 @.str11528) %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 @.str11529) %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 @.str11530) %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 @.str11531) %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 @.str11532) %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 @.str11533) %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 @.str11534) %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 @.str11535, 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 @.str11536, 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 @.str11537, 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 @.str11538, 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 @.str11539) 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 @.str11540) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11541) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11542) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str11543) 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 @.str11544) %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 @.str11545) %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 @.str11546) %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 @.str11547) %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 @.str11548) %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 @.str11549) %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 @.str11550) %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 @.str11551) %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 @.str11552) %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 @.str11553) %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 @.str11554) %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 @.str11555) %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 @.str11556) %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 @.str11557) %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 @.str11558) %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 @.str11559) 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 @.str11560) 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 @.str11561) %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 @.str11562) %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 @.str11563) %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 @.str11564) %t89 = load i32, ptr %t10 %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str11565) %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 @.str11566) br label %ifend16 else15: %t95 = load ptr, ptr %t65 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str11567) %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 @.str11568) %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 @.str11569, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11570) %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 @.str11571) %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 @.str11572) %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 @.str11573) %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 @.str11574) %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 @.str11575) 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 @.str11576) %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 @.str11577) 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 @.str11578) 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 @.str11579) %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 @.str11580) %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 @.str11581) %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 @.str11582) 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 @.str11583) %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 @.str11584) %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 @.str11585) %t57 = load ptr, ptr %t49 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11586) %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 @.str11587) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11588) %t74 = load ptr, ptr %t15 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str11589) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then9, label %else10 then9: call void @fn_emit(ptr @.str11590) br label %ifend11 else10: %t77 = load ptr, ptr %t15 %t78 = call ptr @lp_str_concat(ptr @.str11591, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11592) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 call void @fn_emit(ptr @.str11593) %t82 = load ptr, ptr %t15 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11594) %t83 = load ptr, ptr %t81 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11595) br label %ifend11 ifend11: %t84 = load ptr, ptr %t11 store ptr %t84, ptr @g_code call void @fn_emit(ptr @.str11596) %t85 = load ptr, ptr %t15 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str11597) %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 @.str11598) %t89 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t89) call void @fn_emit(ptr @.str11599) %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 @.str11600) store ptr @.str11601, 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 @.str11602, 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 @.str11603) call void @fn_emit(ptr @.str11604) call void @fn_emit(ptr @.str11605) call void @fn_emit(ptr @.str11606) %t8 = call ptr @fn_find_fn(ptr @.str11607) %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 @.str11608) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11609) %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 @.str11610) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11611) %t19 = call ptr @fn_emit_bind(ptr @.str11612) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str11613) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11614) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str11615) %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 @.str11616) 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 @.str11617, 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 @.str11618) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11619) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str11620) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11621) %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 @.str11622) 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 @.str11623) call void @fn_emith(ptr @.str11624) call void @fn_emith(ptr @.str11625) 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 @.str11626) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str11627) call void @fn_emit(ptr @.str11628) call void @fn_emit(ptr @.str11629) call void @fn_emit(ptr @.str11630) call void @fn_emit(ptr @.str11631) call void @fn_emit(ptr @.str11632) %t19 = call ptr @fn_lbl(ptr @.str11633) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str11634) store ptr %t21, ptr %t22 %t23 = call ptr @fn_emit_bind(ptr @.str11635) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str11636, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11637) %t28 = load ptr, ptr %t20 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str11638) %t31 = load ptr, ptr %t22 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str11639) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t20 %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11640) call void @fn_emit(ptr %t35) %t36 = call ptr @fn_emit_bind(ptr @.str11641) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str11642, 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 @.str11643, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11644) call void @fn_emit(ptr %t44) %t45 = load ptr, ptr %t22 %t46 = call ptr @lp_str_concat(ptr @.str11645, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str11646) call void @fn_emit(ptr %t47) %t48 = load ptr, ptr %t22 %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11647) 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 @.str11648) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11649) 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 @.str11650, 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 @.str11651, 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 @.str11652) store ptr %t91, ptr %t92 %t93 = call ptr @fn_lbl(ptr @.str11653) store ptr %t93, ptr %t94 %t95 = call ptr @fn_lbl(ptr @.str11654) store ptr %t95, ptr %t96 %t97 = call ptr @fn_emit_bind(ptr @.str11655) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = call ptr @lp_str_concat(ptr @.str11656, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str11657) %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 @.str11658, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11659) %t107 = load ptr, ptr %t94 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str11660) %t110 = load ptr, ptr %t92 %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11661) call void @fn_emit(ptr %t112) %t113 = load ptr, ptr %t92 %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str11662) call void @fn_emit(ptr %t114) %t115 = load ptr, ptr %t98 %t116 = call ptr @lp_str_concat(ptr @.str11663, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str11664) %t118 = load ptr, ptr %t90 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str11665) %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 @.str11666, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str11667) %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 @.str11668, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str11669) %t131 = load ptr, ptr %t94 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str11670) %t134 = load ptr, ptr %t96 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str11671) call void @fn_emit(ptr %t136) %t137 = load ptr, ptr %t94 %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str11672) call void @fn_emit(ptr %t138) %t139 = call ptr @fn_emit_bind(ptr @.str11673) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str11674, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11675) %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 @.str11676, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str11677) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str11678) %t149 = load i32, ptr %t0 %t150 = call ptr @fn_itoa(i32 %t149) %t151 = call ptr @lp_str_concat(ptr @.str11679, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11680) call void @fn_emit(ptr %t152) %t153 = call ptr @fn_emit_bind(ptr @.str11681) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str11682, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str11683) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str11684) store ptr %t160, ptr %t161 %t162 = call ptr @fn_lbl(ptr @.str11685) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str11686) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t159 %t167 = call ptr @lp_str_concat(ptr @.str11687, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str11688) %t169 = load ptr, ptr %t163 %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str11689) %t172 = load ptr, ptr %t161 %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str11690) call void @fn_emit(ptr %t174) %t175 = load ptr, ptr %t161 %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str11691) call void @fn_emit(ptr %t176) %t177 = load ptr, ptr %t69 %t178 = call ptr @lp_str_concat(ptr @.str11692, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str11693) call void @fn_emit(ptr %t179) %t180 = load ptr, ptr %t165 %t181 = call ptr @lp_str_concat(ptr @.str11694, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str11695) call void @fn_emit(ptr %t182) %t183 = load ptr, ptr %t163 %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str11696) call void @fn_emit(ptr %t184) %t185 = call ptr @fn_emit_bind(ptr @.str11697) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = call ptr @lp_str_concat(ptr @.str11698, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str11699) %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 @.str11700, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str11701) call void @fn_emit(ptr %t194) %t195 = load ptr, ptr %t80 %t196 = call ptr @lp_str_concat(ptr @.str11702, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str11703) call void @fn_emit(ptr %t197) %t198 = load ptr, ptr %t165 %t199 = call ptr @lp_str_concat(ptr @.str11704, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11705) call void @fn_emit(ptr %t200) %t201 = load ptr, ptr %t165 %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str11706) call void @fn_emit(ptr %t202) %t203 = load ptr, ptr %t96 %t204 = call ptr @lp_str_concat(ptr @.str11707, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str11708) call void @fn_emit(ptr %t205) %t206 = load ptr, ptr %t96 %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str11709) 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 @.str11710) store ptr %t210, ptr %t211 %t212 = call ptr @fn_lbl(ptr @.str11711) store ptr %t212, ptr %t213 %t214 = call ptr @fn_emit_bind(ptr @.str11712) store ptr %t214, ptr %t215 %t216 = call ptr @fn_emit_bind(ptr @.str11713) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str11714, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11715) %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 @.str11716, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str11717) %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 @.str11718, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str11719) %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 @.str11720, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str11721) %t238 = load ptr, ptr %t211 %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str11722) %t241 = load ptr, ptr %t213 %t242 = call ptr @lp_str_concat(ptr %t240, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str11723) call void @fn_emit(ptr %t243) %t244 = load ptr, ptr %t211 %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str11724) call void @fn_emit(ptr %t245) %t246 = load ptr, ptr %t217 %t247 = call ptr @lp_str_concat(ptr @.str11725, ptr %t246) %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11726) call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str11727) %t249 = load ptr, ptr %t213 %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11728) call void @fn_emit(ptr %t250) %t251 = call ptr @fn_emit_bind(ptr @.str11729) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t215 %t254 = call ptr @lp_str_concat(ptr @.str11730, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str11731) %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 @.str11732, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str11733) %t263 = load ptr, ptr %t252 %t264 = call ptr @lp_str_concat(ptr %t262, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str11734) call void @fn_emit(ptr %t265) %t266 = load ptr, ptr %t252 %t267 = call ptr @lp_str_concat(ptr @.str11735, ptr %t266) %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str11736) %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 @.str11737, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str11738) %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 @.str11739, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11740) 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 @.str11741, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11742) %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 @.str11743) %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 @.str11744) 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 @.str11745) 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 @.str11746) call void @fn_emith(ptr @.str11747) 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 @.str11748) 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 @.str11749) 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 @.str11750) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str11751) 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 @.str11752) br label %ifend11 ifend11: call void @fn_emith(ptr @.str11753) %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 @.str11754) call void @fn_emith(ptr @.str11755) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) call void @fn_emith(ptr @.str11756) %t36 = load ptr, ptr %t14 %t37 = call ptr @lp_str_concat(ptr @.str11757, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str11758) 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 @.str11759) store ptr %t42, ptr %t43 %t44 = call ptr @fn_emit_str_const(ptr @.str11760) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str11761) store ptr %t46, ptr %t47 call void @fn_emith(ptr @.str11762) call void @fn_emith(ptr @.str11763) %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 @.str11764) br label %ifend14 ifend14: call void @fn_emith(ptr @.str11765) call void @fn_emit(ptr @.str11766) %t52 = load ptr, ptr %t43 %t53 = call ptr @lp_str_concat(ptr @.str11767, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11768) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11769) %t55 = load ptr, ptr %t45 %t56 = call ptr @lp_str_concat(ptr @.str11770, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str11771) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 %t59 = call ptr @lp_str_concat(ptr @.str11772, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11773) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str11774) call void @fn_emit(ptr @.str11775) call void @fn_emit(ptr @.str11776) %t61 = load ptr, ptr %t41 %t62 = call ptr @lp_str_concat(ptr @.str11777, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11778) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str11779) call void @fn_emit(ptr @.str11780) call void @fn_emit(ptr @.str11781) %t64 = load ptr, ptr %t14 %t65 = call ptr @lp_str_concat(ptr @.str11782, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11783) call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11784) call void @fn_emit(ptr @.str11785) call void @fn_emit(ptr @.str11786) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11787) call void @fn_emit(ptr @.str11788) call void @fn_emit(ptr @.str11789) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11790) call void @fn_emit(ptr @.str11791) call void @fn_emit(ptr @.str11792) call void @fn_emit(ptr @.str11793) call void @fn_emit(ptr @.str11794) call void @fn_emit(ptr @.str11795) call void @fn_emit(ptr @.str11796) call void @fn_emit(ptr @.str11797) call void @fn_emit(ptr @.str11798) call void @fn_emit(ptr @.str11799) call void @fn_emit(ptr @.str11800) call void @fn_emit(ptr @.str11801) call void @fn_emith(ptr @.str11802) 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 @.str11803) 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 @.str11804) %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 @.str11805) 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 @.str11806, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11807) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11808) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr @.str11809, 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 @.str11810, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11811) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str11812, 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 @.str11813) 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 @.str11814, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str11815) 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 @.str11816, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11817) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str11818, 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 @.str11819) %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 @.str11820) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str11821, 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 @.str11822, ptr @g_g_parse_file store ptr @.str11823, ptr @g_g_err_file store ptr @.str11824, 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 @.str11825, 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 %t370 = alloca ptr %t378 = alloca ptr %t390 = alloca ptr %t393 = alloca ptr %t396 = alloca ptr %t414 = alloca ptr %t417 = alloca ptr %t430 = alloca ptr %t433 = alloca ptr %t445 = alloca i32 %t456 = alloca i32 %t481 = alloca ptr %t489 = alloca i32 %t510 = 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 @.str11826) %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 @.str11827) %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 @.str11828) %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 @.str11829) %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 @.str11830) %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 @.str11831) %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 @.str11832) %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 @.str11833) %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 @.str11834) %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 @.str11835) %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 @.str11836) %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 @.str11837) %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 @.str11838) %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 @.str11839, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11840) 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 @.str11841) 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 @.str11842) 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 @.str11843) 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 @.str11844, ptr @.str11845) %t219 = call ptr @fn_fwd_slashes(ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11846) %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 @.str11847, 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 @.str11848) 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 @.str11849) 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 @.str11850) 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 @.str11851) 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 @.str11852) %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 @.str11853) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t278 %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str11854) %t288 = load ptr, ptr %t285 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str11855) 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 @.str11856) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t278 %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str11857) %t298 = load ptr, ptr %t295 %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str11858) 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 @.str11859) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t278 %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str11860) %t308 = load ptr, ptr %t305 %t309 = call ptr @lp_str_concat(ptr %t307, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str11861) 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 @.str11862) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t278 %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str11863) %t318 = load ptr, ptr %t315 %t319 = call ptr @lp_str_concat(ptr %t317, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str11864) 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 @.str11865) %t327 = load ptr, ptr %t273 %t328 = call ptr @fn_join_path(ptr %t327, ptr @.str11866) %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 @.str11867) %t332 = load ptr, ptr %t273 %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11868) %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 @.str11869) %t341 = load ptr, ptr %t273 %t342 = call ptr @fn_join_path(ptr %t341, ptr @.str11870) %t343 = call ptr @lp_str_concat(ptr %t340, ptr %t342) %t344 = call ptr @lp_str_concat(ptr %t343, ptr @.str11871) store ptr %t344, ptr %t278 br label %ifend133 else132: %t345 = load ptr, ptr %t278 %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str11872) %t347 = load ptr, ptr %t273 %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11873) %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_process %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 %t278 %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str11874) %t356 = load ptr, ptr %t273 %t357 = call ptr @fn_join_path(ptr %t356, ptr @.str11875) %t358 = call ptr @lp_str_concat(ptr %t355, ptr %t357) store ptr %t358, ptr %t278 br label %ifend139 else138: %t359 = load ptr, ptr %t278 %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str11876) %t361 = load ptr, ptr %t273 %t362 = call ptr @fn_join_path(ptr %t361, ptr @.str11877) %t363 = call ptr @lp_str_concat(ptr %t360, ptr %t362) store ptr %t363, ptr %t278 br label %ifend139 ifend139: br label %ifend136 ifend136: %t364 = load i32, ptr @g_g_uses_http %t365 = icmp ne i32 %t364, 0 br i1 %t365, label %then140, label %ifend142 then140: %t366 = load i32, ptr @g_g_target_win %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then143, label %else144 then143: %t368 = load ptr, ptr %t273 %t369 = call ptr @fn_join_path(ptr %t368, ptr @.str11878) store ptr %t369, ptr %t370 %t371 = load ptr, ptr %t278 %t372 = call ptr @lp_str_concat(ptr %t371, ptr @.str11879) %t373 = load ptr, ptr %t370 %t374 = call ptr @lp_str_concat(ptr %t372, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str11880) store ptr %t375, ptr %t278 br label %ifend145 else144: %t376 = load ptr, ptr %t273 %t377 = call ptr @fn_join_path(ptr %t376, ptr @.str11881) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t278 %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str11882) %t381 = load ptr, ptr %t378 %t382 = call ptr @lp_str_concat(ptr %t380, ptr %t381) %t383 = call ptr @lp_str_concat(ptr %t382, ptr @.str11883) store ptr %t383, ptr %t278 br label %ifend145 ifend145: br label %ifend142 ifend142: %t384 = load i32, ptr @g_g_uses_gl %t385 = icmp ne i32 %t384, 0 br i1 %t385, label %then146, label %ifend148 then146: %t386 = load i32, ptr @g_g_target_win %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then149, label %else150 then149: %t388 = load ptr, ptr %t273 %t389 = call ptr @fn_join_path(ptr %t388, ptr @.str11884) store ptr %t389, ptr %t390 %t391 = load ptr, ptr %t273 %t392 = call ptr @fn_join_path(ptr %t391, ptr @.str11885) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t273 %t395 = call ptr @fn_join_path(ptr %t394, ptr @.str11886) store ptr %t395, ptr %t396 %t397 = load i32, ptr @g_g_windowed %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then152, label %ifend154 then152: %t399 = load ptr, ptr %t273 %t400 = call ptr @fn_join_path(ptr %t399, ptr @.str11887) store ptr %t400, ptr %t396 br label %ifend154 ifend154: %t401 = load ptr, ptr %t278 %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str11888) %t403 = load ptr, ptr %t390 %t404 = call ptr @lp_str_concat(ptr %t402, ptr %t403) %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str11889) %t406 = load ptr, ptr %t393 %t407 = call ptr @lp_str_concat(ptr %t405, ptr %t406) %t408 = call ptr @lp_str_concat(ptr %t407, ptr @.str11890) %t409 = load ptr, ptr %t396 %t410 = call ptr @lp_str_concat(ptr %t408, ptr %t409) %t411 = call ptr @lp_str_concat(ptr %t410, ptr @.str11891) store ptr %t411, ptr %t278 br label %ifend151 else150: %t412 = load ptr, ptr %t273 %t413 = call ptr @fn_join_path(ptr %t412, ptr @.str11892) store ptr %t413, ptr %t414 %t415 = load ptr, ptr %t273 %t416 = call ptr @fn_join_path(ptr %t415, ptr @.str11893) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t278 %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str11894) %t420 = load ptr, ptr %t414 %t421 = call ptr @lp_str_concat(ptr %t419, ptr %t420) %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str11895) %t423 = load ptr, ptr %t417 %t424 = call ptr @lp_str_concat(ptr %t422, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str11896) store ptr %t425, ptr %t278 br label %ifend151 ifend151: br label %ifend148 ifend148: %t426 = load i32, ptr @g_g_uses_vk %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then155, label %ifend157 then155: %t428 = load ptr, ptr %t273 %t429 = call ptr @fn_join_path(ptr %t428, ptr @.str11897) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t273 %t432 = call ptr @fn_join_path(ptr %t431, ptr @.str11898) store ptr %t432, ptr %t433 %t434 = load i32, ptr @g_g_target_win %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %then158, label %ifend160 then158: %t436 = load ptr, ptr %t273 %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str11899) store ptr %t437, ptr %t433 br label %ifend160 ifend160: %t438 = load ptr, ptr %t278 %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str11900) %t440 = load ptr, ptr %t430 %t441 = call ptr @lp_str_concat(ptr %t439, ptr %t440) %t442 = call ptr @lp_str_concat(ptr %t441, ptr @.str11901) %t443 = load ptr, ptr %t433 %t444 = call ptr @lp_str_concat(ptr %t442, ptr %t443) store ptr %t444, ptr %t278 br label %ifend157 ifend157: %t446 = load i32, ptr @g_g_target_win %t447 = icmp ne i32 %t446, 0 %t448 = zext i1 %t447 to i32 store i32 %t448, ptr %t445 br i1 %t447, label %sc161, label %scend162 sc161: %t449 = load i32, ptr %t8 %t450 = icmp ne i32 %t449, 0 %t451 = zext i1 %t450 to i32 store i32 %t451, ptr %t445 br label %scend162 scend162: %t452 = load i32, ptr %t445 %t453 = icmp ne i32 %t452, 0 br i1 %t453, label %then163, label %ifend165 then163: %t454 = load ptr, ptr %t278 %t455 = call ptr @lp_str_concat(ptr %t454, ptr @.str11902) store ptr %t455, ptr %t278 br label %ifend165 ifend165: store i32 0, ptr %t456 br label %wcond166 wcond166: %t457 = load i32, ptr %t456 %t458 = load ptr, ptr %t15 %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t460 = load i32, ptr %t459 %t461 = icmp slt i32 %t457, %t460 %t462 = zext i1 %t461 to i32 %t463 = icmp ne i32 %t462, 0 br i1 %t463, label %wbody167, label %wend168 wbody167: %t464 = load ptr, ptr %t278 %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str11903) %t466 = load ptr, ptr %t15 %t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0 %t468 = load ptr, ptr %t467 %t469 = load i32, ptr %t456 %t470 = getelementptr inbounds ptr, ptr %t468, i32 %t469 %t471 = load ptr, ptr %t470 %t472 = call ptr @lp_str_concat(ptr %t465, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str11904) store ptr %t473, ptr %t278 %t474 = load i32, ptr %t456 %t475 = add i32 %t474, 1 store i32 %t475, ptr %t456 br label %wcond166 wend168: %t476 = load ptr, ptr %t278 %t477 = call ptr @lp_str_concat(ptr %t476, ptr @.str11905) %t478 = load ptr, ptr %t1 %t479 = call ptr @lp_str_concat(ptr %t477, ptr %t478) store ptr %t479, ptr %t278 %t480 = load ptr, ptr %t278 store ptr %t480, ptr %t481 %t482 = call i32 @fn_host_is_windows() %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then169, label %ifend171 then169: %t484 = load ptr, ptr %t278 %t485 = call ptr @lp_str_concat(ptr @.str11906, ptr %t484) %t486 = call ptr @lp_str_concat(ptr %t485, ptr @.str11907) store ptr %t486, ptr %t481 br label %ifend171 ifend171: %t487 = load ptr, ptr %t481 %t488 = call i32 @system(ptr %t487) store i32 %t488, ptr %t489 %t490 = load i32, ptr %t5 %t491 = icmp eq i32 %t490, 0 %t492 = zext i1 %t491 to i32 %t493 = icmp ne i32 %t492, 0 br i1 %t493, label %then172, label %ifend174 then172: %t494 = load ptr, ptr %t264 call void @fn_remove_file(ptr %t494) br label %ifend174 ifend174: %t495 = load i32, ptr %t489 %t496 = icmp ne i32 %t495, 0 %t497 = zext i1 %t496 to i32 %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %then175, label %ifend177 then175: call void @fn_die(ptr @.str11908) br label %ifend177 ifend177: %t499 = load i32, ptr %t6 %t500 = icmp ne i32 %t499, 0 br i1 %t500, label %then178, label %ifend180 then178: %t501 = call i32 @fn_host_is_windows() %t502 = icmp ne i32 %t501, 0 br i1 %t502, label %then181, label %ifend183 then181: %t503 = load ptr, ptr %t1 %t504 = call ptr @fn_win_path(ptr %t503) %t505 = call ptr @lp_str_concat(ptr @.str11909, ptr %t504) %t506 = call ptr @lp_str_concat(ptr %t505, ptr @.str11910) %t507 = call i32 @system(ptr %t506) call void @exit(i32 %t507) unreachable ifend183: %t508 = load ptr, ptr %t1 %t509 = call i32 @system(ptr %t508) store i32 %t509, ptr %t510 %t511 = load i32, ptr %t510 %t512 = lshr i32 %t511, 8 %t513 = and i32 %t512, 255 call void @exit(i32 %t513) unreachable ifend180: br label %ret ret: %t514 = load i32, ptr %retval ret i32 %t514 }